Hi all, I addressed some review comments. For QTAILQ, I hope we can reach a compromise since there are more than one way to do it. For some work such as the ability to initialize newly allocated QTAILQ element with default value, I think it is better to do it later on in a separate series. Comments are welcome.
v12: - Fixed return type for put_qtailq which caused build break. Previous versions are: v11: - Split error_report statements into a separate patch. - Changed the signature of put. It now returns int type. - Minor changes to QTAILQ macros. v10: - Fixed a typo. (http://lists.nongnu.org/archive/html/qemu-ppc/2016-10/msg01206.html) v9: - No more hard encoding of QTAILQ layout information (link: http://lists.nongnu.org/archive/html/qemu-ppc/2016-10/msg01042.html) v8: - Fixed a style issue. (link: http://lists.nongnu.org/archive/html/qemu-ppc/2016-10/msg00874.html) v7: - Fixed merge errors. - Simplified macro definitions related to pointer arithmetic based QTAILQ access. - Added test case for QTAILQ migration in tests/test-vmstate.c. (link: http://lists.nongnu.org/archive/html/qemu-ppc/2016-10/msg00711.html) v6: - Split from Power specific patches. - Dropped VMS_LINKED flag. - Rebased to master. - Added comments to clarify about put/get in VMStateInfo. (link: http://lists.nongnu.org/archive/html/qemu-ppc/2016-10/msg00336.html) v5: - Rebased to David's ppc-for-2.8. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-10/msg00270.html) v4: - Introduce a way to set customized instance_id in SaveStateEntry. Use it to set instance_id for DRC using its unique index to address David Gibson's concern. - Rename VMS_CSTM to VMS_LINKED based on Paolo Bonzini's suggestions. - Clean up qjson stuff in put_qtailq. - Add trace for put_qtailq and get_qtailq based on David Gilbert's suggestion. - Based on David's ppc-for-2.7. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg07720.html) v3: - Simplify overall design followng discussion with Paolo. No longer need metadata to migrate QTAILQ. - Extend VMStateInfo instead of adding similar fields to VMStateField. - Clean up macros in qemu/queue.h. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg05695.html) v2: - Introduce a general approach to migrate QTAILQ in qemu/queue.h. - Migrate signalled field in the DRC state. - Put the newly added migrating fields in subsections so that backward migration is not broken. - Set detach_cb field right after migration so that a migrated hot-unplug event could finish its course. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg04188.html) v1: - Inital version. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg02601.html) Jianjun Duan (4): migration: extend VMStateInfo migration: migrate QTAILQ tests/migration: Add test for QTAILQ migration migration: add error_report hw/display/virtio-gpu.c | 8 +- hw/intc/s390_flic_kvm.c | 8 +- hw/net/vmxnet3.c | 24 ++++-- hw/nvram/eeprom93xx.c | 8 +- hw/nvram/fw_cfg.c | 8 +- hw/pci/msix.c | 8 +- hw/pci/pci.c | 16 +++- hw/pci/shpc.c | 7 +- hw/scsi/scsi-bus.c | 8 +- hw/timer/twl92230.c | 8 +- hw/usb/redirect.c | 24 ++++-- hw/virtio/virtio-pci.c | 8 +- hw/virtio/virtio.c | 15 +++- include/migration/vmstate.h | 39 ++++++++-- include/qemu/queue.h | 60 +++++++++++++++ migration/savevm.c | 7 +- migration/trace-events | 4 + migration/vmstate.c | 184 +++++++++++++++++++++++++++++++++++--------- target-alpha/machine.c | 6 +- target-arm/machine.c | 14 +++- target-i386/machine.c | 26 +++++-- target-mips/machine.c | 14 +++- target-ppc/machine.c | 12 ++- target-sparc/machine.c | 6 +- tests/test-vmstate.c | 160 ++++++++++++++++++++++++++++++++++++++ 25 files changed, 577 insertions(+), 105 deletions(-) -- 1.9.1