From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> Hi, This set adds the VMSTATE_WITH_TMP macro to allow the allocation of temporary space during migration for cases where the data to be migrated must be derived from the data that's actually in use.
The first use of it is in the VMStatification of slirp's sbuf, so I've included my current set of slirp patches; this just leaves the top level loop to be converted. This set depends on the first of Jianjun's VMStateInfo changes, which I've included but it would be best just to pull that set first. Dave Dr. David Alan Gilbert (7): add QEMU_BUILD_BUG_EXPR migration: Add VMSTATE_WITH_TMP tests/migration: Add test for VMSTATE_WITH_TMP slirp: VMState conversion; tcpcb slirp: VMStatify sbuf slirp: VMStatify socket level slirp: VMStatify remaining except for loop Jianjun Duan (1): migration: extend VMStateInfo hw/display/virtio-gpu.c | 6 +- hw/intc/s390_flic_kvm.c | 6 +- hw/net/vmxnet3.c | 18 +- hw/nvram/eeprom93xx.c | 6 +- hw/nvram/fw_cfg.c | 6 +- hw/pci/msix.c | 6 +- hw/pci/pci.c | 12 +- hw/pci/shpc.c | 5 +- hw/scsi/scsi-bus.c | 6 +- hw/timer/twl92230.c | 6 +- hw/usb/redirect.c | 18 +- hw/virtio/virtio-pci.c | 6 +- hw/virtio/virtio.c | 12 +- include/migration/vmstate.h | 34 +++- include/qemu/compiler.h | 5 + migration/savevm.c | 5 +- migration/vmstate.c | 144 +++++++++++---- slirp/sbuf.h | 4 +- slirp/slirp.c | 432 +++++++++++++++++++++----------------------- slirp/socket.h | 6 +- slirp/tcp_var.h | 6 +- target-alpha/machine.c | 5 +- target-arm/machine.c | 12 +- target-i386/machine.c | 21 ++- target-mips/machine.c | 10 +- target-ppc/machine.c | 10 +- target-sparc/machine.c | 5 +- tests/test-vmstate.c | 97 +++++++++- 28 files changed, 566 insertions(+), 343 deletions(-) -- 2.9.3