mirror of https://gitee.com/openkylin/linux.git
[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: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
3d345e3fc9
commit
8a9190853c
|
@ -1124,8 +1124,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,
|
||||
|
|
Loading…
Reference in New Issue