All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] KVM: arm64: Prefix of fixes from HAFDBS series (for 7.4)
@ 2026-11-04 19:21 Oliver Upton
  2026-11-04 19:21 ` [PATCH 1/8] KVM: arm64: nv: Disallow KVM_CAP_ARM_MTE + FEAT_EL2 Oliver Upton
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Oliver Upton @ 2026-11-04 19:21 UTC (permalink / raw)
  To: kvmarm
  Cc: Marc Zyngier, Joey Gouly, Suzuki K Poulose, Zenghui Yu,
	Wei-Lin Chang, Steffen Eiden, Fuad Tabba, Oliver Upton

I kept on running into bugs as part of the HAFDBS series, especially in
dealing with emulated cache maintenance instructions. Everything seems
worthwhile for 7.4 so I've gone ahead and spun it off into a separate
series.

The bulk of the changes are addressing a subtle gap in KVM's handling of
coarse-grained traps. There could be instructions supported by the
hardware but unsupported for the VM which intersect with a CGT. When the
sysreg lacks an FGU description this has the effect of reinjecting
architecturally-invalid sysreg traps to the L1 hypervisor for the
visible feature set.

Besides that, abort injection has gotten a bit hairy, details found in
the last patch.

Tested on M2 and QEMU-TCG since the M2 lacks a lot of the necessary arch
features.

Oliver Upton (8):
  KVM: arm64: nv: Disallow KVM_CAP_ARM_MTE + FEAT_EL2
  KVM: arm64: nv: Add CGT description for FEAT_PoPS instructions
  KVM: arm64: Separate user / guest visibility flags
  KVM: arm64: nv: Treat the VNCR GICv3 registers as hidden from user
  KVM: arm64: Use ->visibility() to filter MTE CMO instructions
  KVM: arm64: Add sys_reg_descs for remaining MTE CMO instructions
  KVM: arm64: nv: Enforce sysreg visibility before evaulating guest
    traps
  KVM: arm64: Stop leaning on __kvm_inject_sea() for abort injection

 arch/arm64/kvm/arm.c             |  10 ++-
 arch/arm64/kvm/emulate-nested.c  |  26 +++++-
 arch/arm64/kvm/inject_fault.c    | 133 ++++++++++++++++++-------------
 arch/arm64/kvm/sys_regs.c        |  84 +++++++++++--------
 arch/arm64/kvm/sys_regs.h        |  27 +++++--
 arch/arm64/kvm/vgic-sys-reg-v3.c |   2 +-
 arch/arm64/kvm/vgic-sys-reg-v5.c |   2 +-
 7 files changed, 177 insertions(+), 107 deletions(-)


base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
-- 
2.47.3


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-11-05 18:12 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 19:21 [PATCH 0/8] KVM: arm64: Prefix of fixes from HAFDBS series (for 7.4) Oliver Upton
2026-11-04 19:21 ` [PATCH 1/8] KVM: arm64: nv: Disallow KVM_CAP_ARM_MTE + FEAT_EL2 Oliver Upton
2026-11-04 19:37   ` sashiko-bot
2026-11-04 20:17     ` Oliver Upton
2026-11-04 19:21 ` [PATCH 2/8] KVM: arm64: nv: Add CGT description for FEAT_PoPS instructions Oliver Upton
2026-11-05 18:12   ` Leonardo Bras
2026-11-04 19:21 ` [PATCH 3/8] KVM: arm64: Separate user / guest visibility flags Oliver Upton
2026-11-04 19:21 ` [PATCH 4/8] KVM: arm64: nv: Treat the VNCR GICv3 registers as hidden from user Oliver Upton
2026-11-04 19:21 ` [PATCH 5/8] KVM: arm64: Use ->visibility() to filter MTE CMO instructions Oliver Upton
2026-11-04 19:21 ` [PATCH 6/8] KVM: arm64: Add sys_reg_descs for remaining " Oliver Upton
2026-11-04 19:21 ` [PATCH 7/8] KVM: arm64: nv: Enforce sysreg visibility before evaulating guest traps Oliver Upton
2026-11-04 19:21 ` [PATCH 8/8] KVM: arm64: Stop leaning on __kvm_inject_sea() for abort injection Oliver Upton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.