From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NMlYA-0000gQ-BD for qemu-devel@nongnu.org; Mon, 21 Dec 2009 11:56:02 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NMlY5-0000dT-RV for qemu-devel@nongnu.org; Mon, 21 Dec 2009 11:56:01 -0500 Received: from [199.232.76.173] (port=47643 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NMlY5-0000dQ-MA for qemu-devel@nongnu.org; Mon, 21 Dec 2009 11:55:57 -0500 Received: from mx1.redhat.com ([209.132.183.28]:25721) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NMlY5-0004gI-53 for qemu-devel@nongnu.org; Mon, 21 Dec 2009 11:55:57 -0500 Date: Mon, 21 Dec 2009 18:53:09 +0200 From: "Michael S. Tsirkin" Message-ID: <20091221165309.GA10377@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCHv3-RFC 0/2] qemu: properties for feature compatibility List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Anthony Liguori , kraxel@redhat.com Here's what I came up with for solving the problem of differences in features in virtio between 0.12 and 0.11. This also enables migration between different backends, e.g. between host where tap supports virtio net header and where it does not: management just needs to set features appropriately. Changes since RFC v2: - we already have a flag to control write cache feature, let's not add another one Changes since RFC: - add symbolic names for properties - only optional features can be changed Comments? Gerd, what do you think? Michael S. Tsirkin (2): qdev: add bit property type virtio: add features as qdev properties hw/qdev-properties.c | 70 +++++++++++++++++++++++++++++++++++++++++++++----- hw/qdev.h | 9 ++++++ hw/syborg_virtio.c | 12 +++++--- hw/virtio-balloon.c | 4 +- hw/virtio-blk.c | 6 +--- hw/virtio-blk.h | 8 +++++ hw/virtio-console.c | 4 +- hw/virtio-net.c | 39 +++++++++++---------------- hw/virtio-net.h | 20 ++++++++++++++ hw/virtio-pci.c | 25 ++++++++++++----- hw/virtio.c | 2 +- hw/virtio.h | 7 ++++- 12 files changed, 152 insertions(+), 54 deletions(-)