Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -239,6 +239,17 @@ void __init bootmem_init(void)
	unsigned long bootmap_start, bootmap_size;
	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();
	max_low_pfn = max_pfn = 0;
	min_low_pfn = ~0;