xref: /openbmc/qemu/docs/interop/dbus-vmstate.rst (revision b3e02049)
1=============
2D-Bus VMState
3=============
4
5The QEMU dbus-vmstate object's aim is to migrate helpers' data running
6on a QEMU D-Bus bus. (refer to the :doc:`dbus` document for
7some recommendations on D-Bus usage)
8
9Upon migration, QEMU will go through the queue of
10``org.qemu.VMState1`` D-Bus name owners and query their ``Id``. It
11must be unique among the helpers.
12
13It will then save arbitrary data of each Id to be transferred in the
14migration stream and restored/loaded at the corresponding destination
15helper.
16
17For now, the data amount to be transferred is arbitrarily limited to
181Mb. The state must be saved quickly (a fraction of a second). (D-Bus
19imposes a time limit on reply anyway, and migration would fail if data
20isn't given quickly enough.)
21
22dbus-vmstate object can be configured with the expected list of
23helpers by setting its ``id-list`` property, with a comma-separated
24``Id`` list.
25
26.. only:: sphinx4
27
28   .. dbus-doc:: backends/dbus-vmstate1.xml
29
30.. only:: not sphinx4
31
32   .. warning::
33      Sphinx 4 is required to build D-Bus documentation.
34
35      This is the content of ``backends/dbus-vmstate1.xml``:
36
37   .. literalinclude:: ../../backends/dbus-vmstate1.xml
38      :language: xml
39