mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Unify "numa=" command line option handling Revert "x86: Make relocatable kernel work with new binutils"
This commit is contained in:
commit
12fcdba1b7
@ -1,6 +1,8 @@
|
||||
#ifndef _ASM_X86_NUMA_32_H
|
||||
#define _ASM_X86_NUMA_32_H
|
||||
|
||||
extern int numa_off;
|
||||
|
||||
extern int pxm_to_nid(int pxm);
|
||||
extern void numa_remove_cpu(int cpu);
|
||||
|
||||
|
@ -40,6 +40,7 @@ extern void __cpuinit numa_remove_cpu(int cpu);
|
||||
#ifdef CONFIG_NUMA_EMU
|
||||
#define FAKE_NODE_MIN_SIZE ((u64)32 << 20)
|
||||
#define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1UL))
|
||||
void numa_emu_cmdline(char *);
|
||||
#endif /* CONFIG_NUMA_EMU */
|
||||
#else
|
||||
static inline void init_cpu_to_node(void) { }
|
||||
|
@ -34,9 +34,11 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
|
||||
#ifdef CONFIG_X86_32
|
||||
OUTPUT_ARCH(i386)
|
||||
ENTRY(phys_startup_32)
|
||||
jiffies = jiffies_64;
|
||||
#else
|
||||
OUTPUT_ARCH(i386:x86-64)
|
||||
ENTRY(phys_startup_64)
|
||||
jiffies_64 = jiffies;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
|
||||
@ -140,15 +142,6 @@ SECTIONS
|
||||
CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
|
||||
|
||||
DATA_DATA
|
||||
/*
|
||||
* Workaround a binutils (2.20.51.0.12 to 2.21.51.0.3) bug.
|
||||
* This makes jiffies relocatable in such binutils
|
||||
*/
|
||||
#ifdef CONFIG_X86_32
|
||||
jiffies = jiffies_64;
|
||||
#else
|
||||
jiffies_64 = jiffies;
|
||||
#endif
|
||||
CONSTRUCTORS
|
||||
|
||||
/* rarely changed data like cpu maps */
|
||||
|
@ -2,6 +2,28 @@
|
||||
#include <linux/topology.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <asm/numa.h>
|
||||
#include <asm/acpi.h>
|
||||
|
||||
int __initdata numa_off;
|
||||
|
||||
static __init int numa_setup(char *opt)
|
||||
{
|
||||
if (!opt)
|
||||
return -EINVAL;
|
||||
if (!strncmp(opt, "off", 3))
|
||||
numa_off = 1;
|
||||
#ifdef CONFIG_NUMA_EMU
|
||||
if (!strncmp(opt, "fake=", 5))
|
||||
numa_emu_cmdline(opt + 5);
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI_NUMA
|
||||
if (!strncmp(opt, "noacpi", 6))
|
||||
acpi_numa = -1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
early_param("numa", numa_setup);
|
||||
|
||||
/*
|
||||
* Which logical CPUs are on which nodes
|
||||
|
@ -30,7 +30,6 @@ s16 apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = {
|
||||
[0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE
|
||||
};
|
||||
|
||||
int numa_off __initdata;
|
||||
static unsigned long __initdata nodemap_addr;
|
||||
static unsigned long __initdata nodemap_size;
|
||||
|
||||
@ -263,6 +262,11 @@ static struct bootnode nodes[MAX_NUMNODES] __initdata;
|
||||
static struct bootnode physnodes[MAX_NUMNODES] __cpuinitdata;
|
||||
static char *cmdline __initdata;
|
||||
|
||||
void __init numa_emu_cmdline(char *str)
|
||||
{
|
||||
cmdline = str;
|
||||
}
|
||||
|
||||
static int __init setup_physnodes(unsigned long start, unsigned long end,
|
||||
int acpi, int amd)
|
||||
{
|
||||
@ -670,24 +674,6 @@ unsigned long __init numa_free_all_bootmem(void)
|
||||
return pages;
|
||||
}
|
||||
|
||||
static __init int numa_setup(char *opt)
|
||||
{
|
||||
if (!opt)
|
||||
return -EINVAL;
|
||||
if (!strncmp(opt, "off", 3))
|
||||
numa_off = 1;
|
||||
#ifdef CONFIG_NUMA_EMU
|
||||
if (!strncmp(opt, "fake=", 5))
|
||||
cmdline = opt + 5;
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI_NUMA
|
||||
if (!strncmp(opt, "noacpi", 6))
|
||||
acpi_numa = -1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
early_param("numa", numa_setup);
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
|
||||
static __init int find_near_online_node(int node)
|
||||
|
@ -59,7 +59,6 @@ static struct node_memory_chunk_s __initdata node_memory_chunk[MAXCHUNKS];
|
||||
static int __initdata num_memory_chunks; /* total number of memory chunks */
|
||||
static u8 __initdata apicid_to_pxm[MAX_APICID];
|
||||
|
||||
int numa_off __initdata;
|
||||
int acpi_numa __initdata;
|
||||
|
||||
static __init void bad_srat(void)
|
||||
|
Loading…
Reference in New Issue
Block a user