From: Yinghai Lu Subject: [PATCH] x86: only put e820 ram entries in resource tree may need user to have new kexec tools that could create e820 table from /sys/firmware/memmap instead of /proc/iomem for second kernel Signed-off-by: Yinghai Lu Cc: Bernhard Walle Cc: Vivek Goyal Cc: "Eric W. Biederman" Index: linux-2.6/arch/x86/kernel/e820.c =================================================================== --- linux-2.6.orig/arch/x86/kernel/e820.c +++ linux-2.6/arch/x86/kernel/e820.c @@ -1279,6 +1279,10 @@ void __init e820_reserve_resources(void) res = alloc_bootmem_low(sizeof(struct resource) * e820.nr_map); for (i = 0; i < e820.nr_map; i++) { + if (e820.map[i].type != E820_RAM) { + res++; + continue; + } end = e820.map[i].addr + e820.map[i].size - 1; #ifndef CONFIG_RESOURCES_64BIT if (end > 0x100000000ULL) {