Re: [PATCH v4 00/18] KVM: arm64: nv: Add support for address translation instructions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Marc,

On 20-08-2024 04:07 pm, Marc Zyngier wrote:
This is the fourth revision of the address translation emulation for
NV support on arm64 previously posted at [1].

Thanks again to Alex for his continuous (contiguous? ;-) scrutiny on
this series.

* From v3:

   - Fix out of range conditions for TxSZ when LVA is implemented

   - Fix implementation of R_VPBBF to deliver an Address Size Fault

   - Don't grant PX if UW is set

   - Various cleanups

   - Collected Alex's RBs, with thanks.

I've added the usual reviewers on Cc, plus people who explicitly asked
to be on it, and people who seem to be super keen on NV.

Patches on top of 6.11-rc1, tested on my usual M2 (so VHE only). FWIW,
I plan to take this into 6.12.

[1] https://lore.kernel.org/r/20240813100540.1955263-1-maz@xxxxxxxxxx

Joey Gouly (1):
   KVM: arm64: Make kvm_at() take an OP_AT_*


Have you tested/tried NV with host/L0 booted with GICv4.x enabled?
We do see L2 boot hang and I don't have much debug info at the moment.

Marc Zyngier (17):
   arm64: Add missing APTable and TCR_ELx.HPD masks
   arm64: Add PAR_EL1 field description
   arm64: Add system register encoding for PSTATE.PAN
   arm64: Add ESR_ELx_FSC_ADDRSZ_L() helper
   KVM: arm64: nv: Enforce S2 alignment when contiguous bit is set
   KVM: arm64: nv: Turn upper_attr for S2 walk into the full descriptor
   KVM: arm64: nv: Honor absence of FEAT_PAN2
   KVM: arm64: nv: Add basic emulation of AT S1E{0,1}{R,W}
   KVM: arm64: nv: Add basic emulation of AT S1E1{R,W}P
   KVM: arm64: nv: Add basic emulation of AT S1E2{R,W}
   KVM: arm64: nv: Add emulation of AT S12E{0,1}{R,W}
   KVM: arm64: nv: Make ps_to_output_size() generally available
   KVM: arm64: nv: Add SW walker for AT S1 emulation
   KVM: arm64: nv: Sanitise SCTLR_EL1.EPAN according to VM configuration
   KVM: arm64: nv: Make AT+PAN instructions aware of FEAT_PAN3
   KVM: arm64: nv: Plumb handling of AT S1* traps from EL2
   KVM: arm64: nv: Add support for FEAT_ATS1A

  arch/arm64/include/asm/esr.h           |    5 +-
  arch/arm64/include/asm/kvm_arm.h       |    1 +
  arch/arm64/include/asm/kvm_asm.h       |    6 +-
  arch/arm64/include/asm/kvm_nested.h    |   40 +-
  arch/arm64/include/asm/pgtable-hwdef.h |    9 +
  arch/arm64/include/asm/sysreg.h        |   22 +
  arch/arm64/kvm/Makefile                |    2 +-
  arch/arm64/kvm/at.c                    | 1101 ++++++++++++++++++++++++
  arch/arm64/kvm/emulate-nested.c        |    2 +
  arch/arm64/kvm/hyp/include/hyp/fault.h |    2 +-
  arch/arm64/kvm/nested.c                |   41 +-
  arch/arm64/kvm/sys_regs.c              |   60 ++
  12 files changed, 1259 insertions(+), 32 deletions(-)
  create mode 100644 arch/arm64/kvm/at.c


--
Thanks,
Ganapat/GK




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux