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

Ard Biesheuvel ardb at kernel.org
Fri Oct 9 10:16:11 EDT 2020


On Thu, 8 Oct 2020 at 17:36, Ard Biesheuvel <ardb at kernel.org> wrote:
>
> 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.
>

Boot tested now on FVP Base with and without LVA support enabled.

> Cc: Steve Capper <steve.capper at arm.com>
> Cc: Anshuman Khandual <anshuman.khandual at arm.com>
>
> 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
>



More information about the linux-arm-kernel mailing list