qemu-e2k/hw
Alexander Graf 8118f0950f migration: Append JSON description of migration stream
One of the annoyances of the current migration format is the fact that
it's not self-describing. In fact, it's not properly describing at all.
Some code randomly scattered throughout QEMU elaborates roughly how to
read and write a stream of bytes.

We discussed an idea during KVM Forum 2013 to add a JSON description of
the migration protocol itself to the migration stream. This patch
adds a section after the VM_END migration end marker that contains
description data on what the device sections of the stream are composed of.

This approach is backwards compatible with any QEMU version reading the
stream, because QEMU just stops reading after the VM_END marker and ignores
any data following it.

With an additional external program this allows us to decipher the
contents of any migration stream and hopefully make migration bugs easier
to track down.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2015-02-05 17:16:14 +01:00
..
9pfs rcu: add rcu library 2015-02-02 16:55:10 +01:00
acpi pci, pc, virtio fixes and cleanups 2015-01-27 13:17:30 +00:00
alpha
arm hw/arm/virt: explain device-to-transport mapping in create_virtio_devices() 2015-02-05 13:37:23 +00:00
audio sb16: fix interrupt acknowledgement 2015-01-22 11:04:18 +01:00
block - Many fixes from the floor as usual 2015-01-26 11:50:29 +00:00
bt
char vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
core vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
cpu
cris
display ui: Add dpy_gfx_check_format() to check backend shared surface support 2015-01-19 13:33:26 +01:00
dma vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
gpio
i2c
i386 pci, pc, virtio fixes and cleanups 2015-01-27 13:17:30 +00:00
ide ide: Implement VPD response for ATAPI 2015-01-13 13:43:29 +00:00
input vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
intc apic: do not dereference pointer before it is checked for NULL 2015-01-26 12:27:05 +01:00
ipack
isa vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
lm32
m68k
mem pc-dimm: Add Error argument to pc_existing_dimms_capacity 2015-01-27 14:46:18 +02:00
microblaze
mips
misc hw: misc, add educational driver 2015-01-26 12:26:55 +01:00
moxie
net vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
nvram fw_cfg: fix endianness in fw_cfg_data_mem_read() / _write() 2015-01-16 11:54:30 +00:00
openrisc
pci migration: Append JSON description of migration stream 2015-02-05 17:16:14 +01:00
pci-bridge
pci-host
pcmcia
ppc hw/ppc/mac_newworld: simplify usb controller creation logic 2015-01-08 17:32:27 +00:00
s390x s390x/ipl: Improved code indentation in s390_ipl_init() 2015-02-03 13:42:40 +01:00
scsi migration: Append JSON description of migration stream 2015-02-05 17:16:14 +01:00
sd vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
sh4
sparc
sparc64
ssi
timer vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
tpm
tricore
unicore32
usb vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
vfio vfio-pci: Fix missing unparent of dynamically allocated MemoryRegion 2015-02-04 11:45:32 -07:00
virtio migration: Append JSON description of migration stream 2015-02-05 17:16:14 +01:00
watchdog vmstate: accept QEMUTimer in VMSTATE_TIMER*, add VMSTATE_TIMER_PTR* 2015-01-26 12:22:44 +01:00
xen xen-pt: Fix PCI devices re-attach failed 2015-01-13 11:49:46 +00:00
xenpv
xtensa
Makefile.objs