arm64: set MAX_MEMBLOCK_ADDR according to linear region size
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 18 Aug 2015 09:34:42 +0000 (10:34 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 24 Aug 2015 09:23:19 +0000 (10:23 +0100)
commit34ba2c4247e5c4b1542b1106e156af324660c4f0
tree93a7a4fe3e637e9c481c9448e25427a72e62e67e
parent8eafeb48022816513abc4f440bdad4c350fe81a3
arm64: set MAX_MEMBLOCK_ADDR according to linear region size

The linear region size of a 39-bit VA kernel is only 256 GB, which
may be insufficient to cover all of system RAM, even on platforms
that have much less than 256 GB of memory but which is laid out
very sparsely.

So make sure we clip the memory we will not be able to map before
installing it into the memblock memory table, by setting
MAX_MEMBLOCK_ADDR accordingly.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Stuart Yoder <stuart.yoder@freescale.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/memory.h