Reserve Bootmem fix for booting nondefault location kernel
PATCH 1/1 Reserve Bootmem fix for booting nondefault location kernel
This patch fixes a problem with reserving memory during boot up of a kernel built for non-default location. Currently boot memory allocator reserves the memory required by kernel image, boot allocaotor bitmap etc. It assumes that kernel is loaded at 1MB (HIGH_MEMORY hard coded to 1024*1024). But kernel can be built for non-default locatoin, hence existing hardcoding will lead to reserving unnecessary memory. This patch fixes it.
Signed-off-by Vivek Goyal <[email protected]>
---
linux-2.6.11-mm3-vivek/arch/i386/kernel/setup.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/i386/kernel/setup.c renamed from arch/i386/kernel/setup.c~x86-nondefault-kernel-reserve-bootmem-fix +2 -2
@@ -1135,8 +1135,8 @@ void __init setup_bootmem_allocator(void* the (very unlikely) case of us accidentally initializing the * bootmem allocator with an invalid RAM area. */ -reserve_bootmem (HIGH_MEMORY , (PFN_PHYS (min_low_pfn) + - bootmap_size +PAGE_SIZE -1 ) - (HIGH_MEMORY )); +reserve_bootmem (__PHYSICAL_START, (PFN_PHYS (min_low_pfn) + + bootmap_size +PAGE_SIZE -1 ) - (__PHYSICAL_START));/* * reserve physical page 0 - it's a special BIOS page on many boxes,
_