• Oliver Upton's avatar
    Merge branch kvm-arm64/hvhe into kvmarm/next · b710fe0d
    Oliver Upton authored
    * kvm-arm64/hvhe:
      : Support for running split-hypervisor w/VHE, courtesy of Marc Zyngier
      :
      : From the cover letter:
      :
      : KVM (on ARMv8.0) and pKVM (on all revisions of the architecture) use
      : the split hypervisor model that makes the EL2 code more or less
      : standalone. In the later case, we totally ignore the VHE mode and
      : stick with the good old v8.0 EL2 setup.
      :
      : We introduce a new "mode" for KVM called hVHE, in reference to the
      : nVHE mode, and indicating that only the hypervisor is using VHE.
      KVM: arm64: Fix hVHE init on CPUs where HCR_EL2.E2H is not RES1
      arm64: Allow arm64_sw.hvhe on command line
      KVM: arm64: Force HCR_E2H in guest context when ARM64_KVM_HVHE is set
      KVM: arm64: Program the timer traps with VHE layout in hVHE mode
      KVM: arm64: Rework CPTR_EL2 programming for HVHE configuration
      KVM: arm64: Adjust EL2 stage-1 leaf AP bits when ARM64_KVM_HVHE is set
      KVM: arm64: Disable TTBR1_EL2 when using ARM64_KVM_HVHE
      KVM: arm64: Force HCR_EL2.E2H when ARM64_KVM_HVHE is set
      KVM: arm64: Key use of VHE instructions in nVHE code off ARM64_KVM_HVHE
      KVM: arm64: Remove alternatives from sysreg accessors in VHE hypervisor context
      arm64: Use CPACR_EL1 format to set CPTR_EL2 when E2H is set
      arm64: Allow EL1 physical timer access when running VHE
      arm64: Don't enable VHE for the kernel if OVERRIDE_HVHE is set
      arm64: Add KVM_HVHE capability and has_hvhe() predicate
      arm64: Turn kaslr_feature_override into a generic SW feature override
      arm64: Prevent the use of is_kernel_in_hyp_mode() in hypervisor code
      KVM: arm64: Drop is_kernel_in_hyp_mode() from __invalidate_icache_guest_page()
    Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
    b710fe0d
hyp-main.c 11.6 KB