Some x86 machines advertise the "hardware reduced" ACPI feature, advertise
authorkettenis <kettenis@openbsd.org>
Sun, 9 May 2021 15:51:35 +0000 (15:51 +0000)
committerkettenis <kettenis@openbsd.org>
Sun, 9 May 2021 15:51:35 +0000 (15:51 +0000)
commitd28d3fb35285d6a8b4a23cfbc713fd15465952c4
tree8fffc3072574a75e167345402d5d0e7be65fbd4f
parent9a9f00b9e806c2bac04f4fe4dc114b83e17bb520
Some x86 machines advertise the "hardware reduced" ACPI feature, advertise
S4 and S5 support, but fail to populate the SLEEP_CONTROL_REG and
SLEEP_STATUS_REG descriptions in the FADT.  An example of such a machine
is the ASUS Zenbook 14 UM433DA.  Any attempt to powerdown the machine
will result in a kernel crash.  It turns out that using the legacy ACPI PM
registers works fine on this machien.  So fall back on those registers
if SLEEP_CONTROL_REG and/or SLEEP_STATUS_REG aren't provided.

ok deraadt@, mpi@
sys/dev/acpi/acpi.c