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

Commit 8f37b6c9 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Use klimit instead of _end for memory init



For noMMU system when you use larger rootfs image
there is problem with using _end label because
we increase klimit but in memory initialization
we use still _end which is wrong. Larger mtd rootfs
was rewritten by init_bootmem_node.

MMU kernel use static initialization where klimit
is setup to _end. There is no any other hanling
with klimit.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent 2856ed35
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -130,13 +130,13 @@ void __init setup_memory(void)
	 * (in case the address isn't page-aligned).
	 */
#ifndef CONFIG_MMU
	map_size = init_bootmem_node(NODE_DATA(0), PFN_UP(TOPHYS((u32)_end)),
	map_size = init_bootmem_node(NODE_DATA(0), PFN_UP(TOPHYS((u32)klimit)),
					min_low_pfn, max_low_pfn);
#else
	map_size = init_bootmem_node(&contig_page_data,
		PFN_UP(TOPHYS((u32)_end)), min_low_pfn, max_low_pfn);
		PFN_UP(TOPHYS((u32)klimit)), min_low_pfn, max_low_pfn);
#endif
	lmb_reserve(PFN_UP(TOPHYS((u32)_end)) << PAGE_SHIFT, map_size);
	lmb_reserve(PFN_UP(TOPHYS((u32)klimit)) << PAGE_SHIFT, map_size);

	/* free bootmem is whole main memory */
	free_bootmem(memory_start, memory_size);