linux/arch/arm64
Steve Capper f6bc87c39d ARM64: mm: Restore memblock limit when map_mem finished.
In paging_init the memblock limit is set to restrict any addresses
returned by early_alloc to fit within the initial direct kernel
mapping in swapper_pg_dir. This allows map_mem to allocate puds,
pmds and ptes from the initial direct kernel mapping.

The limit stays low after paging_init() though, meaning any
bootmem allocations will be from a restricted subset of memory.
Gigabyte huge pages, for instance, are normally allocated from
bootmem as their order (18) is too large for the default buddy
allocator (MAX_ORDER = 11).

This patch restores the memblock limit when map_mem has finished,
allowing gigabyte huge pages (and other objects) to be allocated
from all of bootmem.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
2013-06-14 09:40:39 +01:00
..
boot arm64: dts: fix #address-cells for foundation-v8 2013-05-08 10:23:01 +01:00
configs arm64: vexpress: Enable ARMv8 RTSM model (SoC) support 2013-04-26 14:44:05 +01:00
include arm64: debug: fix mdscr.ss check when enabling debug exceptions 2013-05-17 18:24:19 +01:00
kernel arm64: don't kill the kernel on a bad esr from el0 2013-05-31 16:04:51 +01:00
lib arm64: Treat the bitops index argument as an 'int' 2013-05-08 10:33:17 +01:00
mm ARM64: mm: Restore memblock limit when map_mem finished. 2013-06-14 09:40:39 +01:00
Kconfig arm64: Do not source kernel/time/Kconfig explicitly 2013-05-14 15:44:51 +01:00
Kconfig.debug arm64: Kconfig.debug: Remove unused CONFIG_DEBUG_ERRORS 2013-03-19 16:19:19 +00:00
Makefile arm64: Fix the dtbs target building 2012-12-10 20:24:57 -06:00