MAINTAINERS: Make section QOM cover hw/core/*bus.c as well
[qemu/armbru.git] / docs / specs / pvpanic.txt
bloba90fbca72b7965383b1733ef1b85e4e1220685c9
1 PVPANIC DEVICE
2 ==============
4 pvpanic device is a simulated ISA device, through which a guest panic
5 event is sent to qemu, and a QMP event is generated. This allows
6 management apps (e.g. libvirt) to be notified and respond to the event.
8 The management app has the option of waiting for GUEST_PANICKED events,
9 and/or polling for guest-panicked RunState, to learn when the pvpanic
10 device has fired a panic event.
12 ISA Interface
13 -------------
15 pvpanic exposes a single I/O port, by default 0x505. On read, the bits
16 recognized by the device are set. Software should ignore bits it doesn't
17 recognize. On write, the bits not recognized by the device are ignored.
18 Software should set only bits both itself and the device recognize.
20 Bit Definition
21 --------------
22 bit 0: a guest panic has happened and should be processed by the host
23 bit 1: a guest panic has happened and will be handled by the guest;
24        the host should record it or report it, but should not affect
25        the execution of the guest.
27 ACPI Interface
28 --------------
30 pvpanic device is defined with ACPI ID "QEMU0001". Custom methods:
32 RDPT:       To determine whether guest panic notification is supported.
33 Arguments:  None
34 Return:     Returns a byte, with the same semantics as the I/O port
35             interface.
37 WRPT:       To send a guest panic event
38 Arguments:  Arg0 is a byte to be written, with the same semantics as
39             the I/O interface.
40 Return:     None
42 The ACPI device will automatically refer to the right port in case it
43 is modified.