diff options
author | Andi Kleen <ak@suse.de> | 2008-01-30 07:33:17 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:17 -0500 |
commit | 751752789162fde69474edfa15935d0a77c0bc17 (patch) | |
tree | 43eef77784989bc25979da1cc128e31fc46b3cea /arch/x86/mm/numa_64.c | |
parent | edcd81199dbad5db11ae91b507cec1d46dd94a49 (diff) |
x86: replace hard coded reservations in 64-bit early boot code with dynamic table
On x86-64 there are several memory allocations before bootmem. To avoid
them stomping on each other they used to be all hard coded in bad_area().
Replace this with an array that is filled as needed.
This cleans up the code considerably and allows to expand its use.
Cc: peterz@infradead.org
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/mm/numa_64.c')
-rw-r--r-- | arch/x86/mm/numa_64.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c index 37d429beba96..5d24dc1ec237 100644 --- a/arch/x86/mm/numa_64.c +++ b/arch/x86/mm/numa_64.c | |||
@@ -102,6 +102,7 @@ static int __init allocate_cachealigned_memnodemap(void) | |||
102 | } | 102 | } |
103 | pad_addr = (nodemap_addr + pad) & ~pad; | 103 | pad_addr = (nodemap_addr + pad) & ~pad; |
104 | memnodemap = phys_to_virt(pad_addr); | 104 | memnodemap = phys_to_virt(pad_addr); |
105 | reserve_early(nodemap_addr, nodemap_addr + nodemap_size); | ||
105 | 106 | ||
106 | printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n", | 107 | printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n", |
107 | nodemap_addr, nodemap_addr + nodemap_size); | 108 | nodemap_addr, nodemap_addr + nodemap_size); |