From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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=1591403062; cv=none; d=zohomail.com; s=zohoarc; b=kIrmEPEXnRWZQVV+8uTiMxdKJBztxKgCjupm4TKEGEOVZjRv+uhI3r098FklGqiSlRC8OCWeZFxf+LKstJsAwl00U89mkwXZ9O3XVWXMcaahjy4DDTv18xUHVGoXH2fmQmQXKUnUCMWdjK0kBWIMnkg5mY1rdLXaaqSQoQpGrlo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403062; 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=ROhXsJ70h4AceRNg7zSUZe8ZtgX/8tpUNBqWFIQaHlk=; b=Ohtr5USjOlXckVlmW/eBc1UhmHkUXOB3RP1PcDhROAlTDt7CKsCxEq2NrhnHdqMMV3BxZFxohmC5t3hzvxwG55Pucgg2i0AU79UYpGC9m2MlioWZu0cZN65W1OV/GOOSptlgvQ5h5xrczyqvBCaxPBTWblil/YYx+GRhim3D/jc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1591403062502962.2692484672596; Fri, 5 Jun 2020 17:24:22 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-162-e2HOo5QrNNSPdEtDCghOUw-1; Fri, 05 Jun 2020 20:24:17 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DAC7F801503; Sat, 6 Jun 2020 00:24:11 +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 BAFC55D998; Sat, 6 Jun 2020 00:24:11 +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 852C71048F9; Sat, 6 Jun 2020 00:24:11 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 055IWHn1030060 for ; Fri, 5 Jun 2020 14:32:17 -0400 Received: by smtp.corp.redhat.com (Postfix) id F10C51001B07; Fri, 5 Jun 2020 18:32:16 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6DE1410013C0 for ; Fri, 5 Jun 2020 18:32:13 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id CA2CD24513D; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403061; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ROhXsJ70h4AceRNg7zSUZe8ZtgX/8tpUNBqWFIQaHlk=; b=bUaRWj9HaLAbTRzY3w5/wCFdAhT2SDoJEl/SFAU3sdpv2d2sdLNS/wAikiTl8ce2CXthDx /GpwpLkb9bRiiYPEufp82Sik+mn4oXiTlLGa4xr1ot/hFVKGFBC7RFd1uEjio3Kle2Lffr hCUBwVbU/D9v5davohpa7KXKjmgIY78= X-MC-Unique: e2HOo5QrNNSPdEtDCghOUw-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 1/9] conf: Use g_auto* in virCPUDefParseXML Date: Fri, 5 Jun 2020 20:31:23 +0200 Message-Id: <88e5953c8b614ab1ccba571c27c286dd4ab86dbd.1591380619.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com 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.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/conf/cpu_conf.c | 130 +++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 80 deletions(-) diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 1d02e23175..25648a946c 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -324,29 +324,26 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, virCPUType type, virCPUDefPtr *cpu) { - virCPUDefPtr def =3D NULL; - xmlNodePtr *nodes =3D NULL; + g_autoptr(virCPUDef) def =3D NULL; + g_autofree xmlNodePtr *nodes =3D NULL; VIR_XPATH_NODE_AUTORESTORE(ctxt); int n; size_t i; - char *cpuMode; - char *fallback =3D NULL; - char *vendor_id =3D NULL; - char *tscScaling =3D NULL; + g_autofree char *cpuMode =3D NULL; + g_autofree char *fallback =3D NULL; + g_autofree char *vendor_id =3D NULL; + g_autofree char *tscScaling =3D NULL; virHostCPUTscInfoPtr tsc =3D NULL; - int ret =3D -1; =20 *cpu =3D NULL; =20 - if (xpath && !(ctxt->node =3D virXPathNode(xpath, ctxt))) { - ret =3D 0; - goto cleanup; - } + if (xpath && !(ctxt->node =3D virXPathNode(xpath, ctxt))) + return 0; =20 if (!virXMLNodeNameEqual(ctxt->node, "cpu")) { virReportError(VIR_ERR_XML_ERROR, "%s", _("XML does not contain expected 'cpu' element")); - goto cleanup; + return -1; } =20 def =3D virCPUDefNew(); @@ -357,7 +354,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, virReportError(VIR_ERR_XML_ERROR, "%s", _("'arch' element cannot be used inside 'cp= u'" " element with 'match' attribute'")); - goto cleanup; + return -1; } def->type =3D VIR_CPU_TYPE_HOST; } else { @@ -369,10 +366,9 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, =20 if ((cpuMode =3D virXMLPropString(ctxt->node, "mode"))) { if (def->type =3D=3D VIR_CPU_TYPE_HOST) { - VIR_FREE(cpuMode); virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Attribute mode is only allowed for guest CPU= ")); - goto cleanup; + return -1; } else { def->mode =3D virCPUModeTypeFromString(cpuMode); =20 @@ -380,10 +376,8 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Invalid mode attribute '%s'"), cpuMode); - VIR_FREE(cpuMode); - goto cleanup; + return -1; } - VIR_FREE(cpuMode); } } else { if (def->type =3D=3D VIR_CPU_TYPE_HOST) @@ -393,67 +387,60 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, } =20 if (def->type =3D=3D VIR_CPU_TYPE_GUEST) { - char *match =3D virXMLPropString(ctxt->node, "match"); - char *check; + g_autofree char *match =3D virXMLPropString(ctxt->node, "match"); + g_autofree char *check =3D NULL; =20 if (match) { def->match =3D virCPUMatchTypeFromString(match); - VIR_FREE(match); - if (def->match < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid match attribute for CPU " "specification")); - goto cleanup; + return -1; } } =20 if ((check =3D virXMLPropString(ctxt->node, "check"))) { int value =3D virCPUCheckTypeFromString(check); - VIR_FREE(check); - if (value < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid check attribute for CPU " "specification")); - goto cleanup; + return -1; } def->check =3D value; } } =20 if (def->type =3D=3D VIR_CPU_TYPE_HOST) { - char *arch =3D virXPathString("string(./arch[1])", ctxt); + g_autofree char *arch =3D virXPathString("string(./arch[1])", ctxt= ); if (!arch) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing CPU architecture")); - goto cleanup; + return -1; } if ((def->arch =3D virArchFromString(arch)) =3D=3D VIR_ARCH_NONE) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Unknown architecture %s"), arch); - VIR_FREE(arch); - goto cleanup; + return -1; } - VIR_FREE(arch); =20 if (virXPathBoolean("boolean(./microcode[1]/@version)", ctxt) > 0 = && virXPathUInt("string(./microcode[1]/@version)", ctxt, &def->microcodeVersion) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("invalid microcode version")); - goto cleanup; + return -1; } =20 if (virXPathBoolean("boolean(./counter[@name=3D'tsc'])", ctxt) > 0= ) { - if (VIR_ALLOC(tsc) < 0) - goto cleanup; + tsc =3D g_new0(virHostCPUTscInfo, 1); =20 if (virXPathULongLong("string(./counter[@name=3D'tsc']/@freque= ncy)", ctxt, &tsc->frequency) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid TSC frequency")); - goto cleanup; + return -1; } =20 tscScaling =3D virXPathString("string(./counter[@name=3D'tsc']= /@scaling)", @@ -463,7 +450,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, if (scaling < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid TSC scaling attribute")); - goto cleanup; + return -1; } tsc->scaling =3D scaling; } @@ -476,7 +463,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, def->type =3D=3D VIR_CPU_TYPE_HOST) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing CPU model name")); - goto cleanup; + return -1; } =20 if (def->type =3D=3D VIR_CPU_TYPE_GUEST && @@ -486,7 +473,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, if ((def->fallback =3D virCPUFallbackTypeFromString(fallback))= < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid fallback attribute")); - goto cleanup; + return -1; } } =20 @@ -496,18 +483,17 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, virReportError(VIR_ERR_XML_ERROR, _("vendor_id must be exactly %d characters = long"), VIR_CPU_VENDOR_ID_LENGTH); - goto cleanup; + return -1; } =20 /* ensure that the string can be passed to qemu */ if (strchr(vendor_id, ',')) { virReportError(VIR_ERR_XML_ERROR, "%s", _("vendor id is invalid")); - goto cleanup; + return -1; } =20 - def->vendor_id =3D vendor_id; - vendor_id =3D NULL; + def->vendor_id =3D g_steal_pointer(&vendor_id); } } =20 @@ -515,7 +501,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, if (def->vendor && !def->model) { virReportError(VIR_ERR_XML_ERROR, "%s", _("CPU vendor specified without CPU model")); - goto cleanup; + return -1; } =20 if (virXPathNode("./topology[1]", ctxt)) { @@ -524,7 +510,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, if (virXPathULong("string(./topology[1]/@sockets)", ctxt, &ul) < 0= ) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing 'sockets' attribute in CPU topology"= )); - goto cleanup; + return -1; } def->sockets =3D (unsigned int) ul; =20 @@ -532,7 +518,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, if (virXPathULong("string(./topology[1]/@dies)", ctxt, &ul) < = 0) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Malformed 'dies' attribute in CPU topolo= gy")); - goto cleanup; + return -1; } def->dies =3D (unsigned int) ul; } else { @@ -542,71 +528,69 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, if (virXPathULong("string(./topology[1]/@cores)", ctxt, &ul) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing 'cores' attribute in CPU topology")); - goto cleanup; + return -1; } def->cores =3D (unsigned int) ul; =20 if (virXPathULong("string(./topology[1]/@threads)", ctxt, &ul) < 0= ) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing 'threads' attribute in CPU topology"= )); - goto cleanup; + return -1; } def->threads =3D (unsigned int) ul; =20 if (!def->sockets || !def->cores || !def->threads || !def->dies) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Invalid CPU topology")); - goto cleanup; + return -1; } } =20 if ((n =3D virXPathNodeSet("./feature", ctxt, &nodes)) < 0) - goto cleanup; + return -1; =20 if (n > 0) { if (!def->model && def->mode =3D=3D VIR_CPU_MODE_CUSTOM) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Non-empty feature list specified without " "CPU model")); - goto cleanup; + return -1; } =20 if (VIR_RESIZE_N(def->features, def->nfeatures_max, def->nfeatures, n) < 0) - goto cleanup; + return -1; =20 def->nfeatures =3D n; } =20 for (i =3D 0; i < n; i++) { - char *name; + g_autofree char *name =3D NULL; int policy; /* enum virDomainCPUFeaturePolicy */ size_t j; =20 if (def->type =3D=3D VIR_CPU_TYPE_GUEST) { - char *strpolicy; + g_autofree char *strpolicy =3D NULL; =20 strpolicy =3D virXMLPropString(nodes[i], "policy"); if (strpolicy =3D=3D NULL) policy =3D VIR_CPU_FEATURE_REQUIRE; else policy =3D virCPUFeaturePolicyTypeFromString(strpolicy); - VIR_FREE(strpolicy); =20 if (policy < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid CPU feature policy")); - goto cleanup; + return -1; } } else { policy =3D -1; } =20 if (!(name =3D virXMLPropString(nodes[i], "name")) || *name =3D=3D= 0) { - VIR_FREE(name); virReportError(VIR_ERR_XML_ERROR, "%s", _("Invalid CPU feature name")); - goto cleanup; + return -1; } =20 for (j =3D 0; j < i; j++) { @@ -614,24 +598,23 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, virReportError(VIR_ERR_XML_ERROR, _("CPU feature '%s' specified more than onc= e"), name); - VIR_FREE(name); - goto cleanup; + return -1; } } =20 - def->features[i].name =3D name; + def->features[i].name =3D g_steal_pointer(&name); def->features[i].policy =3D policy; } =20 if (virXPathInt("count(./cache)", ctxt, &n) < 0) { - goto cleanup; + return -1; } else if (n > 1) { virReportError(VIR_ERR_XML_ERROR, "%s", _("at most one CPU cache element may be specified")= ); - goto cleanup; + return -1; } else if (n =3D=3D 1) { int level =3D -1; - char *strmode; + g_autofree char *strmode =3D NULL; int mode; =20 if (virXPathBoolean("boolean(./cache[1]/@level)", ctxt) =3D=3D 1 && @@ -639,36 +622,23 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, level < 1 || level > 3)) { virReportError(VIR_ERR_XML_ERROR, "%s", _("invalid CPU cache level, must be in range [1= ,3]")); - goto cleanup; + return -1; } =20 if (!(strmode =3D virXPathString("string(./cache[1]/@mode)", ctxt)= ) || (mode =3D virCPUCacheModeTypeFromString(strmode)) < 0) { - VIR_FREE(strmode); virReportError(VIR_ERR_XML_ERROR, "%s", _("missing or invalid CPU cache mode")); - goto cleanup; + return -1; } - VIR_FREE(strmode); - - if (VIR_ALLOC(def->cache) < 0) - goto cleanup; =20 + def->cache =3D g_new0(virCPUCacheDef, 1); def->cache->level =3D level; def->cache->mode =3D mode; } =20 *cpu =3D g_steal_pointer(&def); - ret =3D 0; - - cleanup: - VIR_FREE(fallback); - VIR_FREE(vendor_id); - VIR_FREE(nodes); - VIR_FREE(tscScaling); - VIR_FREE(tsc); - virCPUDefFree(def); - return ret; + return 0; } =20 =20 --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 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=1591403227; cv=none; d=zohomail.com; s=zohoarc; b=EBvd36duWt9nT71iWQjDqb+UFd5aWfiUcbMst3/UPsbCogcL+9Hmv2m/TazK8d3dv299+7DJY2SnDgoaKxtdPW73v4LDo7ikp5vG/yjLACaKBLAcqwjf1kAkfWgLdLiXI2L4L9wsGe2wYzkCuPO6M/IwlEIa2lyUngh3p7iodgs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403227; 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=0wRDCQ5fWA6iRvU6eB3NKJUZzWKg1bm0gL+M6WnLMqM=; b=dE7a0G420ucIh6+JemTAL6qDUmWHtr6DXgWGJW/EBxTgaOkebfei03U8/irQLFHHE7nEotj+rvL/Lhd+OTfMgLOr5FMaRCayLbmqw/g2s132T0bKQrOO/pv34lXWYHBbNVDXvaCjr2bhP+Zgfvot6du8yqbTG2nHPsRdMd2IBzk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1591403227755815.5992589889374; Fri, 5 Jun 2020 17:27:07 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-475-FIbfDp5hN46-ci4tkbrTkA-1; Fri, 05 Jun 2020 20:24:19 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3C1FDEC1AD; Sat, 6 Jun 2020 00:24:14 +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 1FDB67C384; Sat, 6 Jun 2020 00:24:14 +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 E18D31804771; Sat, 6 Jun 2020 00:24:13 +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 055IWGl4030039 for ; Fri, 5 Jun 2020 14:32:16 -0400 Received: by smtp.corp.redhat.com (Postfix) id A201C5C3FD; Fri, 5 Jun 2020 18:32:16 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4A44E5C578 for ; Fri, 5 Jun 2020 18:32:13 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id CC66224513E; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403226; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=0wRDCQ5fWA6iRvU6eB3NKJUZzWKg1bm0gL+M6WnLMqM=; b=IdznyQ6yBl6F/A8U8S20kgJn7EpGlaVPOGgFWcpQEf4m/PTEQtL1dM3uqa5Vcw9+02Q6xx Mm45lltpEsf3y7GXo3m6/JxErD2lgB+ff/AIR1+AqHJnoLr8+xBFq+dn98Kuk8zuHXBuJV a1Dzx6D5WjA8GowHo/dCAbS8ZKf1jKI= X-MC-Unique: FIbfDp5hN46-ci4tkbrTkA-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 2/9] qemu: Probe for .migratable property of a CPU Date: Fri, 5 Jun 2020 20:31:24 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_capabilities.c | 4 ++++ src/qemu/qemu_capabilities.h | 3 +++ tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 + 10 files changed, 15 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index f12769635a..3f5ddbd34e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -582,6 +582,9 @@ VIR_ENUM_IMPL(virQEMUCaps, "tcg", "virtio-blk-pci.scsi.default.disabled", "pvscsi", + + /* 370 */ + "cpu.migratable", ); =20 =20 @@ -1641,6 +1644,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjec= tPropsMemoryBackendMemfd[] static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMaxCPU[] =3D { { "unavailable-features", QEMU_CAPS_CPU_UNAVAILABLE_FEATURES }, { "kvm-no-adjvtime", QEMU_CAPS_CPU_KVM_NO_ADJVTIME }, + { "migratable", QEMU_CAPS_CPU_MIGRATABLE }, }; =20 static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] =3D { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 076ecad0f7..c07b3e6f08 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -564,6 +564,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_VIRTIO_BLK_SCSI_DEFAULT_DISABLED, /* virtio-blk-pci.scsi dis= abled by default */ QEMU_CAPS_SCSI_PVSCSI, /* -device pvscsi */ =20 + /* 370 */ + QEMU_CAPS_CPU_MIGRATABLE, /* -cpu ...,migratable=3Don|off */ + QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; =20 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 319dd6f2c3..1cb0957ed7 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -200,6 +200,7 @@ + 2011090 0 43100289 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index 40cff641a8..10b2661fe3 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -206,6 +206,7 @@ + 3000000 0 43100239 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index 3dbda4b3f3..7ff47aa348 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -209,6 +209,7 @@ + 3000092 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.0.0.x86_64.xml index bf7735caf3..e9fdf9cb1e 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -214,6 +214,7 @@ + 4000000 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.1.0.x86_64.xml index 8ce0f80e8a..d57cedd0db 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -220,6 +220,7 @@ + 4001000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0.x86_64.xml index 50ed35f092..2685c3219f 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -228,6 +228,7 @@ + 4002000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0.x86_64.xml index ba39fef713..0355518cbe 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -234,6 +234,7 @@ + 5000000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0.x86_64.xml index 3f538628b3..906fec41ee 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -234,6 +234,7 @@ + 5000050 0 43100242 --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1591402961; cv=none; d=zohomail.com; s=zohoarc; b=lVXItIupx58zKAghlsX3qLUfBKU/LTc3047Sj3VUvVsBfnQlg+Eco9ADA5971DyJ9vUBZjQlAtGEHhvvBQMtVrqth+n2pGRRUXSGTOwgIi9H53d83f22YfF/7syDBbJaNzfT9hlKt8ohV0yquBJFJOb7XVZE/lM8MilFA19DR/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591402961; 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=SqeBeGHcLFb6xoP5lMt81QGnf0b3NlFUTShALpvfda0=; b=TbC0y/Z/iCWm3iN8HOXy1A3QOaU5Sp00u1NV0df5OwrwGriinLSgYaoloCTLFOLQ7vvw08bL1Ybm+gJGnP0LhcyhdiIastTQfdiMaDArrGDPdxx41h9y6k+K7LKsex1UIhdUNevXQ7+r3fewQu0Ij+zKbpvR0RFjGrscBcS9T8M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1591402961928846.8427382136929; Fri, 5 Jun 2020 17:22:41 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-17-KvS2xEVRPc6gIIlkzIHqvQ-1; Fri, 05 Jun 2020 20:22:38 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D448E107B7C4; Sat, 6 Jun 2020 00:22:33 +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 B582F5FC0A; Sat, 6 Jun 2020 00:22:33 +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 8773F10481E; Sat, 6 Jun 2020 00:22:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 055IWHmu030055 for ; Fri, 5 Jun 2020 14:32:17 -0400 Received: by smtp.corp.redhat.com (Postfix) id ED9B47B5F3; Fri, 5 Jun 2020 18:32:16 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 91A647B608 for ; Fri, 5 Jun 2020 18:32:13 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id CE60324513F; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591402960; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=SqeBeGHcLFb6xoP5lMt81QGnf0b3NlFUTShALpvfda0=; b=E3ckDXBCDD1T+yG3FNFg7oV5iQ4xfgwle7UxzcmKKKFySksoqV4Ga1LBQy2uWGxTeGUFDW DNuKrgXQLHLCb4wL6bDhyFWekGNWHfkSHKEoY1XuKF+rRuVX7ygLg9vaZd9nLe0fGquD4S 39/zR8XxsbZTaSLVLV9PIv+Q5JBM8Ys= X-MC-Unique: KvS2xEVRPc6gIIlkzIHqvQ-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 3/9] qemu: Probe for migrtability support in CPU expansion Date: Fri, 5 Jun 2020 20:31:25 +0200 Message-Id: <569242806d8124561f9ba3662dab2817c8b5c54b.1591380620.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com 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.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_capabilities.c | 12 +++++++++++- src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 + 13 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 3f5ddbd34e..dab3665f07 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -585,6 +585,7 @@ VIR_ENUM_IMPL(virQEMUCaps, =20 /* 370 */ "cpu.migratable", + "query-cpu-model-expansion.migratable", ); =20 =20 @@ -5041,9 +5042,18 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE_NVDIMM); =20 if (ARCH_IS_X86(qemuCaps->arch) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) + virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION)) { virQEMUCapsSet(qemuCaps, QEMU_CAPS_CPU_CACHE); =20 + /* Old x86 QEMU supported migratable:false property in + * query-cpu-model-expansion arguments even though it was not prop= erly + * advertised as a CPU property. + */ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE) || + qemuCaps->version < 2012000) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_M= IGRATABLE); + } + if (ARCH_IS_S390(qemuCaps->arch)) { /* Legacy assurance for QEMU_CAPS_CCW */ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CCW) && diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index c07b3e6f08..f085e67e11 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -566,6 +566,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ =20 /* 370 */ QEMU_CAPS_CPU_MIGRATABLE, /* -cpu ...,migratable=3Don|off */ + QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_MIGRATABLE, /* query-cpu-model-exp= ansion supports migratable:false */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.10.0.x86_64.xml index cb02723ada..8030de8b5f 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml @@ -185,6 +185,7 @@ + 2010000 0 43100287 diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.11.0.x86_64.xml index 5245fc77dc..cf927c0bd6 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml @@ -191,6 +191,7 @@ + 2011000 0 43100288 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemu= capabilitiesdata/caps_2.12.0.x86_64.xml index 1cb0957ed7..d9de98eca4 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml @@ -201,6 +201,7 @@ + 2011090 0 43100289 diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_2.9.0.x86_64.xml index 122d9509f1..866d1062bf 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml @@ -179,6 +179,7 @@ + 2009000 0 43100247 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.0.0.x86_64.xml index 10b2661fe3..ac8db37399 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml @@ -207,6 +207,7 @@ + 3000000 0 43100239 diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_3.1.0.x86_64.xml index 7ff47aa348..bc013ecc08 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml @@ -210,6 +210,7 @@ + 3000092 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.0.0.x86_64.xml index e9fdf9cb1e..d7fb3c2a14 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml @@ -215,6 +215,7 @@ + 4000000 0 43100240 diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.1.0.x86_64.xml index d57cedd0db..6f904b6ff4 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -221,6 +221,7 @@ + 4001000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0.x86_64.xml index 2685c3219f..f0bb23d507 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -229,6 +229,7 @@ + 4002000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0.x86_64.xml index 0355518cbe..e4bf738cb5 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -235,6 +235,7 @@ + 5000000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0.x86_64.xml index 906fec41ee..cec503308f 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -235,6 +235,7 @@ + 5000050 0 43100242 --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 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=1591403113; cv=none; d=zohomail.com; s=zohoarc; b=KiYOtgMAWIDvum28e28bU70CRBzm/r0x9WMNHnFVPwn7AS+fVgTZKz4Js1YbCavRWbmSWryNqoy36a4+Lj4yscMsQY9WGjYAtizgV34Hao4keq92JdPyB8jbdlttIC+NUjDpySwSiHXFR6mX0LxNyCbOH4irclsUwNBMc710WxM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403113; 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=iHGH4eY5GNkfLSH1gBPMu+GNi2NhfsAgN8g9xQyGRZw=; b=ef0WzKiaaS/YT7D4OygWqOaqMHPcbC/WAHoLJ0lFz5trarIUoDlQ3P9QrBwY0QOh5h+akaafzzPJ4ELnrw0fwLWju4L74I2vhpB9ASL5oL0eXLWcarjvhpRbSTEEjZ6lAZrrSpCXRBoXBelmKvXZFIxsCeeN+WNU8p5WwzD8d8w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1591403113777524.2640432346536; Fri, 5 Jun 2020 17:25:13 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-82-xRK-oC16OPuKm6K7GBxElQ-1; Fri, 05 Jun 2020 20:24:14 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8EE9E107ACCA; Sat, 6 Jun 2020 00:24:09 +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 6DEA5891E5; Sat, 6 Jun 2020 00:24:09 +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 3425A180476D; Sat, 6 Jun 2020 00:24:09 +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 055IWGwW030040 for ; Fri, 5 Jun 2020 14:32:16 -0400 Received: by smtp.corp.redhat.com (Postfix) id A1DD75C296; Fri, 5 Jun 2020 18:32:16 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4A48D5C5FA for ; Fri, 5 Jun 2020 18:32:13 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id D0A78245140; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403112; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=iHGH4eY5GNkfLSH1gBPMu+GNi2NhfsAgN8g9xQyGRZw=; b=c73GyJQ7Ww3ECgRo2CcjCcRx/KsPJnPw3ApWOgYFoBe+oam8udD5ue1aYDzAoWZ2Pe0RrP pSAuXyWaR2Y4au3XPgmiZBnbyWuzuKPqRyMniKjEX7IfVdnmv7J88OiTds/R7/WM+GryL3 TBJKXdZI+0PhOpA7c464BTomFJ92KE4= X-MC-Unique: xRK-oC16OPuKm6K7GBxElQ-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 4/9] qemu: Avoid probing unsupported migratable CPU expansion Date: Fri, 5 Jun 2020 20:31:26 +0200 Message-Id: <45a75575bb8c3cde84c082cfbd0632fe896e13c6.1591380620.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_capabilities.c | 1 + .../caps_2.10.0.s390x.replies | 22 --------- .../caps_2.11.0.s390x.replies | 22 --------- .../caps_2.12.0.s390x.replies | 22 --------- .../caps_2.8.0.s390x.replies | 22 --------- .../caps_2.9.0.s390x.replies | 22 --------- .../caps_3.0.0.s390x.replies | 22 --------- .../caps_4.0.0.s390x.replies | 48 +------------------ .../caps_4.2.0.aarch64.replies | 48 +------------------ .../caps_4.2.0.s390x.replies | 48 +------------------ .../caps_5.0.0.aarch64.replies | 48 +------------------ 11 files changed, 9 insertions(+), 316 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index dab3665f07..7a976b6bbc 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3061,6 +3061,7 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCapsPtr qemuCaps, =20 /* Try to check migratability of each feature. */ if (modelInfo && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION_MIGRA= TABLE) && qemuMonitorGetCPUModelExpansion(mon, type, cpu, false, fail_no_pro= ps, &nonMigratable) < 0) goto cleanup; diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.10.0.s390x.replies index 9cae647bdf..4f7d17b4fe 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.replies @@ -14969,28 +14969,6 @@ "id": "libvirt-35" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-36" -} - -{ - "id": "libvirt-36", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.11.0.s390x.replies index 6b06303f7b..3096559c13 100644 --- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.replies @@ -15270,28 +15270,6 @@ "id": "libvirt-36" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-37" -} - -{ - "id": "libvirt-37", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies b/tests/q= emucapabilitiesdata/caps_2.12.0.s390x.replies index 93ad14a6b8..66543f62ee 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.replies @@ -16990,28 +16990,6 @@ "id": "libvirt-38" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-39" -} - -{ - "id": "libvirt-39", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_2.8.0.s390x.replies index 5db900ce80..da9ef050b6 100644 --- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.replies @@ -13046,28 +13046,6 @@ "id": "libvirt-35" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-36" -} - -{ - "id": "libvirt-36", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_2.9.0.s390x.replies index 503f896892..3aca949683 100644 --- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.replies @@ -14031,28 +14031,6 @@ "id": "libvirt-35" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-36" -} - -{ - "id": "libvirt-36", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_3.0.0.s390x.replies index 0b35f7e99b..48b5a0ee01 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_3.0.0.s390x.replies @@ -17519,28 +17519,6 @@ "id": "libvirt-39" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-40" -} - -{ - "id": "libvirt-40", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_4.0.0.s390x.replies index 70fb54b0e7..d81d5c8003 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_4.0.0.s390x.replies @@ -18338,28 +18338,6 @@ "id": "libvirt-39" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-40" -} - -{ - "id": "libvirt-40", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" @@ -21475,31 +21453,9 @@ "id": "libvirt-3" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "max", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-4" -} - -{ - "id": "libvirt-4", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "query-machines", - "id": "libvirt-5" + "id": "libvirt-4" } =20 { @@ -21572,5 +21528,5 @@ "cpu-max": 248 } ], - "id": "libvirt-5" + "id": "libvirt-4" } diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_4.2.0.aarch64.replies index 4d28047ebe..a16ba89aeb 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies @@ -21376,28 +21376,6 @@ "id": "libvirt-43" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-44" -} - -{ - "id": "libvirt-44", - "error": { - "class": "GenericError", - "desc": "Parameter 'migratable' is unexpected" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" @@ -21646,31 +21624,9 @@ "id": "libvirt-3" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "max", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-4" -} - -{ - "id": "libvirt-4", - "error": { - "class": "GenericError", - "desc": "Parameter 'migratable' is unexpected" - } -} - { "execute": "query-machines", - "id": "libvirt-5" + "id": "libvirt-4" } =20 { @@ -22221,5 +22177,5 @@ "deprecated": false } ], - "id": "libvirt-5" + "id": "libvirt-4" } diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.replies b/tests/qe= mucapabilitiesdata/caps_4.2.0.s390x.replies index 82b60bf069..9250132d45 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.replies @@ -19157,28 +19157,6 @@ "id": "libvirt-39" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-40" -} - -{ - "id": "libvirt-40", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" @@ -22639,31 +22617,9 @@ "id": "libvirt-3" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "static", - "model": { - "name": "max", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-4" -} - -{ - "id": "libvirt-4", - "error": { - "class": "GenericError", - "desc": "Property '.migratable' not found" - } -} - { "execute": "query-machines", - "id": "libvirt-5" + "id": "libvirt-4" } =20 { @@ -22790,5 +22746,5 @@ "deprecated": false } ], - "id": "libvirt-5" + "id": "libvirt-4" } diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_5.0.0.aarch64.replies index 44f1bc6fb7..9e683ef979 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies @@ -22725,28 +22725,6 @@ "id": "libvirt-43" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "host", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-44" -} - -{ - "id": "libvirt-44", - "error": { - "class": "GenericError", - "desc": "Parameter 'migratable' is unexpected" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" @@ -23000,31 +22978,9 @@ "id": "libvirt-3" } =20 -{ - "execute": "query-cpu-model-expansion", - "arguments": { - "type": "full", - "model": { - "name": "max", - "props": { - "migratable": false - } - } - }, - "id": "libvirt-4" -} - -{ - "id": "libvirt-4", - "error": { - "class": "GenericError", - "desc": "Parameter 'migratable' is unexpected" - } -} - { "execute": "query-machines", - "id": "libvirt-5" + "id": "libvirt-4" } =20 { @@ -23612,5 +23568,5 @@ "deprecated": false } ], - "id": "libvirt-5" + "id": "libvirt-4" } --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 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=1591403065; cv=none; d=zohomail.com; s=zohoarc; b=kYi7Eghhsk/0ZtOeZ7UQqn3Cb1207u4Xcw9/YYZgvJEtf1Rr2uhGUyrHso+E0l4krMhKSkuvLkia6+4l6M/YDk1uhaEKLUeo2V4kQdgdBt/7nmILGq2hhA4BulTZKnlBjof9rI9dn+K+o5VnagOIJlgKNcSkL7IEYl6fy1+Ls3Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403065; 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=GKYGkdRHAvJNqL+I7ABTIwXY768coeyrnICKe9IsG84=; b=e7cPwsyqtxTz57bT1SkW1brLcLlmlD1Cloc0EJLofvQBmScSvdMhn9Y0TPTpOa9dHFjmuYLZdhWptOIxTqmC1NW6vwVhK4bcn1fXvOG4RN00U3DYcLKHG2yR17zA1FClUug/E6k2w+PaiUCHjWGNk7ZDd88BfvFZci8wgEMLrIY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1591403065352685.8845996522708; Fri, 5 Jun 2020 17:24:25 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-266-_wISZifRPCW-EyQEYFT-3w-1; Fri, 05 Jun 2020 20:24:21 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B05E61009616; Sat, 6 Jun 2020 00:24:16 +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 92DBB61493; Sat, 6 Jun 2020 00:24:16 +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 603BA18045C3; Sat, 6 Jun 2020 00:24:16 +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 055IWIxJ030083 for ; Fri, 5 Jun 2020 14:32:18 -0400 Received: by smtp.corp.redhat.com (Postfix) id 67FE45C296; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 111685C3FD for ; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id D25D6245141; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403064; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=GKYGkdRHAvJNqL+I7ABTIwXY768coeyrnICKe9IsG84=; b=N4H1qp8FUz4Wlh1XL92L/rUBEqCHdYlcDHEqRDTiwaSTIBWLowXM32hEiPAWO/90VQ4pn4 CKm1Tdke1sdi9kRYSr2yxfEFYpYZfJhuM5qunOXq8k0RR06Q8ypFbx3KRL1B+rHUoT6bLG QgcYXUDk2FgNeiaGsanDtOR8VauLsK0= X-MC-Unique: _wISZifRPCW-EyQEYFT-3w-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 5/9] conf: Introduce migratable attribute for the element Date: Fri, 5 Jun 2020 20:31:27 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The attribute is only allowed for host-passthrough CPUs and it can be used to request only migratable or all supported features to be enabled in the virtual CPU. Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- docs/formatdomain.html.in | 14 ++++++++++++-- docs/schemas/domaincommon.rng | 5 +++++ src/conf/cpu_conf.c | 27 +++++++++++++++++++++++++++ src/conf/cpu_conf.h | 1 + 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 33cec1e6dd..6ebf19ae57 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1490,7 +1490,7 @@ ... =20
-<cpu mode=3D'host-passthrough'>
+<cpu mode=3D'host-passthrough' migratable=3D'off'>
   <cache mode=3D'passthrough'/>
   <feature policy=3D'disable' name=3D'lahf_lm'/>
 ...
@@ -1639,7 +1639,17 @@ using host-passthrough is dangerous if the source and destinatio= n hosts are not identical in both hardware, QEMU version, microcode vers= ion and configuration. If such a migration is attempted then the gue= st may - hang or crash upon resuming execution on the destination host. + hang or crash upon resuming execution on the destination host. + Depending on hypervisor version the virtual CPU may or may not + contain features which may block migration even to an identical = host. + Since 6.5.0 optional + migratable attribute may be used to explicitly requ= est + such features to be removed from (on) or kept in + (off) the virtual CPU. This attribute does not make + migration to another host safer: even with + migratable=3D'on' migration will be dangerous unles= s both + hosts are identical as described above. + =20 Both host-model and host-passthrough mod= es diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 6727cd743b..19242a9a32 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -5469,6 +5469,11 @@ + + + + + diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 25648a946c..b40737e407 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -243,6 +243,7 @@ virCPUDefCopyWithoutModel(const virCPUDef *cpu) copy->cores =3D cpu->cores; copy->threads =3D cpu->threads; copy->arch =3D cpu->arch; + copy->migratable =3D cpu->migratable; =20 if (cpu->cache) { if (VIR_ALLOC(copy->cache) < 0) @@ -333,6 +334,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, g_autofree char *fallback =3D NULL; g_autofree char *vendor_id =3D NULL; g_autofree char *tscScaling =3D NULL; + g_autofree char *migratable =3D NULL; virHostCPUTscInfoPtr tsc =3D NULL; =20 *cpu =3D NULL; @@ -386,6 +388,26 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt, def->mode =3D VIR_CPU_MODE_CUSTOM; } =20 + if ((migratable =3D virXMLPropString(ctxt->node, "migratable"))) { + int val; + + if (def->mode !=3D VIR_CPU_MODE_HOST_PASSTHROUGH) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Attribute migratable is only allowed for " + "host-passthrough CPU")); + return -1; + } + + if ((val =3D virTristateSwitchTypeFromString(migratable)) < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Invalid value in migratable attribute: '%s'"= ), + migratable); + return -1; + } + + def->migratable =3D val; + } + if (def->type =3D=3D VIR_CPU_TYPE_GUEST) { g_autofree char *match =3D virXMLPropString(ctxt->node, "match"); g_autofree char *check =3D NULL; @@ -698,6 +720,11 @@ virCPUDefFormatBufFull(virBufferPtr buf, virBufferAsprintf(&attributeBuf, " check=3D'%s'", virCPUCheckTypeToString(def->check)); } + + if (def->mode =3D=3D VIR_CPU_MODE_HOST_PASSTHROUGH && def->migrata= ble) { + virBufferAsprintf(&attributeBuf, " migratable=3D'%s'", + virTristateSwitchTypeToString(def->migratabl= e)); + } } =20 /* Format children */ diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h index a95d56d017..24c51e3a63 100644 --- a/src/conf/cpu_conf.h +++ b/src/conf/cpu_conf.h @@ -141,6 +141,7 @@ struct _virCPUDef { virCPUFeatureDefPtr features; virCPUCacheDefPtr cache; virHostCPUTscInfoPtr tsc; + virTristateSwitch migratable; /* for host-passthrough mode */ }; =20 virCPUDefPtr virCPUDefNew(void); --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 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=1591404426; cv=none; d=zohomail.com; s=zohoarc; b=j8anoDlz8KHHh6+hmQEb2POn4BNt/ouG8q41t/jIhtmdAO0KyJiIz2NAdx7Kz4/nNUYzpoG2gSE8X/J0ajkf8mXTeuRbFtUOvMCper/B9QLkaWCNdGlj/xazbv8ibcg+eIsIOQIe0S9x2pRZHsnpH3Cb4tZ/6eeVu+tqODIMkz4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591404426; 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=Z5+vIlKvrOb8u+UfOBEP+8jl6QwIINszjPVTuwXjMQA=; b=IjmXpPIRzE2GV5M15f2kVWSNTc5HX3YhGClsHOBnRygieFYSbJyiIQgJMNaYV5hgUCeG6kMdhCvmuzU2ZCfklSywSg5+MR41V5oWF7wGMyZ+iqp7dyr8e4FAm4RcCWP0ZNGO9vuNpHoxvrnPZxs39erEidB3XMRRkpUD1LYrrHg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1591404426773684.9579823046934; Fri, 5 Jun 2020 17:47:06 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-411-7Gxd6oPuPvu9ukh-DE9E6A-1; Fri, 05 Jun 2020 20:24:24 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4B4E5107ACF4; Sat, 6 Jun 2020 00:24:19 +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 2A3112C24F; Sat, 6 Jun 2020 00:24:19 +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 EA02C1803C27; Sat, 6 Jun 2020 00:24:18 +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 055IWKke030107 for ; Fri, 5 Jun 2020 14:32:20 -0400 Received: by smtp.corp.redhat.com (Postfix) id A872C1972B; Fri, 5 Jun 2020 18:32:20 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 79F79108BA for ; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id D4718245142; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591404425; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Z5+vIlKvrOb8u+UfOBEP+8jl6QwIINszjPVTuwXjMQA=; b=UuGV0/BaLwTqR93SzcnHfUkeCC+zEwmMdWH7iEWnW63R11NLxEZYLWttj5jh+0kehI0OYs rDrGg9yYNIK9pHVXa+AjMzb1D9aNyMUwaN/6QeNG1ES0DpY2PxL2KC/oi3larJNAw4HccH ZAQS5+JOjwxnlfb9sYWL0m3X7zRLFFo= X-MC-Unique: 7Gxd6oPuPvu9ukh-DE9E6A-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 6/9] conf: Advertise migratable attribute for CPU in domcaps Date: Fri, 5 Jun 2020 20:31:28 +0200 Message-Id: <188ef708a49192e6105878ee4d15efdca271c3ad.1591380620.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 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.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- docs/formatdomaincaps.html.in | 13 +++++++++++-- docs/schemas/domaincaps.rng | 3 +++ src/conf/domain_capabilities.c | 13 ++++++++++++- src/conf/domain_capabilities.h | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in index 7df9f0bbbf..1506f79818 100644 --- a/docs/formatdomaincaps.html.in +++ b/docs/formatdomaincaps.html.in @@ -201,7 +201,12 @@ <domainCapabilities> ... <cpu> - <mode name=3D'host-passthrough' supported=3D'yes'/> + <mode name=3D'host-passthrough' supported=3D'yes'> + <enum name=3D'hostPassthroughMigratable'> + <value>on</value> + <value>off</value> + </enum> + </mode> <mode name=3D'host-model' supported=3D'yes'> <model fallback=3D'allow'>Broadwell</model> <vendor>Intel</vendor> @@ -227,7 +232,11 @@ =20
host-passthrough
-
No mode specific details are provided.
+
+ The hostPassthroughMigratable enum shows possible val= ues + of the migratable attribute for the <cpu> eleme= nt + with mode=3D'host-passthrough' in the domain XML. +
=20
host-model
diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng index 682cc82177..325581476d 100644 --- a/docs/schemas/domaincaps.rng +++ b/docs/schemas/domaincaps.rng @@ -99,6 +99,9 @@ host-passthrough + + + =20 diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 921d795630..0fa8aee78e 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -412,10 +412,21 @@ virDomainCapsCPUFormat(virBufferPtr buf, virBufferAddLit(buf, "\n"); virBufferAdjustIndent(buf, 2); =20 - virBufferAsprintf(buf, "\n", + virBufferAsprintf(buf, "hostPassthrough ? "yes" : "no"); =20 + if (cpu->hostPassthrough && cpu->hostPassthroughMigratable.report) { + virBufferAddLit(buf, ">\n"); + virBufferAdjustIndent(buf, 2); + ENUM_PROCESS(cpu, hostPassthroughMigratable, + virTristateSwitchTypeToString); + virBufferAdjustIndent(buf, -2); + virBufferAddLit(buf, "\n"); + } else { + virBufferAddLit(buf, "/>\n"); + } + virBufferAsprintf(buf, "hostModel) { diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 9f4a23d015..685d5e2a44 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -145,6 +145,7 @@ typedef struct _virDomainCapsCPU virDomainCapsCPU; typedef virDomainCapsCPU *virDomainCapsCPUPtr; struct _virDomainCapsCPU { bool hostPassthrough; + virDomainCapsEnum hostPassthroughMigratable; virCPUDefPtr hostModel; virDomainCapsCPUModelsPtr custom; }; --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1591403069; cv=none; d=zohomail.com; s=zohoarc; b=OVyLKaRensgkdwfrxY6fIdfOFiXB1gt4JsqBecApZURcjMn+qegZRI4yHy1D+OmS1c61pFbcJns/yA2BSI9ymtgrhG+aDvQJXBCvXC/6JDb5mMTA6MJ8yGGuyvIo5fD+iJtftP7g+6aV/OKfXOYgqXEk4pe9SoMhN/EmB1S7qYk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403069; 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=cHx1QJQsarOepwzg6X2JycruwIEhs+IB6JATNaIsZgg=; b=cqvY26IQJmBicquiFyYMku0feSGNe6uCXmbh2npXNMSYPhHPXqnnKeNzdPe/q9//DmzvDSFfvpqn2I2cyAIZoKJhf94FxQxBUfJxoQQENXUHFoS0tdA+OrBsGmG3wPANPuzVXwlbK4i9XNVgyjoH4V8Gl+6oRSU78eX81grr+hA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1591403069316769.9294557637007; Fri, 5 Jun 2020 17:24:29 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-215-NRd-NEEgM3aldMWDG_93dg-1; Fri, 05 Jun 2020 20:24:22 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F3ABDEC1A5; Sat, 6 Jun 2020 00:24:16 +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 D790A7F4C6; Sat, 6 Jun 2020 00:24:16 +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 AB1338A8F2; Sat, 6 Jun 2020 00:24:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 055IWIoO030093 for ; Fri, 5 Jun 2020 14:32:18 -0400 Received: by smtp.corp.redhat.com (Postfix) id BE72E7B5F2; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 10A1E7B5F3 for ; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id D7998245143; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403065; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=cHx1QJQsarOepwzg6X2JycruwIEhs+IB6JATNaIsZgg=; b=GD6Gm6Q3UtAI+YsLdFGnZZ8IR16sn5FPLoAIRjxapc0DttQw/JCLil1n35eY1ZrPf7p2IZ 7nqcwaSZdkCMSZdxMjSR1X+lSL+vlAcyApYC2K1NlIIJsoGhszop9yASpQ3qD3LfRGn2r8 xdUkAtI+7M/iAwVPn45cQ5IiQtXqXUE= X-MC-Unique: NRd-NEEgM3aldMWDG_93dg-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 7/9] qemu: Advertise migratable attribute for CPU in domcaps Date: Fri, 5 Jun 2020 20:31:29 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com 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.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_capabilities.c | 11 ++++++++++- tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_1.5.3.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_1.6.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_1.7.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.1.1.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_2.10.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.11.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_2.12.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.7.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.8.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_2.9.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 6 +++++- tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_3.0.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_4.0.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_4.2.0.s390x.xml | 6 +++++- tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 6 +++++- tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 6 +++++- tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 7 ++++++- tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 7 ++++++- 71 files changed, 376 insertions(+), 71 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7a976b6bbc..bd3b26d0d9 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5857,9 +5857,18 @@ virQEMUCapsFillDomainCPUCaps(virQEMUCapsPtr qemuCaps, { if (virQEMUCapsIsCPUModeSupported(qemuCaps, hostarch, domCaps->virttyp= e, VIR_CPU_MODE_HOST_PASSTHROUGH, - domCaps->machine)) + domCaps->machine)) { domCaps->cpu.hostPassthrough =3D true; =20 + domCaps->cpu.hostPassthroughMigratable.report =3D true; + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE)) { + VIR_DOMAIN_CAPS_ENUM_SET(domCaps->cpu.hostPassthroughMigratabl= e, + VIR_TRISTATE_SWITCH_ON); + } + VIR_DOMAIN_CAPS_ENUM_SET(domCaps->cpu.hostPassthroughMigratable, + VIR_TRISTATE_SWITCH_OFF); + } + if (virQEMUCapsIsCPUModeSupported(qemuCaps, hostarch, domCaps->virttyp= e, VIR_CPU_MODE_HOST_MODEL, domCaps->machine)) { diff --git a/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml b/tests/domainc= apsdata/qemu_1.5.3-q35.x86_64.xml index b9b9dd0538..3ed96a3ee7 100644 --- a/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_1.5.3.x86_64.xml b/tests/domaincapsd= ata/qemu_1.5.3.x86_64.xml index c36295b3e5..20cd3a105a 100644 --- a/tests/domaincapsdata/qemu_1.5.3.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.5.3.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_1.6.0-q35.x86_64.xml index 56ad885feb..a4b26b46cb 100644 --- a/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_1.6.0.x86_64.xml b/tests/domaincapsd= ata/qemu_1.6.0.x86_64.xml index 3d4f7f1cee..16417a13d2 100644 --- a/tests/domaincapsdata/qemu_1.6.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.6.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_1.7.0-q35.x86_64.xml index 7a8b58bffe..559b49491e 100644 --- a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_1.7.0.x86_64.xml b/tests/domaincapsd= ata/qemu_1.7.0.x86_64.xml index c9dfb2e123..472c073de9 100644 --- a/tests/domaincapsdata/qemu_1.7.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.7.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.1.1-q35.x86_64.xml index 0bf035ce58..a87f5b2a63 100644 --- a/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.1.1.x86_64.xml b/tests/domaincapsd= ata/qemu_2.1.1.x86_64.xml index 23a8509698..15adfe0ee8 100644 --- a/tests/domaincapsdata/qemu_2.1.1.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.1.1.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml b/tests/domain= capsdata/qemu_2.10.0-q35.x86_64.xml index 7033264719..be2840d9b8 100644 --- a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Haswell-noTSX Intel diff --git a/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml b/tests/doma= incapsdata/qemu_2.10.0-virt.aarch64.xml index c55ed9bea8..4505d64e3a 100644 --- a/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml @@ -27,7 +27,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_2.10.0.aarch64.xml b/tests/domaincap= sdata/qemu_2.10.0.aarch64.xml index 0f710b001d..629833b745 100644 --- a/tests/domaincapsdata/qemu_2.10.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.10.0.aarch64.xml @@ -25,7 +25,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_2.10.0.ppc64.xml b/tests/domaincapsd= ata/qemu_2.10.0.ppc64.xml index 08e63d6410..863afbc0df 100644 --- a/tests/domaincapsdata/qemu_2.10.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.10.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_2.10.0.s390x.xml b/tests/domaincapsd= ata/qemu_2.10.0.s390x.xml index b41ca5158c..ce5c92edce 100644 --- a/tests/domaincapsdata/qemu_2.10.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.10.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + z14-base diff --git a/tests/domaincapsdata/qemu_2.10.0.x86_64.xml b/tests/domaincaps= data/qemu_2.10.0.x86_64.xml index d67badb4c2..6596016d33 100644 --- a/tests/domaincapsdata/qemu_2.10.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.10.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Haswell-noTSX Intel diff --git a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml b/tests/domain= capsdata/qemu_2.11.0-q35.x86_64.xml index ae37e6a462..c2e148e0fc 100644 --- a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Skylake-Client Intel diff --git a/tests/domaincapsdata/qemu_2.11.0.s390x.xml b/tests/domaincapsd= ata/qemu_2.11.0.s390x.xml index ad4e6b0500..c5b48fdad5 100644 --- a/tests/domaincapsdata/qemu_2.11.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.11.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + z14-base diff --git a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml b/tests/domaincaps= data/qemu_2.11.0.x86_64.xml index fa9c6487b0..38b6b20f77 100644 --- a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Skylake-Client Intel diff --git a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml b/tests/domain= capsdata/qemu_2.12.0-q35.x86_64.xml index 164427683e..8d38d33369 100644 --- a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Haswell-noTSX Intel diff --git a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml b/tests/doma= incapsdata/qemu_2.12.0-virt.aarch64.xml index 6504b74fa6..8ea58bfa25 100644 --- a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml @@ -27,7 +27,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml b/tests/domaincap= sdata/qemu_2.12.0.aarch64.xml index 2c429fdcca..667516e75e 100644 --- a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml @@ -25,7 +25,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml b/tests/domaincapsd= ata/qemu_2.12.0.ppc64.xml index fb3f4b7c80..eac3e6a868 100644 --- a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_2.12.0.s390x.xml b/tests/domaincapsd= ata/qemu_2.12.0.s390x.xml index 9736d6a42d..01cc3d81ec 100644 --- a/tests/domaincapsdata/qemu_2.12.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.12.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + z14-base diff --git a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml b/tests/domaincaps= data/qemu_2.12.0.x86_64.xml index 2a0dffaf0f..6e006a3ba3 100644 --- a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Haswell-noTSX Intel diff --git a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.4.0-q35.x86_64.xml index 110bfcbdbd..23e103927e 100644 --- a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml b/tests/domaincapsd= ata/qemu_2.4.0.x86_64.xml index 5a6fa78201..7c6d78e510 100644 --- a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.5.0-q35.x86_64.xml index 399ac43dc3..bb8bd9c5c5 100644 --- a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml b/tests/domaincapsd= ata/qemu_2.5.0.x86_64.xml index 23a83311c6..a89990a42e 100644 --- a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.6.0-q35.x86_64.xml index a0b27929b0..251696a161 100644 --- a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_2.6.0-virt.aarch64.xml index 5a93c0c153..95053e9cbe 100644 --- a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml @@ -27,7 +27,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml b/tests/domaincaps= data/qemu_2.6.0.aarch64.xml index fe3c5db30e..223e944c8a 100644 --- a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml @@ -25,7 +25,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml b/tests/domaincapsda= ta/qemu_2.6.0.ppc64.xml index c69b4dcae6..c97f232028 100644 --- a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml b/tests/domaincapsd= ata/qemu_2.6.0.x86_64.xml index 889b935ac8..f95f8fb46a 100644 --- a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.7.0-q35.x86_64.xml index fd6762f28c..1e6c47f2d6 100644 --- a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.7.0.s390x.xml b/tests/domaincapsda= ta/qemu_2.7.0.s390x.xml index b19a4c9fed..ff3dd4939b 100644 --- a/tests/domaincapsdata/qemu_2.7.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.7.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + diff --git a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml b/tests/domaincapsd= ata/qemu_2.7.0.x86_64.xml index 0625244885..da1b10c41b 100644 --- a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.8.0-q35.x86_64.xml index 0bf92eeb39..0a7493d86d 100644 --- a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.8.0.s390x.xml b/tests/domaincapsda= ta/qemu_2.8.0.s390x.xml index 30d2f7ff1f..47b1aa46f7 100644 --- a/tests/domaincapsdata/qemu_2.8.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.8.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + zEC12.2-base diff --git a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml b/tests/domaincapsd= ata/qemu_2.8.0.x86_64.xml index 3a9dc24c3d..6fa754c18a 100644 --- a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Broadwell diff --git a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_2.9.0-q35.x86_64.xml index 60a0b76cf1..3df3c3738e 100644 --- a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml @@ -29,7 +29,11 @@ - + + + off + + Skylake-Client Intel diff --git a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml b/tests/domaincapsda= ta/qemu_2.9.0.ppc64.xml index 4b86abbb8f..3776b6ed9c 100644 --- a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_2.9.0.s390x.xml b/tests/domaincapsda= ta/qemu_2.9.0.s390x.xml index 2476e95181..cf7e7781cc 100644 --- a/tests/domaincapsdata/qemu_2.9.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.9.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + z13.2-base diff --git a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml b/tests/domaincapsd= ata/qemu_2.9.0.x86_64.xml index c98cf1045b..a80ef28488 100644 --- a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml @@ -28,7 +28,11 @@ - + + + off + + Skylake-Client Intel diff --git a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_3.0.0-q35.x86_64.xml index acff9a1310..cd37906bc7 100644 --- a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_3.0.0.ppc64.xml index 3fdc6e0f1e..1b8ddd4ed0 100644 --- a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_3.0.0.s390x.xml b/tests/domaincapsda= ta/qemu_3.0.0.s390x.xml index a297bf9ef1..7a4e536fb5 100644 --- a/tests/domaincapsdata/qemu_3.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_3.0.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + z14-base diff --git a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_3.0.0.x86_64.xml index a51eb46d15..9fa4224760 100644 --- a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_3.1.0-q35.x86_64.xml index 6d11d0303f..82b1b6a095 100644 --- a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml b/tests/domaincapsda= ta/qemu_3.1.0.ppc64.xml index 3136a00662..6a2bc87947 100644 --- a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_3.1.0.x86_64.xml index 9fe7605272..ffc82f17c3 100644 --- a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_4.0.0-q35.x86_64.xml index 8e991f672b..c837de966f 100644 --- a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_4.0.0-virt.aarch64.xml index 0821b8ef9f..f5347aba9f 100644 --- a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml @@ -27,7 +27,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml b/tests/domaincaps= data/qemu_4.0.0.aarch64.xml index 5d5af1b87c..b879d7553c 100644 --- a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml @@ -25,7 +25,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_4.0.0.ppc64.xml index b56d5fb6dc..0642753f11 100644 --- a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_4.0.0.s390x.xml b/tests/domaincapsda= ta/qemu_4.0.0.s390x.xml index 21ddd27cb9..632c26d689 100644 --- a/tests/domaincapsdata/qemu_4.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_4.0.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + z14.2-base diff --git a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_4.0.0.x86_64.xml index 27d8023d38..3f64bd4b66 100644 --- a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_4.1.0-q35.x86_64.xml index f4ddb66e38..8bf41d6b49 100644 --- a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_4.1.0.x86_64.xml index bcc8bbcc7a..5010f879a6 100644 --- a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_4.2.0-q35.x86_64.xml index fcb0505da0..6f72b67f68 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_4.2.0-virt.aarch64.xml index 908406bf11..ef57216562 100644 --- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -27,7 +27,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincaps= data/qemu_4.2.0.aarch64.xml index c66550cec5..3cf2a6faf1 100644 --- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml @@ -25,7 +25,11 @@ - + + + off + + pxa262 diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_4.2.0.ppc64.xml index 7906482eee..0f2cf6da64 100644 --- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsda= ta/qemu_4.2.0.s390x.xml index 6b87e450a2..ecd037438a 100644 --- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml @@ -25,7 +25,11 @@ - + + + off + + gen15a-base diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_4.2.0.x86_64.xml index e22ef8e032..f4a8321637 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_5.0.0-q35.x86_64.xml index fa945fc002..fc21b2ad62 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_5.0.0-virt.aarch64.xml index 7153a0b80d..b2b37c0f7b 100644 --- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml @@ -27,7 +27,11 @@ - + + + off + + cortex-a9 diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml b/tests/domaincaps= data/qemu_5.0.0.aarch64.xml index a3e20cc3d8..7377a2c4cf 100644 --- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml @@ -25,7 +25,11 @@ - + + + off + + cortex-a9 diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_5.0.0.ppc64.xml index 697c448dfe..9693aeb72e 100644 --- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml @@ -25,7 +25,11 @@ - + + + off + + POWER8 diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.0.0.x86_64.xml index fbde7a6ba2..aceca34c43 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + Skylake-Client-IBRS Intel diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_5.1.0-q35.x86_64.xml index 996461fb0f..d0917652e1 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -29,7 +29,12 @@ - + + + on + off + + EPYC-IBPB AMD diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.1.0.x86_64.xml index e95fcec8bc..f33066759d 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -28,7 +28,12 @@ - + + + on + off + + EPYC-IBPB AMD --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 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=1591403351; cv=none; d=zohomail.com; s=zohoarc; b=WHfSuvZc21ff8AZkNCsa3RkiPH3IjSy551viU48OZtCWvrqQJc4VrhXTw58KpB5VTrPpiO9UpEQKITo0XvN7SJ99TvqMn2cTijbAyNUybLSb8tlRxEtuNtPimuN7kj8+w1zxnLgc7LL42JIvCTDUpvX8jdR/Pm1++DrScJ/Ldu4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403351; 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=rNp+bqNEyXZ8pKGyVm2PF1IaAjeq3ldu2im+sTX1BfA=; b=CeoFO96bAS+zjWjvoHKQ/Zh5mLUvdf3QaV0+CFmkAUg1WZVWBh8tABtR87yGj30ibLIZoSwlvdY5b8Y/WxbzFJd+I0zsKWEVRUPnx7AlqPacWblQrUqEPCAAy6Fj6oOH1JuoBa0EyAF9qRDhi8pVQchxzLsEeA/rWzKtu2ZEk4o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1591403351891979.3609565257636; Fri, 5 Jun 2020 17:29:11 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-110-4GzgUE2BMbWkcmgkmkAYtw-1; Fri, 05 Jun 2020 20:24:27 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A826F835B92; Sat, 6 Jun 2020 00:24:21 +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 859DD7F4EA; Sat, 6 Jun 2020 00:24:21 +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 554DC181ACAD; Sat, 6 Jun 2020 00:24:21 +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 055IWKkZ030112 for ; Fri, 5 Jun 2020 14:32:20 -0400 Received: by smtp.corp.redhat.com (Postfix) id D1F051972B; Fri, 5 Jun 2020 18:32:20 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7AFA9108D9 for ; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id D9AA6245144; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403350; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=rNp+bqNEyXZ8pKGyVm2PF1IaAjeq3ldu2im+sTX1BfA=; b=cd/BFeddI6NocpnUuomgAzTKv6h+toGwIk2oTZBd+lf6/bQ7kIpIJDkfAe3xoIimm47Fc4 7r9Odt6P3PzwOY6BaKd1pMcXoE6KDVO/nNMJNkU+CaUC7FGQzpbsE53BGuQF5fPF+IyHRS R1BlA9EnuE0bsmkjKChMvvIiI553lpg= X-MC-Unique: 4GzgUE2BMbWkcmgkmkAYtw-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 8/9] qemu: Fill default value in //cpu/@migratable attribute Date: Fri, 5 Jun 2020 20:31:30 +0200 Message-Id: <1c84c692f75dd612e5e606d13231576ef61a38eb.1591380620.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 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.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Before QEMU introduced migratable CPU property, "-cpu host" included all features that could be enabled on the host, even those which would block migration. In other words, the default was equivalent to migratable=3Doff. When the migratable property was introduced, the default changed to migratable=3Don. Let's record the default in domain XML. Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_domain.c | 14 ++++++++++++-- .../migration-in-params-in.xml | 2 +- .../migration-out-params-in.xml | 2 +- .../qemuxml2xmloutdata/cpu-check-default-none.xml | 2 +- tests/qemuxml2xmloutdata/cpu-host-kvmclock.xml | 2 +- .../cpu-host-passthrough-features.xml | 2 +- tests/qemuxml2xmloutdata/kvm-features.xml | 2 +- 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 3239ac1a52..2dad823a86 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4792,7 +4792,8 @@ qemuDomainDefSetDefaultCPU(virDomainDefPtr def, =20 =20 static int -qemuDomainDefCPUPostParse(virDomainDefPtr def) +qemuDomainDefCPUPostParse(virDomainDefPtr def, + virQEMUCapsPtr qemuCaps) { virCPUFeatureDefPtr sveFeature =3D NULL; bool sveVectorLengthsProvided =3D false; @@ -4888,6 +4889,15 @@ qemuDomainDefCPUPostParse(virDomainDefPtr def) } } =20 + if (qemuCaps && + def->cpu->mode =3D=3D VIR_CPU_MODE_HOST_PASSTHROUGH && + !def->cpu->migratable) { + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE)) + def->cpu->migratable =3D VIR_TRISTATE_SWITCH_ON; + else if (ARCH_IS_X86(def->os.arch)) + def->cpu->migratable =3D VIR_TRISTATE_SWITCH_OFF; + } + /* Nothing to be done if only CPU topology is specified. */ if (def->cpu->mode =3D=3D VIR_CPU_MODE_CUSTOM && !def->cpu->model) @@ -5033,7 +5043,7 @@ qemuDomainDefPostParse(virDomainDefPtr def, if (qemuDomainDefVcpusPostParse(def) < 0) return -1; =20 - if (qemuDomainDefCPUPostParse(def) < 0) + if (qemuDomainDefCPUPostParse(def, qemuCaps) < 0) return -1; =20 if (qemuDomainDefTsegPostParse(def, qemuCaps) < 0) diff --git a/tests/qemustatusxml2xmldata/migration-in-params-in.xml b/tests= /qemustatusxml2xmldata/migration-in-params-in.xml index fdc2d39173..93450c38d5 100644 --- a/tests/qemustatusxml2xmldata/migration-in-params-in.xml +++ b/tests/qemustatusxml2xmldata/migration-in-params-in.xml @@ -277,7 +277,7 @@ - + diff --git a/tests/qemustatusxml2xmldata/migration-out-params-in.xml b/test= s/qemustatusxml2xmldata/migration-out-params-in.xml index 1956eac120..c1daab4dee 100644 --- a/tests/qemustatusxml2xmldata/migration-out-params-in.xml +++ b/tests/qemustatusxml2xmldata/migration-out-params-in.xml @@ -291,7 +291,7 @@ - + diff --git a/tests/qemuxml2xmloutdata/cpu-check-default-none.xml b/tests/qe= muxml2xmloutdata/cpu-check-default-none.xml index ddffb2f15b..9f6b043f2c 100644 --- a/tests/qemuxml2xmloutdata/cpu-check-default-none.xml +++ b/tests/qemuxml2xmloutdata/cpu-check-default-none.xml @@ -8,7 +8,7 @@ hvm - + destroy restart diff --git a/tests/qemuxml2xmloutdata/cpu-host-kvmclock.xml b/tests/qemuxml= 2xmloutdata/cpu-host-kvmclock.xml index 6d8fa367c7..9414c41c7a 100644 --- a/tests/qemuxml2xmloutdata/cpu-host-kvmclock.xml +++ b/tests/qemuxml2xmloutdata/cpu-host-kvmclock.xml @@ -8,7 +8,7 @@ hvm - + diff --git a/tests/qemuxml2xmloutdata/cpu-host-passthrough-features.xml b/t= ests/qemuxml2xmloutdata/cpu-host-passthrough-features.xml index 9a961eb1a1..bd1e50ef6a 100644 --- a/tests/qemuxml2xmloutdata/cpu-host-passthrough-features.xml +++ b/tests/qemuxml2xmloutdata/cpu-host-passthrough-features.xml @@ -13,7 +13,7 @@ hvm - + diff --git a/tests/qemuxml2xmloutdata/kvm-features.xml b/tests/qemuxml2xmlo= utdata/kvm-features.xml index 7c554671b3..9c53eb4630 100644 --- a/tests/qemuxml2xmloutdata/kvm-features.xml +++ b/tests/qemuxml2xmloutdata/kvm-features.xml @@ -15,7 +15,7 @@ - + destroy restart --=20 2.27.0 From nobody Thu May 2 22:02:53 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 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=1591403121; cv=none; d=zohomail.com; s=zohoarc; b=cJg79rlm+oEz6AE4vmQ0C6PMJgh/IhSWQQ3oLxZ3OsabKjaXOifFxcL4h5ND1uJqp5q8h5BzwrdmsK15qy4MsltDYZxezfmt5cbynDqnoJWdj7Bd604Fp+Os/mONcBNzAqrC6ZWZ/P2m7p5S0d2NrratBIKgmAHb3j8f+Ce/DyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1591403121; 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=C+0BXuaaQyIEAPBupdL6+YsJONA+4wUjTzO/JvRse3A=; b=LmZcFMe+W1ckcx3ELuI7XIawuLKNukYeUMYx7t+xP2Df696D6gdjHDvocsbssy2UYbhn53jqs/Oo/fzQDmeEegyF73h5IlNo7tQY/rK7Rivvx55EsY4qFlGcEoPqrPtJR9yVA2i/fLREY+vSqU97ikIQqACQqW6te9z423Cy7ZQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1591403121762311.6310172586784; Fri, 5 Jun 2020 17:25:21 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-320-ITPStxjrMSOAN8q6f1iaBQ-1; Fri, 05 Jun 2020 20:24:21 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7347280572E; Sat, 6 Jun 2020 00:24:14 +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 504A17F4EA; Sat, 6 Jun 2020 00:24:14 +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 17FE21804774; Sat, 6 Jun 2020 00:24:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 055IWIGe030076 for ; Fri, 5 Jun 2020 14:32:18 -0400 Received: by smtp.corp.redhat.com (Postfix) id 409307CCE1; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.40.193.140]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1104E7CCE0 for ; Fri, 5 Jun 2020 18:32:18 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id DBAA9245145; Fri, 5 Jun 2020 20:31:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1591403120; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=C+0BXuaaQyIEAPBupdL6+YsJONA+4wUjTzO/JvRse3A=; b=aww5Xsz3WCOzaYhEpYj3FEbMHJvrLCbDJrngPRqYNut04iC6bbcPfB/srSO6PTr2E8mlzv IREJZ2lDVsoM79YmDCstYFUjgUj0Kp4X1YVEGeRynSbTO9xI/CiEfhtdJX7zKHoDErG7HS VDpFi0i3DX1rlBghp1OpZQZ4hvl7ke8= X-MC-Unique: ITPStxjrMSOAN8q6f1iaBQ-1 From: Jiri Denemark To: libvir-list@redhat.com Subject: [libvirt PATCH 9/9] qemu: Pass migratable=on|off property for -cpu host Date: Fri, 5 Jun 2020 20:31:31 +0200 Message-Id: <3e0dcffa4166172c18d41cfb04e15bf27ec85aed.1591380620.git.jdenemar@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com 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.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 419eca5675..d9e99d9d1a 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6254,6 +6254,21 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, } virBufferAddLit(buf, ",aarch64=3Doff"); } + + if (cpu->migratable) { + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE)) { + virBufferAsprintf(buf, ",migratable=3D%s", + virTristateSwitchTypeToString(cpu->migra= table)); + } else if (ARCH_IS_X86(def->os.arch) && + cpu->migratable =3D=3D VIR_TRISTATE_SWITCH_OFF) { + /* This is the default on x86 */ + } else { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Migratable attribute for host-passthroug= h " + "CPU is not supported by QEMU binary")); + return -1; + } + } break; =20 case VIR_CPU_MODE_HOST_MODEL: --=20 2.27.0