dapmic(4): support clean shutdown with the power button
authorjca <jca@openbsd.org>
Mon, 3 Oct 2022 21:02:02 +0000 (21:02 +0000)
committerjca <jca@openbsd.org>
Mon, 3 Oct 2022 21:02:02 +0000 (21:02 +0000)
commit6311c33104741056cf5ddc1e7f8f0881b2aff41d
tree619ce50fbb814f250daf3fe25159ba87a38b7669
parent01ad66f906499aedbe414ffc5859dc40d001417b
dapmic(4): support clean shutdown with the power button

Register an interrupt handler and look for nONKEY events.
Mask off all other events.  Also clear the FAULT_LOG register at
startup, but don't attempt to acknowledge its contents at runtime.  This
lets the user force a shutdown with a long power button press.  Some
events in EVENT_* or FAULT_LOG may benefit from more graceful handling.

This makes it possible to cleanly shutdown my Hifive Unmatched using
the power button.

Thanks to kettenis@ who wrote sfgpio(4) to handle dapmic(4) interrupts
on the Unmatched.  ok kettenis@
sys/dev/fdt/dapmic.c