[PATCH 0/2] arm64: mm: optimize VA space organization for 52-bit

Ard Biesheuvel ardb at kernel.org
Tue Oct 6 18:49:51 EDT 2020


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, 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.

Not tested yet on a 52-bit VA capable system.

Cc: Steve Capper <steve.capper at arm.com>
Cc: Anshuman Khandual <anshuman.khandual at arm.com>

Ard Biesheuvel (2):
  arm64: mm: use single quantity to represent the PA to VA translation
  arm64: mm: extend linear region for 52-bit VA configurations

 Documentation/arm64/kasan-offsets.sh |  3 +-
 arch/arm64/Kconfig                   | 20 ++++++------
 arch/arm64/include/asm/memory.h      | 13 ++++----
 arch/arm64/include/asm/pgtable.h     |  4 +--
 arch/arm64/mm/init.c                 | 32 +++++++-------------
 5 files changed, 30 insertions(+), 42 deletions(-)

-- 
2.17.1




More information about the linux-arm-kernel mailing list