watchdog(9) software and hardware watchdog facility


In sys/watchdog.h Ft void Fn watchdog_fn void *private u_int cmd int *error Fn EVENTHANDLER_REGISTER watchdog_list watchdog_fn private 0 Fn EVENTHANDLER_DEREGISTER watchdog_list eventhandler_tag


To implement a watchdog in software or hardware, only a single function needs to be written and registered on the global watchdog_list

The function must examine the Fa cmd argument and act on it as follows:

If Fa cmd is zero, the watchdog must be disabled and the Fa error argument left untouched. If the watchdog cannot be disabled, the Fa error argument must be set to EOPNOTSUPP

Else the watchdog should be reset and configured to a timeout of (1 << (Fa cmd & WD_INTERVAL ) ) nanoseconds or larger and the Fa error argument be set to zero to signal arming of a watchdog.

If the watchdog cannot be configured to the proposed timeout, it must be disabled and the Fa error argument left as is (to avoid hiding the arming of another watchdog).

There is no specification of what the watchdog should do when it times out, but a hardware reset or similar ``drastic but certain'' behaviour is recommended.


An -nosplit The facility and this manual page was written An Poul-Henning Kamp Aq [email protected] .