KVM: arm64: nv: Use guest hypervisor's vSError state
authorOliver Upton <oliver.upton@linux.dev>
Tue, 8 Jul 2025 17:25:13 +0000 (10:25 -0700)
committerOliver Upton <oliver.upton@linux.dev>
Tue, 8 Jul 2025 18:36:34 +0000 (11:36 -0700)
commit18fbc24707db71793d5187576e09448cf48f8394
treea955915e59c9f8cbf08e6e1eeab3cf9d08d57c34
parent211fced460f2528339560d443df44b1c7feafaf0
KVM: arm64: nv: Use guest hypervisor's vSError state

When HCR_EL2.AMO is set, physical SErrors are routed to EL2 and virtual
SError injection is enabled for EL1. Conceptually treating
host-initiated SErrors as 'physical', this means we can delegate control
of the vSError injection context to the guest hypervisor when nesting &&
AMO is set.

Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250708172532.1699409-9-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/include/asm/kvm_emulate.h
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/hyp/include/hyp/switch.h
arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h