From nobody Wed Jan 15 13:56:28 2025 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 1705487514261371.53270781463016; Wed, 17 Jan 2024 02:31:54 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 01A0E1F1A; Wed, 17 Jan 2024 05:31:52 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 730401EBA; Wed, 17 Jan 2024 04:57:26 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id F069B1D54; Wed, 17 Jan 2024 04:55:16 -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 D8D241D51 for ; Wed, 17 Jan 2024 04:55:08 -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-673-4EKly75-O1mLkOiIPR0n7Q-1; Wed, 17 Jan 2024 04:55:06 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (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 20DAA3804A45 for ; Wed, 17 Jan 2024 09:55:06 +0000 (UTC) Received: from harajuku.usersys.redhat.com.homenet.telecomitalia.it (unknown [10.45.224.208]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AC2A040C6EB9 for ; Wed, 17 Jan 2024 09:55:05 +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: 4EKly75-O1mLkOiIPR0n7Q-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH 18/18] qemu: Default to no USB and no memballoon for new architectures Date: Wed, 17 Jan 2024 10:54:51 +0100 Message-ID: <20240117095451.788816-19-abologna@redhat.com> In-Reply-To: <20240117095451.788816-1-abologna@redhat.com> References: <20240117095451.788816-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: 65M5BJGBXSN7XCB2KZACR233RXWXH4NW X-Message-ID-Hash: 65M5BJGBXSN7XCB2KZACR233RXWXH4NW 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: 1705487516403100001 The current defaults, that can be altered on a per-architecture basis, are derived by 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, all guests will end up with additional hardware which is generally not wanted. 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, 17 insertions(+), 15 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 20687ee030..7db5bd1e50 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,30 +4190,27 @@ 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 false; 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 @@ -4219,6 +4218,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; @@ -4234,6 +4235,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