[PATCH v2 0/4] arm64: mm: optimize VA space organization for 52-bit
From: Ard Biesheuvel <ardb@kernel.org>
Date: 2020-10-08 15:37:47
This series reorganizes the kernel VA space slightly so that 52-bit VA configurations can use more virtual address space, i.e., the usable linear address space almost doubles, from 2^51 to 2^52-2^47. Patch #1 merges the physvirt_offset and memstart_addr variables, both of which represent translations between the physical address space and the linear region, and there is no need for having both. This fixes a bug too, as the two values were not properly kept in sync when booting with KASLR enabled. Patch #2 updates the definitions for the boundaries of the linear space, so that 52-bit VA builds use all available space for the linear region. Patches #3 and #4 simplify the way the vmemmap region is configured, and unify the 48-bit/4k and 52-bit/64k layouts. Changes since v1: - drop incorrect use of untagged_addr() from #2 - add patches #3 and #4 Not boot tested yet on a 52-bit VA capable system. Cc: Steve Capper <redacted> Cc: Anshuman Khandual <redacted> Ard Biesheuvel (4): arm64: mm: use single quantity to represent the PA to VA translation arm64: mm: extend linear region for 52-bit VA configurations arm64: mm: make vmemmap region a projection of the linear region arm64: mm: tidy up top of kernel VA space Documentation/arm64/kasan-offsets.sh | 3 +- Documentation/arm64/memory.rst | 45 +++++++++----------- arch/arm64/Kconfig | 20 ++++----- arch/arm64/include/asm/memory.h | 35 +++++++-------- arch/arm64/include/asm/pgtable.h | 6 +-- arch/arm64/mm/init.c | 34 ++++++--------- 6 files changed, 63 insertions(+), 80 deletions(-) -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel