WDT(4)                OpenBSD Programmer's Manual (i386)                WDT(4)

NAME
     wdt - ICS PCI-WDT500/501 watchdog timer device driver

SYNOPSIS
     option WDT_DISABLE_BUZZER
     wdt0 at pci? dev ? function ?

DESCRIPTION
     The wdt driver provides support for the Industrial Computer Source PCI-
     WDT500 and PCI-WDT501 boards.

     For PCI-WDT500 boards, basic watchdog timer functionality is supported.
     For PCI-WDT501 boards, additional access to the onboard buzzer, isolated
     inputs, temperature, and power supply monitors is provided.  To disable
     the onboard buzzer on PCI-WDT501 boards, add option WDT_DISABLE_BUZZER to
     your kernel configuration.

     By default the watchdog timer is set to 30 seconds and is refreshed by
     the kernel's timeout processing.  If the kernel crashes, the watchdog
     timer is not reset and the system will reboot (assuming a proper connec-
     tion is made between the WDT50x and motherboard).  Alternatively, the
     watchdog can be reinitialized via a userland process which ensures that
     process scheduling, not just kernel timeout processing, is still taking
     place.  See the WIOCSCHED ioctl(2) below for more information.

INTERFACE
     The wdt driver is controlled via ioctl(2) calls to /dev/wdt0. The follow-
     ing commands are supported:

     WIOCGETSTATE  Returns the current temperature and board status into the
                   wdt_state structure pointer passed to ioctl(2). See
                   <dev/pci/wdt50x.h> for the definition of the wdt_state
                   structure and state bits.

     WIOCSCHED     Places the process into an infinite loop (interrupted only
                   via a signal) to guarantee process scheduling.  The driver
                   utilizes the process' context to reinitialize the watchdog
                   timeout.  Should process scheduling fail, the timeout will
                   not be reinitialized and the system will be rebooted.  Note
                   that it is possible to force a reboot by sending a SIGSTOP
                   signal to a process in WIOCSCHED and waiting for the watch-
                   dog timer to expire.  Since WIOCSCHED can have such dramat-
                   ic consequences, it may only be issued by superuser pro-
                   cesses regardless of the permissions on /dev/wdt0.

FILES
     /dev/wdt0                      watchdog control device
     /usr/include/dev/pci/wdt50x.h  structure and ioctl definitions

SEE ALSO
     ioctl(2)

HISTORY
     The wdt driver first appeared in OpenBSD 2.6.

BUGS
     The ioctl interface isn't generic.

     It's unwise to combine wdt with ddb(4) since the latter may prevent the
     former from resetting the watchdog timeout before it expires.

OpenBSD 3.0                     April 25, 1999                               1
