[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Vis
From: |
Michael Roth |
Subject: |
[Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Visitors |
Date: |
Thu, 27 Oct 2011 13:17:12 -0500 |
These patches apply on top of version 2 of:
"do savevm/migration save/load via Visitor interface"
and can also be obtained from:
git://repo.or.cz/qemu/mdroth.git migration-visitor-conversions-set1-v1
OVERVIEW
These patches are the first conversions beyond the catch-all vmstate
conversion in the initial visitor-based save/load series. They were chosen
since they were users of common save/load interfaces in msix.c, pci.c, and
virtio.c which have been converted to accepting a Visitor in place of
QEMUFile as part of this series.
The slirp conversion is a carry-over from the initial RFC with some fix-ups.
The conversions are not pretty in a lot of cases, but the goal is to decouple
save/load from QEMUFile so we can rework things in the context of Visitors and
a new migration protocol.
There are roughly 19 qemufile-based save/load users remaining, 5 of which
are for CPUState serialization, which Juan is already porting to vmstate.
I plan to follow up shortly with the remaining x86-relevant users like apic
and i8254, which will put us about halfway there, with the remainder being:
hw/arm_gic.c
hw/tsc210x.c
hw/ssd0323.c
hw/stellaris_enet.c
hw/sun4u.c
hw/syborg_interrupt.c
hw/pxa2xx_mmci.c
hw/syborg_fb.c
hw/ssi-sd.c
hw/tsc2005.c
hw/pxa2xx.c
hw/rc4030.c
Testing will probably be the gating factor for these.
TESTING
There's a lot of churn here, but the conversions are fairly trivial for the
most part, and have been tested using a mostly-automated test framework that
involves tracing all visitor-based and qemufile-based serialization and
checking for symmetry between pre-converted/post-converted qemu instances.
Test code and procedure is documented at:
http://wiki.qemu.org/Features/Migration/Visitor#Testing
Michael Roth (13):
slirp: convert save/load function to visitor interface
ivshmem: convert save/load to visitor
virtio-pci: convert save/load to visitors
msix: convert save/load to visitors (including interfaces)
openpic: convert save/load to visitors
i440fx: convert save/load to visitors
pci: convert pci_device_(save|load) interfaces to accept Visitors
virtio: convert common virtio save/load to visitors
virtio-balloon: convert save/load to visitors
virtio-blk: convert save/load to visitors
virtio-net: convert save/load to visitors
virtio-serial: convert save/load to visitors
virtio: convert virtio_save/virtio_load interfaces to accept Visitors
hw/ivshmem.c | 52 +++++--
hw/msix.c | 37 ++++--
hw/msix.h | 4 +-
hw/openpic.c | 192 +++++++++++++++++--------
hw/pci.c | 9 +-
hw/pci.h | 6 +-
hw/piix_pci.c | 27 +++-
hw/virtio-balloon.c | 36 ++++-
hw/virtio-blk.c | 80 +++++++++--
hw/virtio-net.c | 166 ++++++++++++++++-------
hw/virtio-pci.c | 75 ++++++++---
hw/virtio-serial-bus.c | 130 ++++++++++++-----
hw/virtio.c | 145 ++++++++++++++------
hw/virtio.h | 14 +-
slirp/slirp.c | 366 ++++++++++++++++++++++++++++--------------------
15 files changed, 918 insertions(+), 421 deletions(-)
--
1.7.4.1
- [Qemu-devel] [PATCH 00/13] Convert slirp/ivshmem/virtio save/load to Visitors,
Michael Roth <=
- [Qemu-devel] [PATCH 04/13] msix: convert save/load to visitors (including interfaces), Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 02/13] ivshmem: convert save/load to visitor, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 05/13] openpic: convert save/load to visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 06/13] i440fx: convert save/load to visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 03/13] virtio-pci: convert save/load to visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 08/13] virtio: convert common virtio save/load to visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 09/13] virtio-balloon: convert save/load to visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 07/13] pci: convert pci_device_(save|load) interfaces to accept Visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 12/13] virtio-serial: convert save/load to visitors, Michael Roth, 2011/10/27
- [Qemu-devel] [PATCH 01/13] slirp: convert save/load function to visitor interface, Michael Roth, 2011/10/27