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 /include/asm-x86 | |
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 'include/asm-x86')
-rw-r--r-- | include/asm-x86/e820_64.h | 4 | ||||
-rw-r--r-- | include/asm-x86/proto.h | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/include/asm-x86/e820_64.h b/include/asm-x86/e820_64.h index ff36f434f00b..51e4170f9ca5 100644 --- a/include/asm-x86/e820_64.h +++ b/include/asm-x86/e820_64.h | |||
@@ -41,8 +41,8 @@ extern void finish_e820_parsing(void); | |||
41 | extern struct e820map e820; | 41 | extern struct e820map e820; |
42 | extern void update_e820(void); | 42 | extern void update_e820(void); |
43 | 43 | ||
44 | extern unsigned ebda_addr, ebda_size; | 44 | extern void reserve_early(unsigned long start, unsigned long end); |
45 | extern unsigned long nodemap_addr, nodemap_size; | 45 | extern void early_res_to_bootmem(void); |
46 | 46 | ||
47 | #endif/*!__ASSEMBLY__*/ | 47 | #endif/*!__ASSEMBLY__*/ |
48 | 48 | ||
diff --git a/include/asm-x86/proto.h b/include/asm-x86/proto.h index 3c6fb89f1120..68563c0709ac 100644 --- a/include/asm-x86/proto.h +++ b/include/asm-x86/proto.h | |||
@@ -22,8 +22,6 @@ extern void syscall32_cpu_init(void); | |||
22 | 22 | ||
23 | extern void check_efer(void); | 23 | extern void check_efer(void); |
24 | 24 | ||
25 | extern unsigned long table_start, table_end; | ||
26 | |||
27 | extern int reboot_force; | 25 | extern int reboot_force; |
28 | 26 | ||
29 | long do_arch_prctl(struct task_struct *task, int code, unsigned long addr); | 27 | long do_arch_prctl(struct task_struct *task, int code, unsigned long addr); |