Hu Tao | b42ffe6 | 2013-04-26 11:24:45 +0800 | [diff] [blame] | 1 | PVPANIC DEVICE |
| 2 | ============== |
| 3 | |
| 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. |
| 7 | |
| 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. |
| 11 | |
| 12 | ISA Interface |
| 13 | ------------- |
| 14 | |
| 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. |
zhenwei pi | 600d7b4 | 2020-01-14 10:31:01 +0800 | [diff] [blame] | 19 | |
| 20 | Bit Definition |
| 21 | -------------- |
zhenwei pi | 7dc58de | 2020-01-14 10:31:02 +0800 | [diff] [blame] | 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. |
Hu Tao | b42ffe6 | 2013-04-26 11:24:45 +0800 | [diff] [blame] | 26 | |
| 27 | ACPI Interface |
| 28 | -------------- |
| 29 | |
| 30 | pvpanic device is defined with ACPI ID "QEMU0001". Custom methods: |
| 31 | |
| 32 | RDPT: To determine whether guest panic notification is supported. |
| 33 | Arguments: None |
zhenwei pi | 7dc58de | 2020-01-14 10:31:02 +0800 | [diff] [blame] | 34 | Return: Returns a byte, with the same semantics as the I/O port |
| 35 | interface. |
Hu Tao | b42ffe6 | 2013-04-26 11:24:45 +0800 | [diff] [blame] | 36 | |
| 37 | WRPT: To send a guest panic event |
zhenwei pi | 7dc58de | 2020-01-14 10:31:02 +0800 | [diff] [blame] | 38 | Arguments: Arg0 is a byte to be written, with the same semantics as |
| 39 | the I/O interface. |
Hu Tao | b42ffe6 | 2013-04-26 11:24:45 +0800 | [diff] [blame] | 40 | Return: None |
| 41 | |
| 42 | The ACPI device will automatically refer to the right port in case it |
| 43 | is modified. |