From nobody Sun Feb 8 23:27:14 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1560937321; cv=none; d=zoho.com; s=zohoarc; b=BoX5iKB4ETKoM6NKB3lbX2NwwsvuKasUIBp8Sa40Q+eF8Xm412BfvTusAz2ipnnkeGbZceCYzuFvsY4H0JpP37lJr44KKKvF9xksmh6lBfTn5Jk8LFMxC2MQmKV+OxxcsqV/VCPHak0BSJJZoBTX5yLGc6YD8lgLlNDfeRCevJI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1560937321; 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:ARC-Authentication-Results; bh=wXSKXG6PIdWqRV4FVLGCjFRUebEOpO2Yl4IfeHwPwqA=; b=mRP/PJiRaIxzxK8HWeuW/+en8M9Af/a7g5zXyoaESfj6T2T+bJuHhVtJvELHhx50YuKsuUCRGfEIGEsISkH3lEDpbdkCSE+sckymHHoRInn1wb90kNbYIbhZoEF1awtq5h2SObeXr78pCnEEMuJRQN8VOF3fNkaiMLS/WdPQiaw= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 156093732110366.15459000755243; Wed, 19 Jun 2019 02:42:01 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7831A81E04; Wed, 19 Jun 2019 09:41:59 +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 545535C2E4; Wed, 19 Jun 2019 09:41:59 +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 4D994206D3; Wed, 19 Jun 2019 09:41:58 +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 x5J9cVQi024368 for ; Wed, 19 Jun 2019 05:38:31 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5A8F3183F0; Wed, 19 Jun 2019 09:38:31 +0000 (UTC) Received: from orkuz.int.mamuti.net (ovpn-204-21.brq.redhat.com [10.40.204.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 037CD608C2 for ; Wed, 19 Jun 2019 09:38:31 +0000 (UTC) Received: by orkuz.int.mamuti.net (Postfix, from userid 500) id A800F2A3B36; Wed, 19 Jun 2019 11:38:23 +0200 (CEST) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 19 Jun 2019 11:38:11 +0200 Message-Id: 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 Subject: [libvirt] [PATCH 14/24] qemu: Probe host CPU after capabilities X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 19 Jun 2019 09:42:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" The way we call query-cpu-model-expansion will rely on some capabilities bits. Let's make sure all capabilities are set before probing host CPU. Signed-off-by: Jiri Denemark --- src/qemu/qemu_capabilities.c | 8 +++- .../caps_2.12.0.x86_64.replies | 44 +++++++++---------- .../caps_3.0.0.x86_64.replies | 40 ++++++++--------- .../caps_3.1.0.x86_64.replies | 40 ++++++++--------- .../caps_4.0.0.x86_64.replies | 40 ++++++++--------- .../caps_4.1.0.x86_64.replies | 40 ++++++++--------- 6 files changed, 108 insertions(+), 104 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index cf8237da6c..3af6923e6f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4504,8 +4504,6 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, return -1; if (virQEMUCapsProbeQMPSchemaCapabilities(qemuCaps, mon) < 0) return -1; - if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon, false) < 0) - return -1; if (virQEMUCapsProbeQMPGICCapabilities(qemuCaps, mon) < 0) return -1; if (virQEMUCapsProbeQMPSEVCapabilities(qemuCaps, mon) < 0) @@ -4513,6 +4511,12 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, =20 virQEMUCapsInitProcessCaps(qemuCaps); =20 + /* The following probes rely on other previously probed capabilities. + * No capabilities bits should be set below this point. */ + + if (virQEMUCapsProbeQMPHostCPU(qemuCaps, mon, false) < 0) + return -1; + return 0; } =20 diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies b/tests/= qemucapabilitiesdata/caps_2.12.0.x86_64.replies index e78ddeb57e..3a2f854531 100644 --- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies @@ -19272,6 +19272,21 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "return": { + "reduced-phys-bits": 1, + "cbitpos": 47, + "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA= ", + "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAA= OAAA" + }, + "id": "libvirt-45" +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -19280,7 +19295,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -19470,7 +19485,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -19662,7 +19677,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -19917,7 +19932,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -19931,7 +19946,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20121,7 +20136,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20313,7 +20328,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -20568,21 +20583,6 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", - "id": "libvirt-49" -} - -{ - "return": { - "reduced-phys-bits": 1, - "cbitpos": 47, - "cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA= ", - "pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAA= OAAA" - }, "id": "libvirt-49" } =20 diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_3.0.0.x86_64.replies index b618f8c741..b2ec8d75d3 100644 --- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.replies @@ -19900,6 +19900,19 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -19908,7 +19921,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -20101,7 +20114,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -20296,7 +20309,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -20559,7 +20572,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -20573,7 +20586,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20766,7 +20779,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -20961,7 +20974,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -21224,22 +21237,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } =20 -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_3.1.0.x86_64.replies index 2b3827db9a..b8b117ffaf 100644 --- a/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_3.1.0.x86_64.replies @@ -20383,6 +20383,19 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -20391,7 +20404,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -20593,7 +20606,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -20797,7 +20810,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -21072,7 +21085,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -21086,7 +21099,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -21288,7 +21301,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -21492,7 +21505,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -21767,22 +21780,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } =20 -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_4.0.0.x86_64.replies index 26d2d65989..b155e2a242 100644 --- a/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.0.0.x86_64.replies @@ -20922,6 +20922,19 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -20930,7 +20943,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -21134,7 +21147,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -21340,7 +21353,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -21619,7 +21632,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -21633,7 +21646,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -21837,7 +21850,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -22043,7 +22056,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -22322,22 +22335,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } =20 -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_4.1.0.x86_64.replies index f175a4284b..a07082781f 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.replies @@ -21091,6 +21091,19 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-sev-capabilities", + "id": "libvirt-45" +} + +{ + "id": "libvirt-45", + "error": { + "class": "GenericError", + "desc": "SEV feature is not available" + } +} + { "execute": "query-cpu-model-expansion", "arguments": { @@ -21099,7 +21112,7 @@ "name": "host" } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -21305,7 +21318,7 @@ } } }, - "id": "libvirt-45" + "id": "libvirt-46" } =20 { @@ -21513,7 +21526,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -21794,7 +21807,7 @@ } } }, - "id": "libvirt-46" + "id": "libvirt-47" } =20 { @@ -21808,7 +21821,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -22014,7 +22027,7 @@ } } }, - "id": "libvirt-47" + "id": "libvirt-48" } =20 { @@ -22222,7 +22235,7 @@ } } }, - "id": "libvirt-48" + "id": "libvirt-49" } =20 { @@ -22503,22 +22516,9 @@ } } }, - "id": "libvirt-48" -} - -{ - "execute": "query-sev-capabilities", "id": "libvirt-49" } =20 -{ - "id": "libvirt-49", - "error": { - "class": "GenericError", - "desc": "SEV feature is not available" - } -} - { "execute": "qmp_capabilities", "id": "libvirt-1" --=20 2.22.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list