A watchdog vdev for x86 (vdev wdt-ip700)

A watchdog vdev for x86 platforms.

The wdt-ib700 vdev emulates an IB700 watchdog timer for x86 platforms. For information about how to configure and use this vdev, see vdev wdt-sp805 in the User's Guide “Virtual Device Reference” chapter.

Like the wdt-sp805 vdev that emulates an ARM hardware device, the wdt-ib700 vdev is architecture-specific; it emulates an x86 hardware device, and can be used only on x86 platforms. This vdev is simpler than the wdt-sp805 vdev because it has less to do to emulate the x86 IP700 watchdog hardware device.

The wdt-ib700 vdev shares the same fundamental anatomy and behavior as other vdevs. Specifically, it:

Note:

Note that in this vdev's factory structure, the vread member is set to NULL, unlike the equivalent member in the wdt-sp805 vdev. The wdt-ip700 vdev doesn't have to handle reads from the guest, and therefore doesn't need a function that calls guest_cpu_write() function to update the vCPU.

Note also that as with the wdt-sp805 vdev, the action taken on a watchdog bite is set by the vdev's action option, and implemented in the wdog_bite() function.