From nobody Fri Dec 19 04:10:39 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1571153839; cv=none; d=zoho.com; s=zohoarc; b=H8FGFofevl4cUQowX2B6tx80dOsT11Pe2UF6CL+brActqz+GPp0YNaOASPn4TphCT8fiqPBSDgTI4qRJpYCkGpLTEsUXx1VNrVhj5pL1TYqD5WXOsF2vSOAF3TC+x0FG8VVcqSN6zcmgSTtIfUgzRVgWrxpJXFQHl3iT/9xaDBc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571153839; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UsC8pi6vFM0iBK2GWLVR5sk81A/CSbmL24Ta8k50mIM=; b=DPAjDLFjObgsKz+eguHrGpsaw9btCoBMjJeZ7VioPIsgho6a/8UdQUI8D19WTMRdldXzW0tbFmo4SCXuaklRaPOJJtdZV29GBY593vh5k6jE5IFjagO7wwVd2RiywXXO3DhWlndq/Qq2v8sQ8LHuqyD6bDNlmLQAFJGEPA357gc= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1571153839936447.80280352410716; Tue, 15 Oct 2019 08:37:19 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C7D55309B15D; Tue, 15 Oct 2019 15:37:17 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9E60761559; Tue, 15 Oct 2019 15:37:17 +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 5ABAD180BAA8; Tue, 15 Oct 2019 15:37:17 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x9FFZH6H024722 for ; Tue, 15 Oct 2019 11:35:17 -0400 Received: by smtp.corp.redhat.com (Postfix) id CA9773CC8; Tue, 15 Oct 2019 15:35:17 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.43.2.188]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A0C5819C58 for ; Tue, 15 Oct 2019 15:35:17 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id AC1C0101CE4; Tue, 15 Oct 2019 17:35:09 +0200 (CEST) From: Jiri Denemark To: libvir-list@redhat.com Date: Tue, 15 Oct 2019 17:34:59 +0200 Message-Id: <3d6994339ba4ef5f944ad70a863d375db98a0c66.1571152057.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 23/31] qemu: Introduce virQEMUCapsGetMachineDefaultCPU 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Tue, 15 Oct 2019 15:37:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: J=C3=A1n Tomko --- Notes: Version 2: - fix crash with CPUs without type src/qemu/qemu_capabilities.c | 36 ++++++++++++++++++++++++++++++++++++ src/qemu/qemu_capabilities.h | 3 +++ 2 files changed, 39 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 33cd3491b2..dd7ea9ae86 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -2179,6 +2179,42 @@ bool virQEMUCapsGetMachineHotplugCpus(virQEMUCapsPtr= qemuCaps, } =20 =20 +const char * +virQEMUCapsGetMachineDefaultCPU(virQEMUCapsPtr qemuCaps, + const char *name, + virDomainVirtType type) +{ + qemuMonitorCPUDefsPtr defs; + const char *cpuType =3D NULL; + size_t i; + + if (type =3D=3D VIR_DOMAIN_VIRT_KVM) + defs =3D qemuCaps->kvmCPUModels; + else + defs =3D qemuCaps->tcgCPUModels; + + if (!name || !defs) + return NULL; + + for (i =3D 0; i < qemuCaps->nmachineTypes; i++) { + if (STREQ(qemuCaps->machineTypes[i].name, name)) { + cpuType =3D qemuCaps->machineTypes[i].defaultCPU; + break; + } + } + + if (!cpuType) + return NULL; + + for (i =3D 0; i < defs->ncpus; i++) { + if (STREQ_NULLABLE(defs->cpus[i].type, cpuType)) + return defs->cpus[i].name; + } + + return NULL; +} + + /** * virQEMUCapsSetGICCapabilities: * @qemuCaps: QEMU capabilities diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 923706c3bf..f5133d083d 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -607,6 +607,9 @@ int virQEMUCapsGetMachineMaxCpus(virQEMUCapsPtr qemuCap= s, const char *name); bool virQEMUCapsGetMachineHotplugCpus(virQEMUCapsPtr qemuCaps, const char *name); +const char *virQEMUCapsGetMachineDefaultCPU(virQEMUCapsPtr qemuCaps, + const char *name, + virDomainVirtType type); int virQEMUCapsGetMachineTypesCaps(virQEMUCapsPtr qemuCaps, size_t *nmachines, virCapsGuestMachinePtr **machines); --=20 2.23.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list