qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Hardware watchdogs (patch for discussion only)


From: Richard W.M. Jones
Subject: [Qemu-devel] Hardware watchdogs (patch for discussion only)
Date: Wed, 25 Feb 2009 23:37:18 +0000
User-agent: Mutt/1.5.18 (2008-05-17)

Hi:

I want to share an unfinished patch with the list just to make sure
that I'm heading in the right direction.

This patch aims to implement a virtual hardware watchdog device.  A
hardware watchdog in a real machine is a device that must be tickled
periodically by a userspace process to prove that the machine's
userspace is (in some sense) "alive".  If the device isn't tickled
then after some timeout, it reboots the machine.

These devices are generally very simple.  I picked two devices to
emulate: the IBase 700, which is almost trivial, an ISA port to enable
and set the timeout, and another ISA port to disable.  And the Intel
6300ESB, a PCI device which represents a mid-high end range of
features and is very well documented.  Both have clean Linux device
drivers:

  http://lxr.linux.no/linux+v2.6.28.5/drivers/watchdog/ib700wdt.c
  http://lxr.linux.no/linux+v2.6.28.5/drivers/watchdog/i6300esb.c

(Both also come with Windows drivers which I haven't tested)

The attached patch contains a working emulation of the Intel 6300ESB.
The IB700 is simpler, but I haven't got around to implementing it yet.
Save/restore/migration is also on the to-do list.

I have tested my emulated Intel device using the Linux watchdog
program, and it appears to work.

  http://sourceforge.net/projects/watchdog/

Any comments?

Rich.

-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top

Attachment: qemu-watchdog-1.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]