KVM: arm64: Force injection of a data abort on NISV MMIO exit
authorMarc Zyngier <maz@kernel.org>
Tue, 23 Apr 2024 15:05:38 +0000 (16:05 +0100)
committerMarc Zyngier <maz@kernel.org>
Wed, 1 May 2024 15:48:15 +0000 (16:48 +0100)
commit3b467b16582c077f57fab244cf0801ecea7914b6
tree7fac3ad014f2176391f944236320c9801a1a8ed0
parent92536992cfd461207c78e46154d16050b236a6fc
KVM: arm64: Force injection of a data abort on NISV MMIO exit

If a vcpu exits for a data abort with an invalid syndrome, the
expectations are that userspace has a chance to save the day if
it has requested to see such exits.

However, this is completely futile in the case of a protected VM,
as none of the state is available. In this particular case, inject
a data abort directly into the vcpu, consistent with what userspace
could do.

This also helps with pKVM, which discards all syndrome information when
forwarding data aborts that are not known to be MMIO.

Finally, document this tweak to the API.

Signed-off-by: Fuad Tabba <tabba@google.com>
Acked-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240423150538.2103045-31-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Documentation/virt/kvm/api.rst
arch/arm64/kvm/mmio.c