Commit 8a919085 authored by Vivek Goyal's avatar Vivek Goyal Committed by Linus Torvalds

[PATCH] kexec: 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: default avatarVivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3d345e3f
...@@ -1124,8 +1124,8 @@ void __init setup_bootmem_allocator(void) ...@@ -1124,8 +1124,8 @@ void __init setup_bootmem_allocator(void)
* the (very unlikely) case of us accidentally initializing the * the (very unlikely) case of us accidentally initializing the
* bootmem allocator with an invalid RAM area. * bootmem allocator with an invalid RAM area.
*/ */
reserve_bootmem(HIGH_MEMORY, (PFN_PHYS(min_low_pfn) + reserve_bootmem(__PHYSICAL_START, (PFN_PHYS(min_low_pfn) +
bootmap_size + PAGE_SIZE-1) - (HIGH_MEMORY)); bootmap_size + PAGE_SIZE-1) - (__PHYSICAL_START));
/* /*
* reserve physical page 0 - it's a special BIOS page on many boxes, * reserve physical page 0 - it's a special BIOS page on many boxes,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment