]>
Commit | Line | Data |
---|---|---|
b42ffe60 HT |
1 | PVPANIC DEVICE |
2 | ============== | |
3 | ||
cb2cc206 | 4 | pvpanic device is a simulated device, through which a guest panic |
b42ffe60 HT |
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 | ||
cb2cc206 MC |
12 | The pvpanic device can be implemented as an ISA device (using IOPORT) or as a |
13 | PCI device. | |
14 | ||
b42ffe60 HT |
15 | ISA Interface |
16 | ------------- | |
17 | ||
18 | pvpanic exposes a single I/O port, by default 0x505. On read, the bits | |
19 | recognized by the device are set. Software should ignore bits it doesn't | |
20 | recognize. On write, the bits not recognized by the device are ignored. | |
21 | Software should set only bits both itself and the device recognize. | |
600d7b47 ZP |
22 | |
23 | Bit Definition | |
945f3fd4 PM |
24 | ~~~~~~~~~~~~~~ |
25 | ||
26 | bit 0 | |
27 | a guest panic has happened and should be processed by the host | |
28 | bit 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 |
32 | bit 2 |
33 | a regular guest shutdown has happened and should be processed by the host | |
b42ffe60 | 34 | |
cb2cc206 MC |
35 | PCI Interface |
36 | ------------- | |
37 | ||
38 | The PCI interface is similar to the ISA interface except that it uses an MMIO | |
39 | address space provided by its BAR0, 1 byte long. Any machine with a PCI bus | |
945f3fd4 | 40 | can enable a pvpanic device by adding ``-device pvpanic-pci`` to the command |
cb2cc206 MC |
41 | line. |
42 | ||
b42ffe60 HT |
43 | ACPI Interface |
44 | -------------- | |
45 | ||
46 | pvpanic device is defined with ACPI ID "QEMU0001". Custom methods: | |
47 | ||
945f3fd4 PM |
48 | RDPT |
49 | ~~~~ | |
50 | ||
51 | To determine whether guest panic notification is supported. | |
52 | ||
53 | Arguments | |
54 | None | |
55 | Return | |
56 | Returns a byte, with the same semantics as the I/O port interface. | |
57 | ||
58 | WRPT | |
59 | ~~~~ | |
60 | ||
61 | To send a guest panic event. | |
b42ffe60 | 62 | |
945f3fd4 PM |
63 | Arguments |
64 | Arg0 is a byte to be written, with the same semantics as the I/O interface. | |
65 | Return | |
66 | None | |
b42ffe60 HT |
67 | |
68 | The ACPI device will automatically refer to the right port in case it | |
69 | is modified. |