Commit 566fb58e authored by Max Filippov's avatar Max Filippov

xtensa: nommu: reserve memory below PLATFORM_DEFAULT_MEM_START

Memory accounting code can't handle pages below
PLATFORM_DEFAULT_MEM_START. Reserve those pages if they exist.
When PLATFORM_DEFAULT_MEM_START is zero reserve one page at address 0 to
make sure that successfull memory allocations don't return NULL.
Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent 2eabc180
...@@ -239,6 +239,17 @@ void __init bootmem_init(void) ...@@ -239,6 +239,17 @@ void __init bootmem_init(void)
unsigned long bootmap_start, bootmap_size; unsigned long bootmap_start, bootmap_size;
int i; int i;
/* Reserve all memory below PLATFORM_DEFAULT_MEM_START, as memory
* accounting doesn't work for pages below that address.
*
* If PLATFORM_DEFAULT_MEM_START is zero reserve page at address 0:
* successfull allocations should never return NULL.
*/
if (PLATFORM_DEFAULT_MEM_START)
mem_reserve(0, PLATFORM_DEFAULT_MEM_START, 0);
else
mem_reserve(0, 1, 0);
sysmem_dump(); sysmem_dump();
max_low_pfn = max_pfn = 0; max_low_pfn = max_pfn = 0;
min_low_pfn = ~0; min_low_pfn = ~0;
......
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