From patchwork Fri Feb 8 22:11:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cole Robinson X-Patchwork-Id: 157873 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp931jaa; Fri, 8 Feb 2019 14:12:28 -0800 (PST) X-Google-Smtp-Source: AHgI3IZcinFeqLV6Zvc47YOPGnioKQ9VVpjw5F84ILN2Z+AUjs7O9itubDMcPeYAdajSGpEbbkNY X-Received: by 2002:a37:398e:: with SMTP id g136mr16588391qka.255.1549663948054; Fri, 08 Feb 2019 14:12:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549663948; cv=none; d=google.com; s=arc-20160816; b=vsAodVOHmesB6D1seTu23QmLBpsDmmzAGNQdhmt+Ku9Pr2rn+tUG1NbWJQk5sO27mV y46Yl0DINWc8cs7uBjnjjivjo0euEMaRwhyOitW0I42E/bN7Vma7hub4k0sq4P5K91oY K1FQNThfoBtHSXVafmQhhHO70n7OJYXQvnxnbVqyfcX921zySJHFUphjmEIctMVOR92G WTV42RIw/aQ1e5gvK6YK/6rmiWxgqXeLtaYwhLyS4XQduh5d+iFSD7/N0GGfHg7VLS0a DnT19KxZnhjnRNdy+YXTEcIX8valNng5Ev/FMopcXbE4WVkxn9he6FOeai+2d3Ncv6z0 DBPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:message-id:date:to:from:delivered-to; bh=fE+5AaQLUm9EswxYzAjsGIfSiAOhy2E9nbnsyp3F8gI=; b=bVFyKQZzl8DC2iRVXcTMOnxc7hEZDZlPBApvTkBfWWfYnJIsdMxUHd4v7bH23wGnNg c4t2Z+2TxiuKjnUKuOj+PtPfRK+LevyiMpv6ZEZOIeSQW7xUnMmiE9YtzCbXC9+bCGHw +HZOyU/iK7KSXLFN8O1p/WSQqqpP1eWdrz3+sUFcKE8Xbmyz555QauP8lYMoUa7ieQvq Hf3eQc7uAc08/kxfMqbjXm0iz8fSyQ9uulb2b7D06+boN2Jo539eFp/xlJWfWfuB8JLL vFJoct0R5XDeTXRxNOB7nnXrhbzHgmUoEZG9C0hiPq01CGDWFlWJKuBlxU/l45wpnz4u YVnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of libvir-list-bounces@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28]) by mx.google.com with ESMTPS id y11si2553439qtm.124.2019.02.08.14.12.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Feb 2019 14:12:28 -0800 (PST) Received-SPF: pass (google.com: domain of libvir-list-bounces@redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; Authentication-Results: mx.google.com; spf=pass (google.com: domain of libvir-list-bounces@redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D83947F6B2; Fri, 8 Feb 2019 22:12:25 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 96BC66116C; Fri, 8 Feb 2019 22:12:24 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 18A9A3F7CD; Fri, 8 Feb 2019 22:12:21 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x18MCIRn008378 for ; Fri, 8 Feb 2019 17:12:18 -0500 Received: by smtp.corp.redhat.com (Postfix) id E6B495C6A5; Fri, 8 Feb 2019 22:12:18 +0000 (UTC) Delivered-To: libvirt-list@redhat.com Received: from worklaptop.redhat.com (ovpn-123-115.rdu2.redhat.com [10.10.123.115]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6A3735C557; Fri, 8 Feb 2019 22:12:13 +0000 (UTC) From: Cole Robinson To: libvirt-list@redhat.com Date: Fri, 8 Feb 2019 17:11:51 -0500 Message-Id: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 00/17] qemu: virtio-{non-}transitional support X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 08 Feb 2019 22:12:26 +0000 (UTC) v2 libvirt patches: https://www.redhat.com/archives/libvir-list/2019-January/msg00877.html v1 libvirt patches: https://www.redhat.com/archives/libvir-list/2019-January/msg00593.html Previous incomplete RFC here: https://www.redhat.com/archives/libvir-list/2019-January/msg00346.html qemu patches, queued for qemu 4.0.0: https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg00923.html Previous libvirt discussion around this: https://www.redhat.com/archives/libvir-list/2018-August/msg01073.html Changes since v2: * Some prep patches merged * filesystem model dropped the -9p naming, now uses virtio-{non-}transitional like other devices * Now uses a single capability QEMU_CAPS_VIRTIO_PCI_NON_TRANSITIONAL which is set whenever any of the -transitional or -non-transitional devices are present. * Add a formatdomain section 'Virtio transitional devices' and reference it from each relevant device section * if virtio-transitional specified, and qemu is too old but has the disable_X options, convert it to explicit disable-legacy=off,disable-modern=off * Misc small changes pointed out in review Thanks, Cole Cole Robinson (17): qemu: command: Add qemuCaps to BuildVirtioStr qemu: capabilities: Add virtio/vhost {non-}transitional conf: Add qemu: Support disk model=virtio-{non-}transitional qemu: Support interface model=virtio-{non-}transitional conf: Add qemu: Support hostdev model=virtio-{non-}transitional qemu: Support rng model=virtio-{non-}transitional conf: Add qemu: Support filesystem model=virtio-{non-}transitional qemu: Support memballoon model=virtio-{non-}transitional qemu: Support vsock model=virtio-{non-}transitional conf: Add qemu: Support input model=virtio-{non-}transitional qemu: Support virtio-serial controller model=virtio-{non-}transitional qemu: Support scsi controller model=virtio-{non-}transitional qemu: domcaps: Report disk docs/formatdomain.html.in | 97 ++++++++- docs/schemas/domaincommon.rng | 61 +++++- src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + src/conf/domain_conf.c | 184 ++++++++++++++++-- src/conf/domain_conf.h | 63 ++++++ src/libvirt_private.syms | 4 + src/libxl/libxl_conf.c | 2 + src/qemu/qemu_capabilities.c | 31 +++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 150 ++++++++++++-- src/qemu/qemu_domain.c | 17 +- src/qemu/qemu_domain_address.c | 110 +++++++++-- src/vbox/vbox_common.c | 2 + src/vmx/vmx.c | 5 +- .../bhyve_basic.x86_64.xml | 1 + .../bhyve_fbuf.x86_64.xml | 1 + .../bhyve_uefi.x86_64.xml | 1 + tests/domaincapsschemadata/full.xml | 6 + .../domaincapsschemadata/libxl-xenfv-usb.xml | 1 + .../domaincapsschemadata/libxl-xenpv-usb.xml | 1 + .../qemu_1.7.0.x86_64.xml | 3 + .../qemu_2.12.0-virt.aarch64.xml | 5 + .../qemu_2.12.0.ppc64.xml | 5 + .../qemu_2.12.0.s390x.xml | 5 + .../qemu_2.12.0.x86_64.xml | 5 + .../qemu_2.6.0-virt.aarch64.xml | 5 + .../qemu_2.6.0.aarch64.xml | 5 + .../domaincapsschemadata/qemu_2.6.0.ppc64.xml | 5 + .../qemu_2.6.0.x86_64.xml | 5 + .../domaincapsschemadata/qemu_2.7.0.s390x.xml | 5 + .../qemu_2.8.0-tcg.x86_64.xml | 5 + .../domaincapsschemadata/qemu_2.8.0.s390x.xml | 5 + .../qemu_2.8.0.x86_64.xml | 5 + .../qemu_2.9.0-q35.x86_64.xml | 5 + .../qemu_2.9.0-tcg.x86_64.xml | 5 + .../qemu_2.9.0.x86_64.xml | 5 + .../domaincapsschemadata/qemu_3.0.0.s390x.xml | 5 + .../qemu_4.0.0.x86_64.xml | 153 +++++++++++++++ tests/domaincapstest.c | 4 + .../caps_4.0.0.riscv32.xml | 1 + .../caps_4.0.0.riscv64.xml | 1 + .../caps_4.0.0.x86_64.xml | 1 + .../virtio-non-transitional.x86_64-3.1.0.args | 65 +++++++ ...virtio-non-transitional.x86_64-latest.args | 62 ++++++ .../virtio-non-transitional.xml | 39 ++++ .../virtio-transitional.x86_64-3.1.0.args | 56 ++++++ .../virtio-transitional.x86_64-latest.args | 52 +++++ .../qemuxml2argvdata/virtio-transitional.xml | 39 ++++ tests/qemuxml2argvtest.c | 6 + .../virtio-non-transitional.xml | 121 ++++++++++++ .../virtio-transitional.xml | 80 ++++++++ tests/qemuxml2xmltest.c | 17 ++ 53 files changed, 1470 insertions(+), 50 deletions(-) create mode 100644 tests/domaincapsschemadata/qemu_4.0.0.x86_64.xml create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.x86_64-3.1.0.args create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-non-transitional.xml create mode 100644 tests/qemuxml2argvdata/virtio-transitional.x86_64-3.1.0.args create mode 100644 tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/virtio-transitional.xml create mode 100644 tests/qemuxml2xmloutdata/virtio-non-transitional.xml create mode 100644 tests/qemuxml2xmloutdata/virtio-transitional.xml -- 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list