x86 boot: add code to add BIOS provided EFI memory entries to kernel
authorPaul Jackson <pj@sgi.com>
Wed, 14 May 2008 15:15:58 +0000 (08:15 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 25 May 2008 08:55:11 +0000 (10:55 +0200)
commit69c9189320c46b14e5ae3ad4b3a0d35cc63cba20
tree53d684824712592abc100617f0a373e0c952b516
parent5b7eb2e9ef4e467a1248537b47a63bab265be3cc
x86 boot: add code to add BIOS provided EFI memory entries to kernel

Add to the kernels boot memory map 'memmap' entries found in
the EFI memory descriptors passed in from the BIOS.

On EFI systems, up to E820MAX == 128 memory map entries can
be passed via the legacy E820 interface (limited by the size
of the 'zeropage').  These entries can be duplicated in the
EFI descriptors also passed from the BIOS, and possibly more
entries passed by the EFI interface, which does not have the
E820MAX limit on number of memory map entries.

This code doesn't worry about the likely duplicate, overlapping
or (unlikely) conflicting entries between the EFI map and the
E820 map.  It just dumps all the EFI entries into the memmap[]
array (which already has the E820 entries) and lets the existing
routine sanitize_e820_map() sort the mess out.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/efi.c