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

Commit baab8a82 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Use active regions



Register lowmem active regions.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent 83299799
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
config MICROBLAZE
	def_bool y
	select HAVE_MEMBLOCK
	select HAVE_MEMBLOCK_NODE_MAP
	select HAVE_FUNCTION_TRACER
	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
	select HAVE_FUNCTION_GRAPH_TRACER
@@ -30,6 +31,9 @@ config RWSEM_GENERIC_SPINLOCK
config ZONE_DMA
	def_bool y

config ARCH_POPULATES_NODE_MAP
	def_bool y

config RWSEM_XCHGADD_ALGORITHM
	bool

+16 −2
Original line number Diff line number Diff line
@@ -68,7 +68,8 @@ static void __init paging_init(void)

	zones_size[ZONE_DMA] = max_pfn;

	free_area_init(zones_size);
	/* We don't have holes in memory map */
	free_area_init_nodes(zones_size);
}

void __init setup_memory(void)
@@ -142,8 +143,18 @@ void __init setup_memory(void)
		PFN_UP(TOPHYS((u32)klimit)), min_low_pfn, max_low_pfn);
	memblock_reserve(PFN_UP(TOPHYS((u32)klimit)) << PAGE_SHIFT, map_size);

	/* Add active regions with valid PFNs */
	for_each_memblock(memory, reg) {
		unsigned long start_pfn, end_pfn;

		start_pfn = memblock_region_memory_base_pfn(reg);
		end_pfn = memblock_region_memory_end_pfn(reg);
		memblock_set_node(start_pfn << PAGE_SHIFT,
					(end_pfn - start_pfn) << PAGE_SHIFT, 0);
	}

	/* free bootmem is whole main memory */
	free_bootmem(memory_start, lowmem_size);
	free_bootmem_with_active_regions(0, max_low_pfn);

	/* reserve allocate blocks */
	for_each_memblock(reserved, reg) {
@@ -162,6 +173,9 @@ void __init setup_memory(void)
		}
	}

	/* XXX need to clip this if using highmem? */
	sparse_memory_present_with_active_regions(0);

#ifdef CONFIG_MMU
	init_bootmem_done = 1;
#endif