aboutsummaryrefslogtreecommitdiff
path: root/docs/microvm.rst
diff options
context:
space:
mode:
authorSergio Lopez <slp@redhat.com>2019-11-15 17:13:38 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2019-11-19 10:01:34 +0100
commit62e9dc35824eee7caf6878a6ba89a46afa433289 (patch)
treed6ff377e08996883fa3aa05df6fac0525c3b719a /docs/microvm.rst
parentff9d708933c019d963505f65c031ac743ec5de1d (diff)
docs/microvm.rst: add instructions for shutting down the guest
Add a new section explaining the particularities of the microvm machine type for triggering a guest-initiated shut down. Signed-off-by: Sergio Lopez <slp@redhat.com> Message-Id: <20191115161338.42864-3-slp@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'docs/microvm.rst')
-rw-r--r--docs/microvm.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/microvm.rst b/docs/microvm.rst
index 4cf84746b9..fcf41fc1f6 100644
--- a/docs/microvm.rst
+++ b/docs/microvm.rst
@@ -106,3 +106,24 @@ disabled::
-device virtio-blk-device,drive=test \
-netdev tap,id=tap0,script=no,downscript=no \
-device virtio-net-device,netdev=tap0
+
+
+Triggering a guest-initiated shut down
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+As the microvm machine type includes just a small set of system
+devices, some x86 mechanisms for rebooting or shutting down the
+system, like sending a key sequence to the keyboard or writing to an
+ACPI register, doesn't have any effect in the VM.
+
+The recommended way to trigger a guest-initiated shut down is by
+generating a ``triple-fault``, which will cause the VM to initiate a
+reboot. Additionally, if the ``-no-reboot`` argument is present in the
+command line, QEMU will detect this event and terminate its own
+execution gracefully.
+
+Linux does support this mechanism, but by default will only be used
+after other options have been tried and failed, causing the reboot to
+be delayed by a small number of seconds. It's possible to instruct it
+to try the triple-fault mechanism first, by adding ``reboot=t`` to the
+kernel's command line.