From nobody Thu Apr 16 03:33:27 2026 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1707931679565738.3808300296814; Wed, 14 Feb 2024 09:27:59 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 81D30198F; Wed, 14 Feb 2024 12:27:58 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 6E81D1BB8; Wed, 14 Feb 2024 12:13:13 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 8A4491A25; Wed, 14 Feb 2024 12:11:38 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 86E0919DD for ; Wed, 14 Feb 2024 12:11:34 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-257-PQuaPbO3MJGn4z18NryX3g-1; Wed, 14 Feb 2024 12:11:32 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4BB502812FF5 for ; Wed, 14 Feb 2024 17:11:32 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D688910BC296 for ; Wed, 14 Feb 2024 17:11:31 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: PQuaPbO3MJGn4z18NryX3g-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 08/17] tests: Add usb-legacy-device Date: Wed, 14 Feb 2024 18:11:15 +0100 Message-ID: <20240214171124.508000-9-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: Z63QRNPZWIDKBTKSUVMBZYEACXVMCTYY X-Message-ID-Hash: Z63QRNPZWIDKBTKSUVMBZYEACXVMCTYY X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707931681602100001 This provides coverage for the scenario in which an attempt is made to use a USB device together with the legacy USB controller. Note that, while the test case passes, the configuration it produces doesn't actually work: $ qemu-system-x86_64 -M pc -usb -device usb-tablet,bus=3Dusb.0 Bus 'usb.0' not found This is because the bus created by the legacy USB controller is automatically assigned ID "usb-bus.0", but libvirt doesn't take this into consideration when assigning addresses to USB devices. In other words, the legacy USB controller will only work as long as no attempt is made to attach devices to it, which arguably doesn't make for a very useful controller. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- .../usb-legacy-device.x86_64-latest.args | 33 +++++++++++++++++++ .../usb-legacy-device.x86_64-latest.xml | 30 +++++++++++++++++ tests/qemuxmlconfdata/usb-legacy-device.xml | 15 +++++++++ tests/qemuxmlconftest.c | 5 +++ 4 files changed, 83 insertions(+) create mode 100644 tests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.a= rgs create mode 100644 tests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.x= ml create mode 100644 tests/qemuxmlconfdata/usb-legacy-device.xml diff --git a/tests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.args b/t= ests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.args new file mode 100644 index 0000000000..1ef9965cbd --- /dev/null +++ b/tests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.args @@ -0,0 +1,33 @@ +LC_ALL=3DC \ +PATH=3D/bin \ +HOME=3D/var/lib/libvirt/qemu/domain--1-guest \ +USER=3Dtest \ +LOGNAME=3Dtest \ +XDG_DATA_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.local/share \ +XDG_CACHE_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.cache \ +XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=3Dguest,debug-threads=3Don \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/va= r/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ +-machine pc,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dpc.ram,acpi= =3Doff \ +-accel tcg \ +-cpu qemu64 \ +-m size=3D4194304k \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296}= ' \ +-overcommit mem-lock=3Doff \ +-smp 4,sockets=3D4,cores=3D1,threads=3D1 \ +-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \ +-mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \ +-rtc base=3Dutc \ +-no-shutdown \ +-boot strict=3Don \ +-usb \ +-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ +-msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.xml b/te= sts/qemuxmlconfdata/usb-legacy-device.x86_64-latest.xml new file mode 100644 index 0000000000..2204c03380 --- /dev/null +++ b/tests/qemuxmlconfdata/usb-legacy-device.x86_64-latest.xml @@ -0,0 +1,30 @@ + + guest + 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 + 4194304 + 4194304 + 4 + + hvm + + + + qemu64 + + + destroy + restart + destroy + + /usr/bin/qemu-system-x86_64 + +
+ + + + + +