[PATCH v4 00/18] KVM: arm64: nv: Add support for address translation instructions
Ganapatrao Kulkarni
gankulkarni at os.amperecomputing.com
Tue Aug 20 21:25:37 PDT 2024
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@kernel.org
>
> 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
More information about the linux-arm-kernel
mailing list