PVPANIC DEVICE
==============

pvpanic device is a simulated device, through which a guest panic
event is sent to qemu, and a QMP event is generated. This allows
management apps (e.g. libvirt) to be notified and respond to the event.

The management app has the option of waiting for GUEST_PANICKED events,
and/or polling for guest-panicked RunState, to learn when the pvpanic
device has fired a panic event.

The pvpanic device can be implemented as an ISA device (using IOPORT) or as a
PCI device.

ISA Interface
-------------

pvpanic exposes a single I/O port, by default 0x505. On read, the bits
recognized by the device are set. Software should ignore bits it doesn't
recognize. On write, the bits not recognized by the device are ignored.
Software should set only bits both itself and the device recognize.

Bit Definition
--------------
bit 0: a guest panic has happened and should be processed by the host
bit 1: a guest panic has happened and will be handled by the guest;
       the host should record it or report it, but should not affect
       the execution of the guest.

PCI Interface
-------------

The PCI interface is similar to the ISA interface except that it uses an MMIO
address space provided by its BAR0, 1 byte long. Any machine with a PCI bus
can enable a pvpanic device by adding '-device pvpanic-pci' to the command
line.

ACPI Interface
--------------

pvpanic device is defined with ACPI ID "QEMU0001". Custom methods:

RDPT:       To determine whether guest panic notification is supported.
Arguments:  None
Return:     Returns a byte, with the same semantics as the I/O port
            interface.

WRPT:       To send a guest panic event
Arguments:  Arg0 is a byte to be written, with the same semantics as
            the I/O interface.
Return:     None

The ACPI device will automatically refer to the right port in case it
is modified.
