]> git.proxmox.com Git - mirror_qemu.git/blame - docs/specs/pvpanic.rst
tests/qemu-iotests: Restrict test 066 to the 'file' protocol
[mirror_qemu.git] / docs / specs / pvpanic.rst
CommitLineData
b42ffe60
HT
1PVPANIC DEVICE
2==============
3
cb2cc206 4pvpanic device is a simulated device, through which a guest panic
b42ffe60
HT
5event is sent to qemu, and a QMP event is generated. This allows
6management apps (e.g. libvirt) to be notified and respond to the event.
7
8The management app has the option of waiting for GUEST_PANICKED events,
9and/or polling for guest-panicked RunState, to learn when the pvpanic
10device has fired a panic event.
11
cb2cc206
MC
12The pvpanic device can be implemented as an ISA device (using IOPORT) or as a
13PCI device.
14
b42ffe60
HT
15ISA Interface
16-------------
17
18pvpanic exposes a single I/O port, by default 0x505. On read, the bits
19recognized by the device are set. Software should ignore bits it doesn't
20recognize. On write, the bits not recognized by the device are ignored.
21Software should set only bits both itself and the device recognize.
600d7b47
ZP
22
23Bit Definition
945f3fd4
PM
24~~~~~~~~~~~~~~
25
26bit 0
27 a guest panic has happened and should be processed by the host
28bit 1
29 a guest panic has happened and will be handled by the guest;
30 the host should record it or report it, but should not affect
31 the execution of the guest.
73279cec
TW
32bit 2
33 a regular guest shutdown has happened and should be processed by the host
b42ffe60 34
cb2cc206
MC
35PCI Interface
36-------------
37
38The PCI interface is similar to the ISA interface except that it uses an MMIO
39address space provided by its BAR0, 1 byte long. Any machine with a PCI bus
945f3fd4 40can enable a pvpanic device by adding ``-device pvpanic-pci`` to the command
cb2cc206
MC
41line.
42
b42ffe60
HT
43ACPI Interface
44--------------
45
46pvpanic device is defined with ACPI ID "QEMU0001". Custom methods:
47
945f3fd4
PM
48RDPT
49~~~~
50
51To determine whether guest panic notification is supported.
52
53Arguments
54 None
55Return
56 Returns a byte, with the same semantics as the I/O port interface.
57
58WRPT
59~~~~
60
61To send a guest panic event.
b42ffe60 62
945f3fd4
PM
63Arguments
64 Arg0 is a byte to be written, with the same semantics as the I/O interface.
65Return
66 None
b42ffe60
HT
67
68The ACPI device will automatically refer to the right port in case it
69is modified.