From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753338AbbDAM5r (ORCPT ); Wed, 1 Apr 2015 08:57:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56304 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752536AbbDAM5q (ORCPT ); Wed, 1 Apr 2015 08:57:46 -0400 Date: Wed, 1 Apr 2015 14:57:35 +0200 From: "Michael S. Tsirkin" To: linux-kernel@vger.kernel.org Cc: Cornelia Huck , Pawel Moll , virtio-dev@lists.oasis-open.org Subject: [PATCH v3 0/6] virtio_balloon: virtio 1 support Message-ID: <1427884468-23930-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Mutt-Fcc: =sent Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Virtio 1.0 doesn't include a modern balloon device. At some point we'll likely define an incompatible interface with a different ID and different semantics. But for now, it's not a big effort to support a transitional balloon device: this has the advantage of supporting existing drivers, transparently, as well as transports that don't allow mixing virtio 0 and virtio 1 devices. And balloon is an easy device to test, so it's also useful for people to test virtio core handling of transitional devices. The only interface issue is with the stats buffer, which has misaligned fields. We could leave it as is, but this sets a bad precedent that others might copy by mistake. As we need to change stats code to do byteswaps for virtio 1.0, it seems easy to fix by prepending a 6 byte reserved field. I also had to change config structure field types from __le32 to __u32 to match other devices. This means we need a couple of __force tags for legacy path but that seems minor. changes from v2: fix up stats endian-ness Changes from v1: correctly handle config space endian-ness Michael S. Tsirkin (6): virtio_balloon: transitional interface virtio: balloon might not be a legacy device virtio_ccw: support non-legacy balloon devices virtio_mmio: support non-legacy balloon devices virtio_pci: support non-legacy balloon devices virtio: drop virtio_device_is_legacy_only include/linux/virtio.h | 2 -- include/uapi/linux/virtio_balloon.h | 11 +++++++++-- drivers/s390/kvm/virtio_ccw.c | 10 +++------- drivers/virtio/virtio.c | 6 ------ drivers/virtio/virtio_balloon.c | 33 +++++++++++++++++++++++---------- drivers/virtio/virtio_mmio.c | 8 -------- drivers/virtio/virtio_pci_modern.c | 3 --- 7 files changed, 35 insertions(+), 38 deletions(-) -- MST