KVM: arm64: PSCI: Forbid 64bit functions for 32bit guests
authorMarc Zyngier <maz@kernel.org>
Wed, 1 Apr 2020 11:38:49 +0000 (12:38 +0100)
committerMarc Zyngier <maz@kernel.org>
Fri, 17 Apr 2020 08:51:45 +0000 (09:51 +0100)
commitfdc9999e20cd038d9d5bf54496c1f0226bc2b64e
tree905fb6601f8580c9fc5434d81ffd3a766e03cba1
parent2890ac993daa7bdcc57a92da2f07bcdec243666b
KVM: arm64: PSCI: Forbid 64bit functions for 32bit guests

Implementing (and even advertising) 64bit PSCI functions to 32bit
guests is at least a bit odd, if not altogether violating the
spec which says ("5.2.1 Register usage in arguments and return values"):

"Adherence to the SMC Calling Conventions implies that any AArch32
caller of an SMC64 function will get a return code of 0xFFFFFFFF(int32).
This matches the NOT_SUPPORTED error code used in PSCI"

Tighten the implementation by pretending these functions are not
there for 32bit guests.

Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
virt/kvm/arm/psci.c