Merge remote-tracking branch 'remotes/famz/tags/for-upstream' into staging
[qemu/ar7.git] / docs / specs / pvpanic.txt
blobc7bbacc778ac0caeab5eac5aa7fffd90e45c831a
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.
19 Currently, only bit 0 is recognized, setting it indicates a guest panic
20 has happened.
22 ACPI Interface
23 --------------
25 pvpanic device is defined with ACPI ID "QEMU0001". Custom methods:
27 RDPT:       To determine whether guest panic notification is supported.
28 Arguments:  None
29 Return:     Returns a byte, bit 0 set to indicate guest panic
30             notification is supported. Other bits are reserved and
31             should be ignored.
33 WRPT:       To send a guest panic event
34 Arguments:  Arg0 is a byte, with bit 0 set to indicate guest panic has
35             happened. Other bits are reserved and should be cleared.
36 Return:     None
38 The ACPI device will automatically refer to the right port in case it
39 is modified.