From nobody Sun Dec 22 05:17:11 2024 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 1706126387755126.48221546938498; Wed, 24 Jan 2024 11:59:47 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 80E2E198E; Wed, 24 Jan 2024 14:59:46 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 674F01A4B; Wed, 24 Jan 2024 14:39:46 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id B3C931903; Wed, 24 Jan 2024 14:38:09 -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 E91171862 for ; Wed, 24 Jan 2024 14:38:05 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-631-Pfh0ipAGM066dZEzD-_IIA-1; Wed, 24 Jan 2024 14:38:04 -0500 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (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 CCDF184AEA0 for ; Wed, 24 Jan 2024 19:38:03 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.130]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5A1C9492BC6 for ; Wed, 24 Jan 2024 19:38:03 +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_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: Pfh0ipAGM066dZEzD-_IIA-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH 10/33] qemu: Default to no USB and no memballoon for new architectures Date: Wed, 24 Jan 2024 20:37:30 +0100 Message-ID: <20240124193753.1265454-11-abologna@redhat.com> In-Reply-To: <20240124193753.1265454-1-abologna@redhat.com> References: <20240124193753.1265454-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: FOV7W6GK6SYJE5HTQG2LNWXM2BH6ONTO X-Message-ID-Hash: FOV7W6GK6SYJE5HTQG2LNWXM2BH6ONTO 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: 1706126389196100001 The current defaults, that can be altered on a per-architecture basis, are derived from the historical x86 behavior. Every time support for a new architecture is added to libvirt, care must be taken to override these default: if that doesn't happen, guests will end up with additional hardware, which is something that's generally undesirable. Turn things around, and require architectures to explicitly ask for the devices to be created by default instead. The behavior for existing architectures is preserved. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- src/qemu/qemu_domain.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 7292739d1f..d56ac929ea 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4109,13 +4109,13 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *drive= r, virDomainDef *def, virQEMUCaps *qemuCaps) { - bool addDefaultUSB =3D true; + bool addDefaultUSB =3D false; int usbModel =3D -1; /* "default for machinetype" */ int pciRoot; /* index within def->controllers */ bool addImplicitSATA =3D false; bool addPCIRoot =3D false; bool addPCIeRoot =3D false; - bool addDefaultMemballoon =3D true; + bool addDefaultMemballoon =3D false; bool addDefaultUSBKBD =3D false; bool addDefaultUSBMouse =3D false; bool addPanicDevice =3D false; @@ -4129,10 +4129,14 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *drive= r, switch (def->os.arch) { case VIR_ARCH_I686: case VIR_ARCH_X86_64: + addDefaultMemballoon =3D true; + if (STREQ(def->os.machine, "isapc")) { - addDefaultUSB =3D false; break; } + + addDefaultUSB =3D true; + if (qemuDomainIsQ35(def)) { addPCIeRoot =3D true; addImplicitSATA =3D true; @@ -4157,16 +4161,12 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *drive= r, break; =20 case VIR_ARCH_ARMV6L: - addDefaultUSB =3D false; - addDefaultMemballoon =3D false; if (STREQ(def->os.machine, "versatilepb")) addPCIRoot =3D true; break; =20 case VIR_ARCH_ARMV7L: case VIR_ARCH_AARCH64: - addDefaultUSB =3D false; - addDefaultMemballoon =3D false; if (qemuDomainIsARMVirt(def)) addPCIeRoot =3D true; break; @@ -4174,8 +4174,10 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, case VIR_ARCH_PPC64: case VIR_ARCH_PPC64LE: addPCIRoot =3D true; + addDefaultUSB =3D true; addDefaultUSBKBD =3D true; addDefaultUSBMouse =3D true; + addDefaultMemballoon =3D true; /* For pSeries guests, the firmware provides the same * functionality as the pvpanic device, so automatically * add the definition if not already present */ @@ -4188,29 +4190,28 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *drive= r, case VIR_ARCH_PPCEMB: case VIR_ARCH_SH4: case VIR_ARCH_SH4EB: + addDefaultUSB =3D true; + addDefaultMemballoon =3D true; addPCIRoot =3D true; break; =20 case VIR_ARCH_RISCV32: case VIR_ARCH_RISCV64: - addDefaultUSB =3D false; + addDefaultMemballoon =3D true; if (qemuDomainIsRISCVVirt(def)) addPCIeRoot =3D true; break; =20 case VIR_ARCH_S390: case VIR_ARCH_S390X: - addDefaultUSB =3D false; + addDefaultMemballoon =3D true; addPanicDevice =3D true; addPCIRoot =3D virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_ZPCI); break; =20 - case VIR_ARCH_SPARC: - addDefaultUSB =3D false; - addDefaultMemballoon =3D false; - break; - case VIR_ARCH_SPARC64: + addDefaultUSB =3D true; + addDefaultMemballoon =3D true; addPCIRoot =3D true; break; =20 @@ -4218,6 +4219,8 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, case VIR_ARCH_MIPSEL: case VIR_ARCH_MIPS64: case VIR_ARCH_MIPS64EL: + addDefaultUSB =3D true; + addDefaultMemballoon =3D true; if (qemuDomainIsMipsMalta(def)) addPCIRoot =3D true; break; @@ -4233,6 +4236,7 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, case VIR_ARCH_PARISC: case VIR_ARCH_PARISC64: case VIR_ARCH_PPCLE: + case VIR_ARCH_SPARC: case VIR_ARCH_UNICORE32: case VIR_ARCH_XTENSA: case VIR_ARCH_XTENSAEB: --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org