• Marc Zyngier's avatar
    Merge branch kvm-arm64/nv-at-pan into kvmarm-master/next · 2e0f2394
    Marc Zyngier authored
    * kvm-arm64/nv-at-pan:
      : .
      : Add NV support for the AT family of instructions, which mostly results
      : in adding a page table walker that deals with most of the complexity
      : of the architecture.
      :
      : From the cover letter:
      :
      : "Another task that a hypervisor supporting NV on arm64 has to deal with
      : is to emulate the AT instruction, because we multiplex all the S1
      : translations on a single set of registers, and the guest S2 is never
      : truly resident on the CPU.
      :
      : So given that we lie about page tables, we also have to lie about
      : translation instructions, hence the emulation. Things are made
      : complicated by the fact that guest S1 page tables can be swapped out,
      : and that our shadow S2 is likely to be incomplete. So while using AT
      : to emulate AT is tempting (and useful), it is not going to always
      : work, and we thus need a fallback in the shape of a SW S1 walker."
      : .
      KVM: arm64: nv: Add support for FEAT_ATS1A
      KVM: arm64: nv: Plumb handling of AT S1* traps from EL2
      KVM: arm64: nv: Make AT+PAN instructions aware of FEAT_PAN3
      KVM: arm64: nv: Sanitise SCTLR_EL1.EPAN according to VM configuration
      KVM: arm64: nv: Add SW walker for AT S1 emulation
      KVM: arm64: nv: Make ps_to_output_size() generally available
      KVM: arm64: nv: Add emulation of AT S12E{0,1}{R,W}
      KVM: arm64: nv: Add basic emulation of AT S1E2{R,W}
      KVM: arm64: nv: Add basic emulation of AT S1E1{R,W}P
      KVM: arm64: nv: Add basic emulation of AT S1E{0,1}{R,W}
      KVM: arm64: nv: Honor absence of FEAT_PAN2
      KVM: arm64: nv: Turn upper_attr for S2 walk into the full descriptor
      KVM: arm64: nv: Enforce S2 alignment when contiguous bit is set
      arm64: Add ESR_ELx_FSC_ADDRSZ_L() helper
      arm64: Add system register encoding for PSTATE.PAN
      arm64: Add PAR_EL1 field description
      arm64: Add missing APTable and TCR_ELx.HPD masks
      KVM: arm64: Make kvm_at() take an OP_AT_*
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    
    # Conflicts:
    #	arch/arm64/kvm/nested.c
    2e0f2394
sys_regs.c 129 KB