• Oliver Upton's avatar
    KVM: arm64: selftests: Align VA space allocator with TTBR0 · e8b9a055
    Oliver Upton authored
    An interesting feature of the Arm architecture is that the stage-1 MMU
    supports two distinct VA regions, controlled by TTBR{0,1}_EL1. As KVM
    selftests on arm64 only uses TTBR0_EL1, the VA space is constrained to
    [0, 2^(va_bits-1)). This is different from other architectures that
    allow for addressing low and high regions of the VA space from a single
    page table.
    
    KVM selftests' VA space allocator presumes the valid address range is
    split between low and high memory based the MSB, which of course is a
    poor match for arm64's TTBR0 region.
    
    Allow architectures to override the default VA space layout. Make use of
    the override to align vpages_valid with the behavior of TTBR0 on arm64.
    Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
    Message-Id: <20221207214809.489070-4-oliver.upton@linux.dev>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    e8b9a055
kvm_util.c 56.4 KB