1
linux/arch/x86
Yinghai Lu 9f3a5f52aa x86: Make e820_remove_range to handle all covered case
Rusty found on lguest with trim_bios_range, max_pfn is not right anymore, and
looks e820_remove_range does not work right.

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  LGUEST: 0000000000000000 - 0000000004000000 (usable)
[    0.000000] Notice: NX (Execute Disable) protection missing in CPU or disabled in BIOS!
[    0.000000] DMI not present or invalid.
[    0.000000] last_pfn = 0x3fa0 max_arch_pfn = 0x100000
[    0.000000] init_memory_mapping: 0000000000000000-0000000003fa0000

root cause is: the e820_remove_range doesn't handle the all covered
case.  e820_remove_range(BIOS_START, BIOS_END - BIOS_START, ...)
produces a bogus range as a result.

Make it match e820_update_range() by handling that case too.

Reported-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Tested-by: Rusty Russell <rusty@rustcorp.com.au>
LKML-Reference: <4BB18E55.6090903@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-03-31 17:40:57 -07:00
..
boot Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:43:53 -08:00
configs
crypto tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
ia32 Add generic sys_olduname() 2010-03-12 15:52:32 -08:00
include/asm x86, amd: Restrict usage of c1e_idle() 2010-03-19 14:43:36 -07:00
kernel x86: Make e820_remove_range to handle all covered case 2010-03-31 17:40:57 -07:00
kvm Merge branch 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2010-03-05 13:12:34 -08:00
lguest
lib Merge branch 'x86-rwsem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:41:35 -08:00
math-emu
mm x86: Make sure free_init_pages() frees pages on page boundary 2010-03-29 18:55:33 +02:00
oprofile perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE 2010-03-01 14:21:23 +01:00
pci x86/PCI: truncate _CRS windows with _LEN > _MAX - _MIN + 1 2010-03-25 10:14:13 -07:00
power x86-32, resume: do a global tlb flush in S4 resume 2010-03-30 11:46:02 -07:00
tools x86: Remove trailing spaces in messages 2010-02-07 17:47:51 +01:00
vdso
video
xen Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
Kbuild
Kconfig Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-13 14:45:49 -08:00
Kconfig.cpu Merge branch 'x86-rwsem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:41:35 -08:00
Kconfig.debug
Makefile x86-64: Allow fbdev primary video code 2010-02-16 21:22:26 -08:00
Makefile_32.cpu