aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/numa.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-02-25 21:00:54 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-02-25 21:00:54 +0000
commit696713c28205dfe51b6283b32d913d622fd591bb (patch)
tree2a7577d5b66ede613c73b2944d353a6b83bc1d1a /xen/arch/x86/numa.c
parent515a6e93aa21be184141ed4c3a8e4f2352ecc7d2 (diff)
downloadxen-696713c28205dfe51b6283b32d913d622fd591bb.tar.gz
xen-696713c28205dfe51b6283b32d913d622fd591bb.tar.bz2
xen-696713c28205dfe51b6283b32d913d622fd591bb.zip
x86 numa: Fix i386 to not do bogus mfn_to_virt(alloc_boot_pages(...))
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/numa.c')
-rw-r--r--xen/arch/x86/numa.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 1261c4f292..75d4be1d20 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -30,7 +30,7 @@ struct node_data node_data[MAX_NUMNODES];
/* Mapping from pdx to node id */
int memnode_shift;
-static typeof(*memnodemap) _memnodemap[2];
+static typeof(*memnodemap) _memnodemap[64];
unsigned long memnodemapsize;
u8 *memnodemap;
@@ -90,6 +90,7 @@ static int __init populate_memnodemap(const struct node *nodes,
static int __init allocate_cachealigned_memnodemap(void)
{
+#ifndef __i386__
unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
unsigned long mfn = alloc_boot_pages(size, 1);
@@ -108,6 +109,13 @@ static int __init allocate_cachealigned_memnodemap(void)
memnodemapsize = size / sizeof(*memnodemap);
return 0;
+#else
+ printk(KERN_ERR
+ "Memory to Node hash needs %lu entries, got only %zu\n",
+ memnodemapsize, ARRAY_SIZE(_memnodemap));
+ memnodemapsize = 0;
+ return -1;
+#endif
}
/*