forked from Minki/linux
powerpc: Fix memory limits when starting at a non-zero address
memblock_enforce_memory_limit() takes the desired maximum quantity of memory to end up with, not an address above which memory will not be used. Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
c7704d352d
commit
6dd2270029
@ -97,7 +97,7 @@ static void __init move_device_tree(void)
|
||||
start = __pa(initial_boot_params);
|
||||
size = be32_to_cpu(initial_boot_params->totalsize);
|
||||
|
||||
if ((memory_limit && (start + size) > memory_limit) ||
|
||||
if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
|
||||
overlaps_crashkernel(start, size)) {
|
||||
p = __va(memblock_alloc(size, PAGE_SIZE));
|
||||
memcpy(p, initial_boot_params, size);
|
||||
|
@ -148,7 +148,7 @@ void __init MMU_init(void)
|
||||
lowmem_end_addr = memstart_addr + total_lowmem;
|
||||
#ifndef CONFIG_HIGHMEM
|
||||
total_memory = total_lowmem;
|
||||
memblock_enforce_memory_limit(lowmem_end_addr);
|
||||
memblock_enforce_memory_limit(total_lowmem);
|
||||
memblock_analyze();
|
||||
#endif /* CONFIG_HIGHMEM */
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user