v2 -> v3: - Reorder patches to fix bisection (Marc) - Use helper that returns ZCR_ELx offset, so it can be used to handle reads and writes (Marc) v2: https://lore.kernel.org/kvmarm/20240613201756.3258227-1-oliver.upton@xxxxxxxxx/ Jintack Lim (1): KVM: arm64: nv: Forward FP/ASIMD traps to guest hypervisor Marc Zyngier (4): KVM: arm64: nv: Handle CPACR_EL1 traps KVM: arm64: nv: Add TCPAC/TTA to CPTR->CPACR conversion helper KVM: arm64: nv: Add trap description for CPTR_EL2 KVM: arm64: nv: Add additional trap setup for CPTR_EL2 Oliver Upton (10): KVM: arm64: nv: Forward SVE traps to guest hypervisor KVM: arm64: nv: Handle ZCR_EL2 traps KVM: arm64: nv: Load guest hyp's ZCR into EL1 state KVM: arm64: nv: Save guest's ZCR_EL2 when in hyp context KVM: arm64: nv: Use guest hypervisor's max VL when running nested guest KVM: arm64: nv: Ensure correct VL is loaded before saving SVE state KVM: arm64: Spin off helper for programming CPTR traps KVM: arm64: nv: Load guest FP state for ZCR_EL2 trap KVM: arm64: nv: Honor guest hypervisor's FP/SVE traps in CPTR_EL2 KVM: arm64: Allow the use of SVE+NV arch/arm64/include/asm/kvm_emulate.h | 55 +++++++++ arch/arm64/include/asm/kvm_host.h | 6 + arch/arm64/include/asm/kvm_nested.h | 4 +- arch/arm64/kvm/arm.c | 5 - arch/arm64/kvm/emulate-nested.c | 91 ++++++++++++++ arch/arm64/kvm/fpsimd.c | 19 ++- arch/arm64/kvm/handle_exit.c | 19 ++- arch/arm64/kvm/hyp/include/hyp/switch.h | 24 +++- arch/arm64/kvm/hyp/vhe/switch.c | 156 ++++++++++++++++++++---- arch/arm64/kvm/nested.c | 3 +- arch/arm64/kvm/sys_regs.c | 38 ++++++ 11 files changed, 376 insertions(+), 44 deletions(-) base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 -- 2.45.2.741.gdbec12cfda-goog