x86 boot: allow overlapping early reserve memory ranges
authorPaul Jackson <pj@sgi.com>
Sun, 22 Jun 2008 14:22:07 +0000 (07:22 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 10:51:26 +0000 (12:51 +0200)
commitc4ba1320b7075e9ce33ad0afaef43ba13260b4c2
treed9c3aa07da17153d4ac8489daf10dbc48e2220b1
parent05486fa7e631a3be31a0bbc5a575a389a1609e94
x86 boot: allow overlapping early reserve memory ranges

Add support for overlapping early memory reservations.

In general, they still can't overlap, and will panic
with "Overlapping early reservations" if they do overlap.

But if a memory range is reserved with the new call:
    reserve_early_overlap_ok()
rather than with the usual call:
    reserve_early()
then subsequent early reservations are allowed to overlap.

This new reserve_early_overlap_ok() call is only used in one
place so far, which is the "BIOS reserved" reservation for the
the EBDA region, which out of Paranoia reserves more than what
the BIOS might have specified, and which thus might overlap with
another legitimate early memory reservation (such as, perhaps,
the EFI memmap.)

Signed-off-by: Paul Jackson <pj@sgi.com>
Cc: "Yinghai Lu" <yhlu.kernel@gmail.com>
Cc: "Jack Steiner" <steiner@sgi.com>
Cc: "Mike Travis" <travis@sgi.com>
Cc: "Huang
Cc: Ying" <ying.huang@intel.com>
Cc: "Andi Kleen" <andi@firstfloor.org>
Cc: "Andrew Morton" <akpm@linux-foundation.org>
Cc: Paul Jackson <pj@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820.c
arch/x86/kernel/head.c
include/asm-x86/e820.h