summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/pgtable.h
diff options
context:
space:
mode:
authorCatalin Marinas2013-10-23 17:50:07 +0200
committerCatalin Marinas2013-11-05 18:23:52 +0100
commit847264fb7e73ade5b5e4b6eea3daa243a1f5217e (patch)
tree3688d8bf1cd8f06e8bff978922d14c79406f5ce8 /arch/arm64/include/asm/pgtable.h
parentarm64: module: ensure instruction is little-endian before manipulation (diff)
downloadkernel-qcow2-linux-847264fb7e73ade5b5e4b6eea3daa243a1f5217e.tar.gz
kernel-qcow2-linux-847264fb7e73ade5b5e4b6eea3daa243a1f5217e.tar.xz
kernel-qcow2-linux-847264fb7e73ade5b5e4b6eea3daa243a1f5217e.zip
arm64: Use 42-bit address space with 64K pages
This patch expands the VA_BITS to 42 when the 64K page configuration is enabled allowing 2TB kernel linear mapping. Linux still uses 2 levels of page tables in this configuration with pgd now being a full page. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Acked-by: Will Deacon <will.deacon@arm.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/pgtable.h')
-rw-r--r--arch/arm64/include/asm/pgtable.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index f0bebc5e22cd..17bd3af0a117 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -33,7 +33,7 @@
/*
* VMALLOC and SPARSEMEM_VMEMMAP ranges.
*/
-#define VMALLOC_START UL(0xffffff8000000000)
+#define VMALLOC_START (UL(0xffffffffffffffff) << VA_BITS)
#define VMALLOC_END (PAGE_OFFSET - UL(0x400000000) - SZ_64K)
#define vmemmap ((struct page *)(VMALLOC_END + SZ_64K))