]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm64: Indicate SYSTEM_RESET2 in kvm_run::system_event flags field
authorWill Deacon <will@kernel.org>
Mon, 21 Feb 2022 15:35:24 +0000 (15:35 +0000)
committerMarc Zyngier <maz@kernel.org>
Mon, 21 Feb 2022 16:02:55 +0000 (16:02 +0000)
commitc9f367ada70c585ad461823a25f49935d6bbf089
tree49e5aba0a7670c819e5a00259cb20e0691b0601f
parented47efd863d9e81d24498e0426a70fa72b0928fc
KVM: arm64: Indicate SYSTEM_RESET2 in kvm_run::system_event flags field

When handling reset and power-off PSCI calls from the guest, we
initialise X0 to PSCI_RET_INTERNAL_FAILURE in case the VMM tries to
re-run the vCPU after issuing the call.

Unfortunately, this also means that the VMM cannot see which PSCI call
was issued and therefore cannot distinguish between PSCI SYSTEM_RESET
and SYSTEM_RESET2 calls, which is necessary in order to determine the
validity of the "reset_type" in X1.

Allocate bit 0 of the previously unused 'flags' field of the
system_event structure so that we can indicate the PSCI call used to
initiate the reset.

Cc: Marc Zyngier <maz@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220221153524.15397-4-will@kernel.org
Documentation/virt/kvm/api.rst
arch/arm64/include/uapi/asm/kvm.h
arch/arm64/kvm/psci.c