KVM: arm64: Constraint PAuth support to consistent implementations
authorMarc Zyngier <maz@kernel.org>
Fri, 19 Apr 2024 10:29:23 +0000 (11:29 +0100)
committerMarc Zyngier <maz@kernel.org>
Sat, 20 Apr 2024 11:42:50 +0000 (12:42 +0100)
commita07e9345615fb7e7dd4fd5d88d5aaf49085739d0
treebb46f9950887369ccc9677f0852111286f857818
parent80d8b55a57a18b0b1dac951ea28bfd657b14facc
KVM: arm64: Constraint PAuth support to consistent implementations

PAuth comes it two parts: address authentication, and generic
authentication. So far, KVM mandates that both are implemented.

PAuth also comes in three flavours: Q5, Q3, and IMPDEF. Only one
can be implemented for any of address and generic authentication.

Crucially, the architecture doesn't mandate that address and generic
authentication implement the *same* flavour. This would make
implementing ERETAx very difficult for NV, something we are not
terribly keen on.

So only allow PAuth support for KVM on systems that are not totally
insane. Which is so far 100% of the known HW.

Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240419102935.1935571-4-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/arm.c