diff options
author | Paul Jackson <pj@sgi.com> | 2008-05-14 11:15:40 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-25 04:55:11 -0400 |
commit | 028b785888c523baccdf27af0cdbf1deb92edec0 (patch) | |
tree | 7a5ae30398b16fe3b7d7fcb13eb46776917e43b1 /arch/x86 | |
parent | c3965bd15118742d72b4bc1a290d37b3f081eb98 (diff) |
x86 boot: extend some internal memory map arrays to handle larger EFI input
Extend internal boot time memory tables to allow for up to
three entries per node, which may be larger than the 128 E820MAX
entries handled by the legacy BIOS E820 interface. The EFI
interface, if present, is capable of passing memory map
entries for these larger node counts.
This patch requires an earlier patch that rewrote code depending
on these array sizes from using E820MAX explicitly to size loops,
to instead using ARRAY_SIZE() of the applicable array.
Another patch following this one will provide the code to pick
up additional memory entries passed via the EFI interface from
the BIOS and insert them in the following, now enlarged, arrays.
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/e820.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index 2396b9da8027..3f7777b255aa 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c | |||
@@ -149,10 +149,10 @@ int __init sanitize_e820_map(struct e820entry *biosmap, int max_nr_map, | |||
149 | struct e820entry *pbios; /* pointer to original bios entry */ | 149 | struct e820entry *pbios; /* pointer to original bios entry */ |
150 | unsigned long long addr; /* address for this change point */ | 150 | unsigned long long addr; /* address for this change point */ |
151 | }; | 151 | }; |
152 | static struct change_member change_point_list[2*E820MAX] __initdata; | 152 | static struct change_member change_point_list[2*E820_X_MAX] __initdata; |
153 | static struct change_member *change_point[2*E820MAX] __initdata; | 153 | static struct change_member *change_point[2*E820_X_MAX] __initdata; |
154 | static struct e820entry *overlap_list[E820MAX] __initdata; | 154 | static struct e820entry *overlap_list[E820_X_MAX] __initdata; |
155 | static struct e820entry new_bios[E820MAX] __initdata; | 155 | static struct e820entry new_bios[E820_X_MAX] __initdata; |
156 | struct change_member *change_tmp; | 156 | struct change_member *change_tmp; |
157 | unsigned long current_type, last_type; | 157 | unsigned long current_type, last_type; |
158 | unsigned long long last_addr; | 158 | unsigned long long last_addr; |