xref: /qemu/docs/xen-save-devices-state.txt (revision 1ef1cee7)
1a7ae8355SStefano Stabellini= Save Devices =
2a7ae8355SStefano Stabellini
3a7ae8355SStefano StabelliniQEMU has code to load/save the state of the guest that it is running.
4a7ae8355SStefano StabelliniThese are two complementary operations.  Saving the state just does
5a7ae8355SStefano Stabellinithat, saves the state for each device that the guest is running.
6a7ae8355SStefano Stabellini
7a7ae8355SStefano StabelliniThese operations are normally used with migration (see migration.txt),
8a7ae8355SStefano Stabellinihowever it is also possible to save the state of all devices to file,
9a7ae8355SStefano Stabelliniwithout saving the RAM or the block devices of the VM.
10a7ae8355SStefano Stabellini
11*1ef1cee7SMarkus ArmbrusterThe save operation is available as QMP command xen-save-devices-state.
12a7ae8355SStefano Stabellini
13a7ae8355SStefano Stabellini
14a7ae8355SStefano StabelliniThe binary format used in the file is the following:
15a7ae8355SStefano Stabellini
16a7ae8355SStefano Stabellini
17a7ae8355SStefano Stabellini-------------------------------------------
18a7ae8355SStefano Stabellini
19a7ae8355SStefano Stabellini32 bit big endian: QEMU_VM_FILE_MAGIC
20a7ae8355SStefano Stabellini32 bit big endian: QEMU_VM_FILE_VERSION
21a7ae8355SStefano Stabellini
22a7ae8355SStefano Stabellinifor_each_device
23a7ae8355SStefano Stabellini{
24a7ae8355SStefano Stabellini    8 bit:              QEMU_VM_SECTION_FULL
25a7ae8355SStefano Stabellini    32 bit big endian:  section_id
26a7ae8355SStefano Stabellini    8 bit:              idstr (ID string) length
27a7ae8355SStefano Stabellini    string:             idstr (ID string)
28a7ae8355SStefano Stabellini    32 bit big endian:  instance_id
29a7ae8355SStefano Stabellini    32 bit big endian:  version_id
30a7ae8355SStefano Stabellini    buffer:             device specific data
31a7ae8355SStefano Stabellini}
32a7ae8355SStefano Stabellini
33a7ae8355SStefano Stabellini8 bit: QEMU_VM_EOF
34