summary refs log tree commit diff stats
path: root/docs/specs/virt-ctlr.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/specs/virt-ctlr.rst')
-rw-r--r--docs/specs/virt-ctlr.rst24
1 files changed, 24 insertions, 0 deletions
diff --git a/docs/specs/virt-ctlr.rst b/docs/specs/virt-ctlr.rst
new file mode 100644
index 0000000000..ad3edde82d
--- /dev/null
+++ b/docs/specs/virt-ctlr.rst
@@ -0,0 +1,24 @@
+Virtual System Controller
+=========================
+
+The ``virt-ctrl`` device is a simple interface defined for the pure
+virtual machine with no hardware reference implementation to allow the
+guest kernel to send command to the host hypervisor.
+
+The specification can evolve, the current state is defined as below.
+
+This is a MMIO mapped device using 256 bytes.
+
+Two 32bit registers are defined:
+
+the features register (read-only, address 0x00)
+   This register allows the device to report features supported by the
+   controller.
+   The only feature supported for the moment is power control (0x01).
+
+the command register (write-only, address 0x04)
+   This register allows the kernel to send the commands to the hypervisor.
+   The implemented commands are part of the power control feature and
+   are reset (1), halt (2) and panic (3).
+   A basic command, no-op (0), is always present and can be used to test the
+   register access. This command has no effect.