From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: mst@redhat.com
Subject: [Qemu-devel] [PATCH 00/41] virtio: port to vmstate
Date: Wed, 2 Dec 2009 13:03:57 +0100 [thread overview]
Message-ID: <cover.1259754426.git.quintela@redhat.com> (raw)
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(-)
next reply other threads:[~2009-12-02 12:05 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-02 12:03 Juan Quintela [this message]
2009-12-02 12:03 ` [Qemu-devel] [PATCH 01/41] virtio: Teach virtio-balloon about DO_UPCAST Juan Quintela
2009-12-02 18:40 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 02/41] virtio: Teach virtio-blk " Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 03/41] virtio: Teach virtio-console " Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 04/41] virtio: Teach virtio-net " Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 05/41] virtio-console: Remove useless casts Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 06/41] virtio: Use DO_UPCAST instead of a cast Juan Quintela
2009-12-02 13:41 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:19 ` Juan Quintela
2009-12-02 18:19 ` Michael S. Tsirkin
2009-12-02 18:42 ` Juan Quintela
2009-12-02 18:44 ` Michael S. Tsirkin
2009-12-02 19:03 ` Juan Quintela
2009-12-03 9:48 ` Michael S. Tsirkin
2009-12-03 11:56 ` Juan Quintela
2009-12-03 12:04 ` Michael S. Tsirkin
2009-12-03 12:55 ` Juan Quintela
2009-12-03 13:39 ` Avi Kivity
2009-12-02 12:04 ` [Qemu-devel] [PATCH 07/41] virtio-pci: Remove duplicate test Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 08/41] msix: Store sizes that we send/receive Juan Quintela
2009-12-02 13:39 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 09/41] msix: port to vmstate Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 10/41] qemu/pci: document msix_entries_nr field Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 11/41] virtio: Introduce type field to distingish between PCI and Syborg Juan Quintela
2009-12-02 18:42 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 12/41] virtio-pci: port pci config to vmstate Juan Quintela
2009-12-02 14:39 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 13/41] msix: msix_load/save are not needed anymore Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 14/41] virtio: remove save/load_config for virtio Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 15/41] virtio: remove save/load_queue " Juan Quintela
2009-12-02 14:43 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:22 ` Juan Quintela
2009-12-02 18:27 ` Michael S. Tsirkin
2009-12-02 18:50 ` Juan Quintela
2009-12-02 18:57 ` Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 16/41] virtio: Add num_pci_queues field Juan Quintela
2009-12-02 14:46 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 17/41] virtio: split virtio_post_load() from virtio_load() Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 18/41] virtio: change config_len type to int32_t Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 19/41] virtio: use the right types for VirtQueue elements Juan Quintela
2009-12-02 13:47 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:24 ` Juan Quintela
2009-12-02 18:24 ` Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 20/41] virtio: abstract test for save/load values Juan Quintela
2009-12-02 13:53 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 21/41] virtio: port to vmstate Juan Quintela
2009-12-02 18:22 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 22/41] virtio-net: change tx_timer_active to uint32_t Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 23/41] virtio-net: change mergeable_rx_bufs " Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 24/41] virtio-net: use type checking version of qemu_put/get-* Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 25/41] virtio-net: MAC_TABLE_ENTRIES has never been bigger Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 26/41] virtio-net: we know vlans size at compile time, make it static Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 27/41] virtio-net: abstract vlans operations Juan Quintela
2009-12-02 14:49 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:26 ` Juan Quintela
2009-12-02 18:29 ` Michael S. Tsirkin
2009-12-02 18:53 ` Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 28/41] virtio-net: make vlan operations on uint8_t, not uint32_t Juan Quintela
2009-12-02 14:50 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 29/41] virtio-net: in_use and first_multi only handle unsigned values Juan Quintela
2009-12-02 14:52 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:30 ` Juan Quintela
2009-12-02 18:32 ` Michael S. Tsirkin
2009-12-02 18:55 ` Juan Quintela
2009-12-02 18:58 ` Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 30/41] virtio-net: use save/load type chek functions for has_vent_hdr Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 31/41] virtio-net: we know macs size at compile time, make it static Juan Quintela
2009-12-02 14:54 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:33 ` Juan Quintela
2009-12-02 18:48 ` Alex Williamson
2009-12-02 12:04 ` [Qemu-devel] [PATCH 32/41] virtio-net: split virtio_net_post_load Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 33/41] virtio-net: port to vmstate Juan Quintela
2009-12-02 14:58 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:38 ` Juan Quintela
2009-12-02 18:40 ` Michael S. Tsirkin
2009-12-02 19:07 ` Juan Quintela
2009-12-02 18:37 ` Michael S. Tsirkin
2009-12-02 19:18 ` Juan Quintela
2009-12-03 9:19 ` Michael S. Tsirkin
2009-12-03 12:01 ` Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 34/41] virtio-console: " Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 35/41] virtio-balloon: " Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 36/41] virtio-blk: change rq type to VirtIOBlockReq Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 37/41] QLIST: Introduce QLIST_COPY_HEAD Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 38/41] virtio-blk: use QLIST for the list of requests Juan Quintela
2009-12-02 17:38 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:56 ` Juan Quintela
2009-12-02 19:00 ` Michael S. Tsirkin
2009-12-02 12:04 ` [Qemu-devel] [PATCH 39/41] virtio-blk: add VirtIOBlokReqHead type Juan Quintela
2009-12-02 12:04 ` [Qemu-devel] [PATCH 40/41] virtio-blk: port to vmstate Juan Quintela
2009-12-02 17:54 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-04 18:15 ` Anthony Liguori
2009-12-02 12:04 ` [Qemu-devel] [PATCH 41/41] virtio: virtio_save/load are not used anymore Juan Quintela
2009-12-02 18:17 ` [Qemu-devel] " Michael S. Tsirkin
2009-12-02 18:57 ` Juan Quintela
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1259754426.git.quintela@redhat.com \
--to=quintela@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.