]> www.infradead.org Git - users/dwmw2/linux.git/commit
KVM: arm64: Add PSCI v1.3 SYSTEM_OFF2 function for hibernation
authorDavid Woodhouse <dwmw@amazon.co.uk>
Mon, 11 Mar 2024 08:02:16 +0000 (08:02 +0000)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Sat, 12 Oct 2024 09:37:34 +0000 (10:37 +0100)
commit059f170d02fdad20a01ae500409ef56c732826f2
treed0811862ca2ab1acba011e41cc0997298d6f3d8d
parentc8217fe6ce5bfed186144519f1f162d183adbe69
KVM: arm64: Add PSCI v1.3 SYSTEM_OFF2 function for hibernation

The PSCI v1.3 specification adds support for a SYSTEM_OFF2 function
which is analogous to ACPI S4 state. This will allow hosting
environments to determine that a guest is hibernated rather than just
powered off, and ensure that they preserve the virtual environment
appropriately to allow the guest to resume safely (or bump the
hardware_signature in the FACS to trigger a clean reboot instead).

This feature is safe to enable unconditionally (in a subsequent commit)
because it is exposed to userspace through the existing
KVM_SYSTEM_EVENT_SHUTDOWN event, just with an additional flag which
userspace can use to know that the instance intended hibernation instead
of a plain power-off.

As with SYSTEM_RESET2, there is only one type available (in this case
HIBERNATE_OFF), and it is not explicitly reported to userspace through
the event; userspace can get it from the registers if it cares).

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Documentation/virt/kvm/api.rst
arch/arm64/include/uapi/asm/kvm.h
arch/arm64/kvm/psci.c