diff options
Diffstat (limited to 'arch/x86_64/kernel')
-rw-r--r-- | arch/x86_64/kernel/e820.c | 7 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c index 6fe191c58084..9d67955bbc31 100644 --- a/arch/x86_64/kernel/e820.c +++ b/arch/x86_64/kernel/e820.c | |||
@@ -83,6 +83,13 @@ static inline int bad_addr(unsigned long *addrp, unsigned long size) | |||
83 | return 1; | 83 | return 1; |
84 | } | 84 | } |
85 | 85 | ||
86 | #ifdef CONFIG_NUMA | ||
87 | /* NUMA memory to node map */ | ||
88 | if (last >= nodemap_addr && addr < nodemap_addr + nodemap_size) { | ||
89 | *addrp = nodemap_addr + nodemap_size; | ||
90 | return 1; | ||
91 | } | ||
92 | #endif | ||
86 | /* XXX ramdisk image here? */ | 93 | /* XXX ramdisk image here? */ |
87 | return 0; | 94 | return 0; |
88 | } | 95 | } |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index 60477244d1a3..f330f8285499 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -444,6 +444,11 @@ void __init setup_arch(char **cmdline_p) | |||
444 | /* reserve ebda region */ | 444 | /* reserve ebda region */ |
445 | if (ebda_addr) | 445 | if (ebda_addr) |
446 | reserve_bootmem_generic(ebda_addr, ebda_size); | 446 | reserve_bootmem_generic(ebda_addr, ebda_size); |
447 | #ifdef CONFIG_NUMA | ||
448 | /* reserve nodemap region */ | ||
449 | if (nodemap_addr) | ||
450 | reserve_bootmem_generic(nodemap_addr, nodemap_size); | ||
451 | #endif | ||
447 | 452 | ||
448 | #ifdef CONFIG_SMP | 453 | #ifdef CONFIG_SMP |
449 | /* | 454 | /* |