qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/41] virtio: port to vmstate


From: Juan Quintela
Subject: [Qemu-devel] [PATCH 00/41] virtio: port to vmstate
Date: Wed, 2 Dec 2009 13:03:57 +0100

Hi

this patch series run on top of my previous vmstate cleanups and fixes.
It ports virtio* and msix at the same time (msix and virtio-pci are too 
entangled
to do it separately).  It contains:

- Use DO_UPCAST instead of local function for doing the casts
- virtio: add a type field (pci and syborg by now).
- strange pci bindings for virtio are gone (i.e. config and queues are handled
  explicitely for pci, the ones that used them).
- virtio-net: make vlans to use uint8_t instead of uint32_t array, that
  makes it work through big_endian/low endian migrations.  This needs testing
  from people that use the feature.
- virtio-blk: It has no hope for migration between 32/64bits hosts or
  big-endian/little-endian.  It sends a structure with memcpy that contains:
  - target_phys_addr_t (32 or 64 bits depending on host/guest)
  - void *             (again it depends on host)
  - size_t             (it depends on host again)
  I didn't changed it, but we should.
- virtio-blk: change the list of requests to QLIST.  I also needed a
  QLIST_COPY_HEAD to not have to break the abstraction, created it.

Later, Juan.

Juan Quintela (40):
  virtio: Teach virtio-balloon about DO_UPCAST
  virtio: Teach virtio-blk about DO_UPCAST
  virtio: Teach virtio-console about DO_UPCAST
  virtio: Teach virtio-net about DO_UPCAST
  virtio-console: Remove useless casts
  virtio: Use DO_UPCAST instead of a cast
  virtio-pci: Remove duplicate test
  msix: Store sizes that we send/receive
  msix: port to vmstate
  virtio: Introduce type field to distingish between PCI and Syborg
  virtio-pci: port pci config to vmstate
  msix: msix_load/save are not needed anymore
  virtio: remove save/load_config for virtio
  virtio: remove save/load_queue for virtio
  virtio: Add num_pci_queues field
  virtio: split virtio_post_load() from virtio_load()
  virtio: change config_len type to int32_t
  virtio: use the right types for VirtQueue elements
  virtio: abstract test for save/load values
  virtio: port to vmstate
  virtio-net: change tx_timer_active to uint32_t
  virtio-net: change mergeable_rx_bufs to uint32_t
  virtio-net: use type checking version of qemu_put/get-*
  virtio-net: MAC_TABLE_ENTRIES has never been bigger
  virtio-net: we know vlans size at compile time, make it static
  virtio-net: abstract vlans operations
  virtio-net: make vlan operations on uint8_t, not uint32_t
  virtio-net: in_use and first_multi only handle unsigned values
  virtio-net: use save/load type chek functions for has_vent_hdr
  virtio-net: we know macs size at compile time, make it static
  virtio-net: split virtio_net_post_load
  virtio-net: port to vmstate
  virtio-console: port to vmstate
  virtio-balloon: port to vmstate
  virtio-blk: change rq type to VirtIOBlockReq
  QLIST: Introduce QLIST_COPY_HEAD
  virtio-blk: use QLIST for the list of requests
  virtio-blk: add VirtIOBlokReqHead type
  virtio-blk: port to vmstate
  virtio: virtio_save/load are not used anymore

Michael S. Tsirkin (1):
  qemu/pci: document msix_entries_nr field

 hw/hw.h             |   10 +++
 hw/msix.c           |   37 ++++++---
 hw/msix.h           |    3 +-
 hw/pci.h            |    6 +-
 hw/syborg_virtio.c  |    1 +
 hw/virtio-balloon.c |   53 +++++---------
 hw/virtio-blk.c     |  101 +++++++++++++++----------
 hw/virtio-console.c |   43 ++++-------
 hw/virtio-net.c     |  207 +++++++++++++++++++++++++--------------------------
 hw/virtio-pci.c     |   80 ++++++++++---------
 hw/virtio.c         |  138 ++++++++++++++++++++++------------
 hw/virtio.h         |   24 ++++--
 qemu-queue.h        |    4 +
 13 files changed, 390 insertions(+), 317 deletions(-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]