aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/mm
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-05-02 08:18:53 -0400
committerTejun Heo <tj@kernel.org>2011-05-02 08:18:53 -0400
commit744baba0c4072b04664952a89292e4708eaf949a (patch)
tree827b504d2b842259624bdae5be7064b4156c9967 /arch/x86/mm
parenta4106eae650a4d5d30fcdd36d998edfa5ccb0ec4 (diff)
x86, NUMA: Enable build of generic NUMA init code on 32bit
Generic NUMA init code was moved to numa.c from numa_64.c but is still guaraded by CONFIG_X86_64. This patch removes the compile guard and enables compiling on 32bit. * numa_add_memblk() and numa_set_distance() clash with the shim implementation in numa_32.c and are left out. * memory_add_physaddr_to_nid() clashes with 32bit implementation and is left out. * MAX_DMA_PFN definition in dma.h moved out of !CONFIG_X86_32. * node_data definition in numa_32.c removed in favor of the one in numa.c. There are places where ulong is assumed to be 64bit. The next patch will fix them up. Note that although the code is compiled it isn't used yet and this patch doesn't cause any functional change. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r--arch/x86/mm/numa.c10
-rw-r--r--arch/x86/mm/numa_32.c3
2 files changed, 4 insertions, 9 deletions
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index ed1daba54906..c400f3b2b93e 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -23,7 +23,6 @@
23int __initdata numa_off; 23int __initdata numa_off;
24nodemask_t numa_nodes_parsed __initdata; 24nodemask_t numa_nodes_parsed __initdata;
25 25
26#ifdef CONFIG_X86_64
27struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; 26struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
28EXPORT_SYMBOL(node_data); 27EXPORT_SYMBOL(node_data);
29 28
@@ -35,7 +34,6 @@ __initdata
35 34
36static int numa_distance_cnt; 35static int numa_distance_cnt;
37static u8 *numa_distance; 36static u8 *numa_distance;
38#endif
39 37
40static __init int numa_setup(char *opt) 38static __init int numa_setup(char *opt)
41{ 39{
@@ -134,7 +132,6 @@ void __init setup_node_to_cpumask_map(void)
134 pr_debug("Node to cpumask map for %d nodes\n", nr_node_ids); 132 pr_debug("Node to cpumask map for %d nodes\n", nr_node_ids);
135} 133}
136 134
137#ifdef CONFIG_X86_64
138static int __init numa_add_memblk_to(int nid, u64 start, u64 end, 135static int __init numa_add_memblk_to(int nid, u64 start, u64 end,
139 struct numa_meminfo *mi) 136 struct numa_meminfo *mi)
140{ 137{
@@ -176,6 +173,7 @@ void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi)
176 (mi->nr_blks - idx) * sizeof(mi->blk[0])); 173 (mi->nr_blks - idx) * sizeof(mi->blk[0]));
177} 174}
178 175
176#ifdef CONFIG_X86_64
179/** 177/**
180 * numa_add_memblk - Add one numa_memblk to numa_meminfo 178 * numa_add_memblk - Add one numa_memblk to numa_meminfo
181 * @nid: NUMA node ID of the new memblk 179 * @nid: NUMA node ID of the new memblk
@@ -191,6 +189,7 @@ int __init numa_add_memblk(int nid, u64 start, u64 end)
191{ 189{
192 return numa_add_memblk_to(nid, start, end, &numa_meminfo); 190 return numa_add_memblk_to(nid, start, end, &numa_meminfo);
193} 191}
192#endif
194 193
195/* Initialize bootmem allocator for a node */ 194/* Initialize bootmem allocator for a node */
196static void __init 195static void __init
@@ -402,6 +401,7 @@ static int __init numa_alloc_distance(void)
402 return 0; 401 return 0;
403} 402}
404 403
404#ifdef CONFIG_X86_64
405/** 405/**
406 * numa_set_distance - Set NUMA distance from one NUMA to another 406 * numa_set_distance - Set NUMA distance from one NUMA to another
407 * @from: the 'from' node to set distance 407 * @from: the 'from' node to set distance
@@ -440,6 +440,7 @@ void __init numa_set_distance(int from, int to, int distance)
440 440
441 numa_distance[from * numa_distance_cnt + to] = distance; 441 numa_distance[from * numa_distance_cnt + to] = distance;
442} 442}
443#endif
443 444
444int __node_distance(int from, int to) 445int __node_distance(int from, int to)
445{ 446{
@@ -518,7 +519,6 @@ static int __init numa_register_memblks(struct numa_meminfo *mi)
518 519
519 return 0; 520 return 0;
520} 521}
521#endif
522 522
523/* 523/*
524 * There are unfortunately some poorly designed mainboards around that 524 * There are unfortunately some poorly designed mainboards around that
@@ -542,7 +542,6 @@ void __init numa_init_array(void)
542 } 542 }
543} 543}
544 544
545#ifdef CONFIG_X86_64
546static int __init numa_init(int (*init_func)(void)) 545static int __init numa_init(int (*init_func)(void))
547{ 546{
548 int i; 547 int i;
@@ -627,7 +626,6 @@ void __init x86_numa_init(void)
627 626
628 numa_init(dummy_numa_init); 627 numa_init(dummy_numa_init);
629} 628}
630#endif
631 629
632static __init int find_near_online_node(int node) 630static __init int find_near_online_node(int node)
633{ 631{
diff --git a/arch/x86/mm/numa_32.c b/arch/x86/mm/numa_32.c
index 14135e52cef5..975a76f622ba 100644
--- a/arch/x86/mm/numa_32.c
+++ b/arch/x86/mm/numa_32.c
@@ -41,9 +41,6 @@
41#include <asm/bios_ebda.h> 41#include <asm/bios_ebda.h>
42#include <asm/proto.h> 42#include <asm/proto.h>
43 43
44struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
45EXPORT_SYMBOL(node_data);
46
47/* 44/*
48 * numa interface - we expect the numa architecture specific code to have 45 * numa interface - we expect the numa architecture specific code to have
49 * populated the following initialisation. 46 * populated the following initialisation.