aboutsummaryrefslogtreecommitdiff
path: root/docs/specs/pvpanic.rst
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2023-09-27 16:12:01 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-11-02 12:52:06 +0000
commit945f3fd4e46405ed37b035922eebe2bfad6bc11e (patch)
tree1100c782ab9e83c954a426bd528bc63d0d617081 /docs/specs/pvpanic.rst
parentbb1cff6ee044cb13e2e81609a0b9a86378f85f1f (diff)
downloadqemu-945f3fd4e46405ed37b035922eebe2bfad6bc11e.zip
qemu-945f3fd4e46405ed37b035922eebe2bfad6bc11e.tar.gz
qemu-945f3fd4e46405ed37b035922eebe2bfad6bc11e.tar.bz2
docs/specs/pvpanic: Convert to rST
Convert docs/specs/pvpanic.txt to rST format. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20230927151205.70930-5-peter.maydell@linaro.org Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'docs/specs/pvpanic.rst')
-rw-r--r--docs/specs/pvpanic.rst67
1 files changed, 67 insertions, 0 deletions
diff --git a/docs/specs/pvpanic.rst b/docs/specs/pvpanic.rst
new file mode 100644
index 0000000..f894bc1
--- /dev/null
+++ b/docs/specs/pvpanic.rst
@@ -0,0 +1,67 @@
+PVPANIC DEVICE
+==============
+
+pvpanic device is a simulated device, through which a guest panic
+event is sent to qemu, and a QMP event is generated. This allows
+management apps (e.g. libvirt) to be notified and respond to the event.
+
+The management app has the option of waiting for GUEST_PANICKED events,
+and/or polling for guest-panicked RunState, to learn when the pvpanic
+device has fired a panic event.
+
+The pvpanic device can be implemented as an ISA device (using IOPORT) or as a
+PCI device.
+
+ISA Interface
+-------------
+
+pvpanic exposes a single I/O port, by default 0x505. On read, the bits
+recognized by the device are set. Software should ignore bits it doesn't
+recognize. On write, the bits not recognized by the device are ignored.
+Software should set only bits both itself and the device recognize.
+
+Bit Definition
+~~~~~~~~~~~~~~
+
+bit 0
+ a guest panic has happened and should be processed by the host
+bit 1
+ a guest panic has happened and will be handled by the guest;
+ the host should record it or report it, but should not affect
+ the execution of the guest.
+
+PCI Interface
+-------------
+
+The PCI interface is similar to the ISA interface except that it uses an MMIO
+address space provided by its BAR0, 1 byte long. Any machine with a PCI bus
+can enable a pvpanic device by adding ``-device pvpanic-pci`` to the command
+line.
+
+ACPI Interface
+--------------
+
+pvpanic device is defined with ACPI ID "QEMU0001". Custom methods:
+
+RDPT
+~~~~
+
+To determine whether guest panic notification is supported.
+
+Arguments
+ None
+Return
+ Returns a byte, with the same semantics as the I/O port interface.
+
+WRPT
+~~~~
+
+To send a guest panic event.
+
+Arguments
+ Arg0 is a byte to be written, with the same semantics as the I/O interface.
+Return
+ None
+
+The ACPI device will automatically refer to the right port in case it
+is modified.