[Top][All Lists]
[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(-)
- [Qemu-devel] [PATCH 00/41] virtio: port to vmstate,
Juan Quintela <=
- [Qemu-devel] [PATCH 01/41] virtio: Teach virtio-balloon about DO_UPCAST, Juan Quintela, 2009/12/02
- [Qemu-devel] [PATCH 02/41] virtio: Teach virtio-blk about DO_UPCAST, Juan Quintela, 2009/12/02
- [Qemu-devel] [PATCH 03/41] virtio: Teach virtio-console about DO_UPCAST, Juan Quintela, 2009/12/02
- [Qemu-devel] [PATCH 04/41] virtio: Teach virtio-net about DO_UPCAST, Juan Quintela, 2009/12/02
- [Qemu-devel] [PATCH 05/41] virtio-console: Remove useless casts, Juan Quintela, 2009/12/02
- [Qemu-devel] [PATCH 07/41] virtio-pci: Remove duplicate test, Juan Quintela, 2009/12/02
- [Qemu-devel] [PATCH 06/41] virtio: Use DO_UPCAST instead of a cast, Juan Quintela, 2009/12/02