Hi, This version merges the changes requested during the v7 review, remarks from ppc64 dump support review (yes, we talked about virtio there) and the work on virtio subsections migration. Also two new patches have been added: - patch #1 is a preliminary fix for virtio-serial posted by Alexander Graf - patch #9 prepares the work on the virtio_is_big_endian() helper
The most significant changes are: - introduction of a new CPU method for virtio - endianness is taken from CPU that resets the device - fastpath virtio memory accessors for fixed endian targets - VMState based virtio subsections (compatibility friendly) You'll find more detailed changelog in each patch. Please comment and hopefully apply. Thanks ! --- Greg Kurz (14): virtio-serial: don't migrate the config space virtio: introduce device specific migration calls virtio-net: implement per-device migration calls virtio-blk: implement per-device migration calls virtio-serial: implement per-device migration calls virtio-balloon: implement per-device migration calls virtio-rng: implement per-device migration calls virtio: add subsections to the migration stream exec: introduce target_words_bigendian() helper cpu: introduce CPUClass::virtio_is_big_endian() virtio: add endian-ambivalent support to VirtIODevice virtio: memory accessors for endian-ambivalent targets virtio-9p: use virtio wrappers to access headers target-ppc: enable virtio endian ambivalent support Rusty Russell (6): virtio: allow byte swapping for vring virtio-net: use virtio wrappers to access headers virtio-balloon: use virtio wrappers to access page frame numbers virtio-blk: use virtio wrappers to access headers virtio-scsi: use virtio wrappers to access headers virtio-serial-bus: use virtio wrappers to access headers exec.c | 11 -- hw/9pfs/virtio-9p-device.c | 3 - hw/block/virtio-blk.c | 62 ++++++----- hw/char/virtio-serial-bus.c | 94 ++++++++++------ hw/net/virtio-net.c | 56 +++++++--- hw/scsi/virtio-scsi.c | 40 ++++--- hw/virtio/virtio-balloon.c | 33 +++--- hw/virtio/virtio-pci.c | 11 +- hw/virtio/virtio-rng.c | 12 +- hw/virtio/virtio.c | 217 ++++++++++++++++++++++++++++--------- include/exec/cpu-common.h | 1 include/hw/virtio/virtio-access.h | 170 +++++++++++++++++++++++++++++ include/hw/virtio/virtio.h | 17 +++ include/qom/cpu.h | 10 ++ qom/cpu.c | 6 + target-ppc/cpu.h | 2 target-ppc/translate_init.c | 13 ++ 17 files changed, 572 insertions(+), 186 deletions(-) create mode 100644 include/hw/virtio/virtio-access.h -- Greg