2013-04-26 07:24:45 +04:00
|
|
|
PVPANIC DEVICE
|
|
|
|
==============
|
|
|
|
|
2021-01-27 17:59:29 +03:00
|
|
|
pvpanic device is a simulated device, through which a guest panic
|
2013-04-26 07:24:45 +04:00
|
|
|
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.
|
|
|
|
|
2021-01-27 17:59:29 +03:00
|
|
|
The pvpanic device can be implemented as an ISA device (using IOPORT) or as a
|
|
|
|
PCI device.
|
|
|
|
|
2013-04-26 07:24:45 +04:00
|
|
|
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.
|
2020-01-14 05:31:01 +03:00
|
|
|
|
|
|
|
Bit Definition
|
2023-09-27 18:12:01 +03:00
|
|
|
~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
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.
|
2024-05-27 09:27:54 +03:00
|
|
|
bit 2
|
2024-03-10 18:04:51 +03:00
|
|
|
a regular guest shutdown has happened and should be processed by the host
|
2013-04-26 07:24:45 +04:00
|
|
|
|
2021-01-27 17:59:29 +03:00
|
|
|
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
|
2023-09-27 18:12:01 +03:00
|
|
|
can enable a pvpanic device by adding ``-device pvpanic-pci`` to the command
|
2021-01-27 17:59:29 +03:00
|
|
|
line.
|
|
|
|
|
2013-04-26 07:24:45 +04:00
|
|
|
ACPI Interface
|
|
|
|
--------------
|
|
|
|
|
|
|
|
pvpanic device is defined with ACPI ID "QEMU0001". Custom methods:
|
|
|
|
|
2023-09-27 18:12:01 +03:00
|
|
|
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.
|
2013-04-26 07:24:45 +04:00
|
|
|
|
2023-09-27 18:12:01 +03:00
|
|
|
Arguments
|
|
|
|
Arg0 is a byte to be written, with the same semantics as the I/O interface.
|
|
|
|
Return
|
|
|
|
None
|
2013-04-26 07:24:45 +04:00
|
|
|
|
|
|
|
The ACPI device will automatically refer to the right port in case it
|
|
|
|
is modified.
|