aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--arch/x86/mm/numa_64.c12
2 files changed, 7 insertions, 6 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2114b4c71fa0..81af31e5a9f1 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -848,6 +848,7 @@ config NUMA_EMU
848 848
849config NODES_SHIFT 849config NODES_SHIFT
850 int 850 int
851 range 1 15 if X86_64
851 default "6" if X86_64 852 default "6" if X86_64
852 default "4" if X86_NUMAQ 853 default "4" if X86_NUMAQ
853 default "3" 854 default "3"
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c
index 441af4edea59..0ca96d86cb71 100644
--- a/arch/x86/mm/numa_64.c
+++ b/arch/x86/mm/numa_64.c
@@ -31,15 +31,15 @@ bootmem_data_t plat_node_bdata[MAX_NUMNODES];
31 31
32struct memnode memnode; 32struct memnode memnode;
33 33
34u16 x86_cpu_to_node_map_init[NR_CPUS] = { 34int x86_cpu_to_node_map_init[NR_CPUS] = {
35 [0 ... NR_CPUS-1] = NUMA_NO_NODE 35 [0 ... NR_CPUS-1] = NUMA_NO_NODE
36}; 36};
37void *x86_cpu_to_node_map_early_ptr; 37void *x86_cpu_to_node_map_early_ptr;
38DEFINE_PER_CPU(u16, x86_cpu_to_node_map) = NUMA_NO_NODE; 38DEFINE_PER_CPU(int, x86_cpu_to_node_map) = NUMA_NO_NODE;
39EXPORT_PER_CPU_SYMBOL(x86_cpu_to_node_map); 39EXPORT_PER_CPU_SYMBOL(x86_cpu_to_node_map);
40EXPORT_SYMBOL(x86_cpu_to_node_map_early_ptr); 40EXPORT_SYMBOL(x86_cpu_to_node_map_early_ptr);
41 41
42u16 apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = { 42s16 apicid_to_node[MAX_LOCAL_APIC] __cpuinitdata = {
43 [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE 43 [0 ... MAX_LOCAL_APIC-1] = NUMA_NO_NODE
44}; 44};
45 45
@@ -63,7 +63,7 @@ static int __init populate_memnodemap(const struct bootnode *nodes,
63 unsigned long addr, end; 63 unsigned long addr, end;
64 int i, res = -1; 64 int i, res = -1;
65 65
66 memset(memnodemap, 0xff, memnodemapsize); 66 memset(memnodemap, 0xff, sizeof(s16)*memnodemapsize);
67 for (i = 0; i < numnodes; i++) { 67 for (i = 0; i < numnodes; i++) {
68 addr = nodes[i].start; 68 addr = nodes[i].start;
69 end = nodes[i].end; 69 end = nodes[i].end;
@@ -72,7 +72,7 @@ static int __init populate_memnodemap(const struct bootnode *nodes,
72 if ((end >> shift) >= memnodemapsize) 72 if ((end >> shift) >= memnodemapsize)
73 return 0; 73 return 0;
74 do { 74 do {
75 if (memnodemap[addr >> shift] != 0xff) 75 if (memnodemap[addr >> shift] != NUMA_NO_NODE)
76 return -1; 76 return -1;
77 memnodemap[addr >> shift] = i; 77 memnodemap[addr >> shift] = i;
78 addr += (1UL << shift); 78 addr += (1UL << shift);
@@ -533,7 +533,7 @@ __cpuinit void numa_add_cpu(int cpu)
533 533
534void __cpuinit numa_set_node(int cpu, int node) 534void __cpuinit numa_set_node(int cpu, int node)
535{ 535{
536 u16 *cpu_to_node_map = x86_cpu_to_node_map_early_ptr; 536 int *cpu_to_node_map = x86_cpu_to_node_map_early_ptr;
537 537
538 cpu_pda(cpu)->nodenumber = node; 538 cpu_pda(cpu)->nodenumber = node;
539 539