From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1672907766; cv=none; d=zohomail.com; s=zohoarc; b=DmpWKRQApj3Vixjrm1Yhh0jSDPPYoVQnfCgpfUDNHjdZp9qol0AvLBVDsJQtmh3N2O2NELU09PTUnL+pC1L6bZJXutQ9WBrhMve7hZTbEPO1jDktjwJ9tp0qkXJSz+/Bu9kJXVwyq95pZ8EXNzCz6HMxKzBvdwvZuMa2yvYFRRg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907766; 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=HA3YLMAdnSmlFZ/TpG2uJOLo0SM51xZTk9A/ebQzWnA=; b=TrwLurYci7QbxgCbI0hPNT9m41+6rxwzWPAGJZ5OvuxUp5Zn5RAJOOsziYYDR/HOO6pav5FKVHpNorm6d7UgONcZuR8rd4hrmIwsMIZ7nh3DTHrL0OPxSNbLy2mH8EjlEktZQxZfLsMPunxB2pSRJ0P0bA6GKvFqeAI2zI1BnlE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1672907766759151.2277907471414; Thu, 5 Jan 2023 00:36:06 -0800 (PST) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-58-QHGYKFb5PHKxBHtM5cxJfQ-1; Thu, 05 Jan 2023 03:35:11 -0500 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 05A943C1024D; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 914D7492B06; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C758C1946597; Thu, 5 Jan 2023 08:35:04 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E1C231946586 for ; Thu, 5 Jan 2023 08:35:03 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D24D0492B07; Thu, 5 Jan 2023 08:35:03 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7A597492B06 for ; Thu, 5 Jan 2023 08:35:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907765; 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=HA3YLMAdnSmlFZ/TpG2uJOLo0SM51xZTk9A/ebQzWnA=; b=K6e/gkwPXgI1zH29f4x09AlYGfyMOR6uUw5o38X/pihclPMd0PxXgy23Zxq1OUA8tLKF3c HboSt5PDh7YCgih6sjMZszpV92uQvo7jzXwwkJCstMkuGqC7JB7dUj+P9wc3b29fWYIL7G ZRtW6hg/mkoFNplKw02tqT7/5BSSUds= X-MC-Unique: QHGYKFb5PHKxBHtM5cxJfQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 1/7] virDomainCapsEnumFormat: Switch to virXMLFormatElement() Date: Thu, 5 Jan 2023 09:34:55 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907767897100001 Content-Type: text/plain; charset="utf-8"; x-default="true" We are formatting element and its children using virBufferAddLit(), virBufferAsprintf(), virBufferAdjustIndent(), etc. Well, we can avoid that when switching to virXMLFormatElement(). Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/conf/domain_capabilities.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 4e412c0fd8..b464298003 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -269,18 +269,14 @@ virDomainCapsEnumFormat(virBuffer *buf, const char *capsEnumName, virDomainCapsValToStr valToStr) { + virBuffer attrBuf =3D VIR_BUFFER_INITIALIZER; + virBuffer childBuf =3D VIR_BUFFER_INIT_CHILD(buf); size_t i; =20 if (!capsEnum->report) return 0; =20 - virBufferAsprintf(buf, "values) { - virBufferAddLit(buf, "/>\n"); - return 0; - } - virBufferAddLit(buf, ">\n"); - virBufferAdjustIndent(buf, 2); + virBufferAsprintf(&attrBuf, " name=3D'%s'", capsEnumName); =20 for (i =3D 0; i < sizeof(capsEnum->values) * CHAR_BIT; i++) { const char *val; @@ -289,11 +285,10 @@ virDomainCapsEnumFormat(virBuffer *buf, continue; =20 if ((val =3D (valToStr)(i))) - virBufferAsprintf(buf, "%s\n", val); + virBufferAsprintf(&childBuf, "%s\n", val); } - virBufferAdjustIndent(buf, -2); - virBufferAddLit(buf, "\n"); =20 + virXMLFormatElement(buf, "enum", &attrBuf, &childBuf); return 0; } =20 --=20 2.38.2 From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 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=1672907772; cv=none; d=zohomail.com; s=zohoarc; b=CuHS//zn7WfbdlEPtosr0Eqbe5Ks+ugLWWIIuoFqEv1RsRKBnCuQKEWgLDg40mVtUwYI3fYPPMcAz5IVj1DA5TIkSIfz37VQYZIqq+rmCJ2/qTLEz6Pd9Hy34+S3favuO376CjS8DGEYtPddPe3Qb2YRiBvuRajGFSfr1bF3hH4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907772; 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=jFjkZMsjifrUWWuzZmFCuNERHzb9HsfstKzXn4+ZUYw=; b=OUd7teBH/2AYbbdkCnDt2bXyXouiCpFoh6jGRtH+iYfqkfqLxgj7PnrVcYz+FQfRuOPoOE45jSqfgTJqcN271AjYMrT9KBs9xi2i+bxJkdBLftda8w20b42TZBT0AQVuIlb024ghB3EX1oYlIMaHS7j4HJXWcuVwlQ4RlNyE1ts= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1672907772873444.5191938232032; Thu, 5 Jan 2023 00:36:12 -0800 (PST) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-86-QquMpegTOFSLCd-3YUaZqw-1; Thu, 05 Jan 2023 03:35:11 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 064752806060; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id BEE912026D68; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 03A361946586; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 88B321946586 for ; Thu, 5 Jan 2023 08:35:04 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 6C520492B06; Thu, 5 Jan 2023 08:35:04 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 14734492B07 for ; Thu, 5 Jan 2023 08:35:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907771; 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=jFjkZMsjifrUWWuzZmFCuNERHzb9HsfstKzXn4+ZUYw=; b=dHG4gg/wN5oTGxX82e/YcaS0LI358B1bm29sxvDLB7wimfH3AMnEv34uz7whw55VVBsQpX W9YBuoKXwFAHtH2oRciI0HtppxD36ojofbjma+eR+ecRdId5++F3EyLD3KXRc0CukxvW8p tdcn7GlXWsYf2e2/5OW/adh9ou5ICiY= X-MC-Unique: QquMpegTOFSLCd-3YUaZqw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 2/7] virDomainCapsEnumFormat: Retrun void Date: Thu, 5 Jan 2023 09:34:56 +0100 Message-Id: <89c5b4414e268d92953948f80eff83362c742447.1672907604.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907773949100003 Content-Type: text/plain; charset="utf-8"; x-default="true" The virDomainCapsEnumFormat() function does not return anything but zero and none of its callers is interested in the failure anyways. Switch its return type from integer to void. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/conf/domain_capabilities.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index b464298003..01714e2270 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -263,7 +263,7 @@ virDomainCapsEnumClear(virDomainCapsEnum *capsEnum) } =20 =20 -static int +static void virDomainCapsEnumFormat(virBuffer *buf, const virDomainCapsEnum *capsEnum, const char *capsEnumName, @@ -274,7 +274,7 @@ virDomainCapsEnumFormat(virBuffer *buf, size_t i; =20 if (!capsEnum->report) - return 0; + return; =20 virBufferAsprintf(&attrBuf, " name=3D'%s'", capsEnumName); =20 @@ -289,7 +289,6 @@ virDomainCapsEnumFormat(virBuffer *buf, } =20 virXMLFormatElement(buf, "enum", &attrBuf, &childBuf); - return 0; } =20 =20 --=20 2.38.2 From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1672907767; cv=none; d=zohomail.com; s=zohoarc; b=AIkkIwsGKHghuEQ+AThe4jMSS/umFOy8dCS6v04nCtlqS1TiJMqPnffNQApUBzC5ZVlRG7pcUXPHT1fKiNx2k4Bph33T8I64L4z9oT9qKPWmrnP7GnCmJllQnV7JSeii2wyHS1HwHWwZyI31A+iCisMr502lSb7edauJaXmJMM8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907767; 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=sQxyJo64MgOEhFsVGuOFpmdNKYzRItepjJ+gw6WBKpE=; b=YaNjDzu8ZjvEWyKAlpiWwwz2OaZAdz1lPM9M1RYPz/m+l6fM/+9ad9BBQKe54GSf02zwlSOeewlBFnJ9jav3lw1OPhEq6C45Z0+GkDLHZjAGhMyCvBSbzjFabPVV86xscMW56vymmdMtS1xwY3JHeDdZ3D3RikyRDg0HddvUKvE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1672907767475827.7939858410103; Thu, 5 Jan 2023 00:36:07 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-3-p5sXOHaZP6SxKoCjECAoqA-1; Thu, 05 Jan 2023 03:35:12 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 07A9E80D0EC; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id CE8EE2026D2B; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 102141946A77; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 48B6F1946A77 for ; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 3CEE3492B08; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id A3190492B06 for ; Thu, 5 Jan 2023 08:35:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907765; 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=sQxyJo64MgOEhFsVGuOFpmdNKYzRItepjJ+gw6WBKpE=; b=A1szpJn6qlCtKc/6llLcxACHv375h3wVk5x41SKIOdb4zuho/INr4FPZxvZochV1zKeiXY /PG67jlvk5tMv56Qoa6uopWns1ZSI+y4fYN+APiLrfAENMQU8RU6M/Hwjq7dgwgRUT/Fjz 8BszQnanjqGgNgkSkyPfKvC3eFQ8CGQ= X-MC-Unique: p5sXOHaZP6SxKoCjECAoqA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 3/7] domain_capabilities: Expose Hyper-V Enlightenments Date: Thu, 5 Jan 2023 09:34:57 +0100 Message-Id: <3fa5a2274ed2b29ae663342ac4dd3d322f5e67c4.1672907604.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907767905100002 Content-Type: text/plain; charset="utf-8"; x-default="true" Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- docs/formatdomaincaps.rst | 15 +++++++++++++++ src/conf/domain_capabilities.c | 18 ++++++++++++++++++ src/conf/domain_capabilities.h | 8 ++++++++ src/conf/schemas/domaincaps.rng | 10 ++++++++++ tests/domaincapsdata/empty.xml | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 + tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_5.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 + tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_5.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 + tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_6.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_7.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 1 + 62 files changed, 109 insertions(+) diff --git a/docs/formatdomaincaps.rst b/docs/formatdomaincaps.rst index 532fea0f60..dc227e9d02 100644 --- a/docs/formatdomaincaps.rst +++ b/docs/formatdomaincaps.rst @@ -624,6 +624,12 @@ capabilities. All features occur as children of the ma= in ``features`` element.
+ + + relaxed + vapic + + =20 @@ -733,3 +739,12 @@ document store. In order to use SGX with libvirt have = a look at `SGX in domain X =20 ``sections`` The sections of the SGX enclave page cache (called EPC). + + +Hyper-V Enlightenments +^^^^^^^^^^^^^^^^^^^^^^ + +Report which features improving behavior of guests running Microsoft Windo= ws +are supported. The ``features`` enum corresponds to the ```` elem= ent +(well, its children) as documented in `Hypervisor features +`__ diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 01714e2270..82432b60a7 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -100,6 +100,7 @@ virDomainCapsDispose(void *obj) virCPUDefFree(caps->cpu.hostModel); virSEVCapabilitiesFree(caps->sev); virSGXCapabilitiesFree(caps->sgx); + g_free(caps->hyperv); =20 values =3D &caps->os.loader.values; for (i =3D 0; i < values->nvalues; i++) @@ -678,6 +679,22 @@ virDomainCapsFeatureSGXFormat(virBuffer *buf, virBufferAddLit(buf, "\n"); } =20 +static void +virDomainCapsFeatureHypervFormat(virBuffer *buf, + const virDomainCapsFeatureHyperv *hyperv) +{ + if (!hyperv) { + virBufferAddLit(buf, "\n"); + return; + } + + FORMAT_PROLOGUE(hyperv); + + ENUM_PROCESS(hyperv, features, virDomainHypervTypeToString); + + FORMAT_EPILOGUE(hyperv); +} + static void virDomainCapsFormatFeatures(const virDomainCaps *caps, virBuffer *buf) @@ -698,6 +715,7 @@ virDomainCapsFormatFeatures(const virDomainCaps *caps, =20 virDomainCapsFeatureSEVFormat(&childBuf, caps->sev); virDomainCapsFeatureSGXFormat(&childBuf, caps->sgx); + virDomainCapsFeatureHypervFormat(&childBuf, caps->hyperv); =20 virXMLFormatElement(buf, "features", NULL, &childBuf); } diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 1d504a3506..770856bf53 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -158,6 +158,13 @@ struct _virDomainCapsFeatureGIC { virDomainCapsEnum version; /* Info about virGICVersion */ }; =20 +STATIC_ASSERT_ENUM(VIR_DOMAIN_HYPERV_LAST); +typedef struct _virDomainCapsFeatureHyperv virDomainCapsFeatureHyperv; +struct _virDomainCapsFeatureHyperv { + virTristateBool supported; + virDomainCapsEnum features; /* Info about supported virDomainHyperv fe= atures */ +}; + typedef enum { VIR_DOMCAPS_CPU_USABLE_UNKNOWN, VIR_DOMCAPS_CPU_USABLE_YES, @@ -263,6 +270,7 @@ struct _virDomainCaps { virDomainCapsFeatureGIC gic; virSEVCapability *sev; virSGXCapability *sgx; + virDomainCapsFeatureHyperv *hyperv; /* add new domain features here */ =20 virTristateBool features[VIR_DOMAIN_CAPS_FEATURE_LAST]; diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.= rng index b6408bca88..4b96e89dfa 100644 --- a/src/conf/schemas/domaincaps.rng +++ b/src/conf/schemas/domaincaps.rng @@ -296,6 +296,9 @@ + + + =20 @@ -396,6 +399,13 @@ =20 + + + + + + + diff --git a/tests/domaincapsdata/empty.xml b/tests/domaincapsdata/empty.xml index 97752ca04a..542522ed29 100644 --- a/tests/domaincapsdata/empty.xml +++ b/tests/domaincapsdata/empty.xml @@ -14,5 +14,6 @@ + diff --git a/tests/domaincapsdata/libxl-xenfv.xml b/tests/domaincapsdata/li= bxl-xenfv.xml index c71d759517..d7e3424830 100644 --- a/tests/domaincapsdata/libxl-xenfv.xml +++ b/tests/domaincapsdata/libxl-xenfv.xml @@ -77,5 +77,6 @@ + diff --git a/tests/domaincapsdata/libxl-xenpv.xml b/tests/domaincapsdata/li= bxl-xenpv.xml index 8ae2370b7e..a3269f4909 100644 --- a/tests/domaincapsdata/libxl-xenpv.xml +++ b/tests/domaincapsdata/libxl-xenpv.xml @@ -67,5 +67,6 @@ + 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 d0bf0bdc7b..49550e799f 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -238,5 +238,6 @@ + diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_4.2.0-tcg.x86_64.xml index 6a3818fb4e..a5a1eb71fb 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -253,5 +253,6 @@ + diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_4.2.0-virt.aarch64.xml index 02aca3e448..e001128bf5 100644 --- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -185,5 +185,6 @@ + diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincaps= data/qemu_4.2.0.aarch64.xml index 676e1b0739..5aa9520fab 100644 --- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml @@ -179,5 +179,6 @@ + diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_4.2.0.ppc64.xml index bcc415d7de..2017a0cf44 100644 --- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml @@ -152,5 +152,6 @@ + diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsda= ta/qemu_4.2.0.s390x.xml index 4f176e2d37..e9c082244b 100644 --- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml @@ -259,5 +259,6 @@ + diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_4.2.0.x86_64.xml index 36a4081764..c67217d4ac 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -238,5 +238,6 @@ + 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 05884cdb86..bf8c6a5a54 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -240,5 +240,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_5.0.0-tcg.x86_64.xml index c53b84c140..ebab6a15f3 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -255,5 +255,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_5.0.0-virt.aarch64.xml index e74a3d9f5f..071187cfaf 100644 --- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml @@ -198,5 +198,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml b/tests/domaincaps= data/qemu_5.0.0.aarch64.xml index 605575c793..05ba8f5a83 100644 --- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml @@ -192,5 +192,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_5.0.0.ppc64.xml index a5b718618b..35d6733d23 100644 --- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml @@ -159,5 +159,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.0.0.x86_64.xml index fd1f42b555..c3ac6668af 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -240,5 +240,6 @@ + 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 a04c3e7130..f8eeb3c097 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -241,5 +241,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_5.1.0-tcg.x86_64.xml index a7b2ff8d7d..5a6aee6bda 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -255,5 +255,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.1.0.sparc.xml b/tests/domaincapsda= ta/qemu_5.1.0.sparc.xml index cde31462bc..f3ad4d43cb 100644 --- a/tests/domaincapsdata/qemu_5.1.0.sparc.xml +++ b/tests/domaincapsdata/qemu_5.1.0.sparc.xml @@ -126,5 +126,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.1.0.x86_64.xml index 45b7dcf6e4..6cf741e7ea 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -241,5 +241,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_5.2.0-q35.x86_64.xml index 61cfa7d449..bf642e4956 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -241,5 +241,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_5.2.0-tcg.x86_64.xml index caced52187..8d1702b5e3 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -255,5 +255,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_5.2.0-virt.aarch64.xml index f19ad32693..43febfb61a 100644 --- a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml @@ -198,5 +198,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml b/tests/domaincaps= data/qemu_5.2.0.aarch64.xml index 605575c793..05ba8f5a83 100644 --- a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml @@ -192,5 +192,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_5.2.0.ppc64.xml index 8ae7487c1e..87dd5cd28e 100644 --- a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml @@ -159,5 +159,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0.s390x.xml b/tests/domaincapsda= ta/qemu_5.2.0.s390x.xml index 760f514d7b..7e7f58acd6 100644 --- a/tests/domaincapsdata/qemu_5.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_5.2.0.s390x.xml @@ -261,5 +261,6 @@ + diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.2.0.x86_64.xml index 67f8b0fd83..61969bcffd 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -241,5 +241,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_6.0.0-q35.x86_64.xml index 08585e6cb0..c9c5506536 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -248,5 +248,6 @@ 450 + diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_6.0.0-tcg.x86_64.xml index 7536a42ad5..eb42eec406 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -263,5 +263,6 @@ 450 + diff --git a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_6.0.0-virt.aarch64.xml index 1235dd0ab7..def36192f5 100644 --- a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml @@ -200,5 +200,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml b/tests/domaincaps= data/qemu_6.0.0.aarch64.xml index 461e34f1d6..7177d16fa4 100644 --- a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.aarch64.xml @@ -194,5 +194,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.0.0.s390x.xml b/tests/domaincapsda= ta/qemu_6.0.0.s390x.xml index b1968668db..b977b494d4 100644 --- a/tests/domaincapsdata/qemu_6.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_6.0.0.s390x.xml @@ -262,5 +262,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_6.0.0.x86_64.xml index 632f7c21d1..a5333e5293 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -248,5 +248,6 @@ 450 + diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_6.1.0-q35.x86_64.xml index 35d1014626..b0480cf625 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -244,5 +244,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_6.1.0-tcg.x86_64.xml index 9d56f2dda7..5e89b5d17b 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -258,5 +258,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_6.1.0.x86_64.xml index 591ca12d72..4a3cdbe758 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -244,5 +244,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_6.2.0-q35.x86_64.xml index 7558e78423..064d0014c6 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -244,5 +244,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_6.2.0-tcg.x86_64.xml index c667b944da..194712f95c 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -260,5 +260,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_6.2.0-virt.aarch64.xml index 2c9ba98a0a..1da26e9c36 100644 --- a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml @@ -207,5 +207,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml b/tests/domaincaps= data/qemu_6.2.0.aarch64.xml index 9b546f59bc..2878c9d42e 100644 --- a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.aarch64.xml @@ -201,5 +201,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_6.2.0.ppc64.xml index fd7c9d8d5a..a2d6428c2f 100644 --- a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.ppc64.xml @@ -158,5 +158,6 @@ + diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_6.2.0.x86_64.xml index a20d3722fd..1da12ba5f1 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -244,5 +244,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_7.0.0-q35.x86_64.xml index ac9d384bb3..7e24baf97f 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -254,5 +254,6 @@
+ diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_7.0.0-tcg.x86_64.xml index 2419875474..1fe6b606fa 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -270,5 +270,6 @@
+ diff --git a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_7.0.0-virt.aarch64.xml index f4eb8a728b..e3f1b2d2c0 100644 --- a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml @@ -206,5 +206,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml b/tests/domaincaps= data/qemu_7.0.0.aarch64.xml index 053bec369b..6cae496a8e 100644 --- a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.aarch64.xml @@ -200,5 +200,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_7.0.0.ppc64.xml index 9c09174d77..f957e8167d 100644 --- a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml @@ -163,5 +163,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_7.0.0.x86_64.xml index 886e14ea49..f8b9526831 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -254,5 +254,6 @@
+ diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_7.1.0-q35.x86_64.xml index 6b5e8a6820..77e015659d 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -244,5 +244,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_7.1.0-tcg.x86_64.xml index e44804c21c..56ac94c8d7 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -259,5 +259,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml b/tests/domaincapsda= ta/qemu_7.1.0.ppc64.xml index 15cf6a9cf8..3ea6fa0943 100644 --- a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml @@ -156,5 +156,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_7.1.0.x86_64.xml index d4069dd6f0..dc5f9d7148 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -244,5 +244,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_7.2.0-q35.x86_64.xml index e6997ccbc6..d58fafde51 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -249,5 +249,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_7.2.0-tcg.x86_64.xml index b9bf0b6a04..e5428beea1 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -248,5 +248,6 @@ + diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_7.2.0.x86_64.xml index 67ecdc0b12..fa1cb45d65 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -249,5 +249,6 @@ + diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_8.0.0-q35.x86_64.xml index efc67b2ef9..eb18b5c696 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -249,5 +249,6 @@ + diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_8.0.0-tcg.x86_64.xml index d9b092e6fd..471a92693f 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -248,5 +248,6 @@ + diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_8.0.0.x86_64.xml index 2b17a409bd..436ca212a8 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -249,5 +249,6 @@ + --=20 2.38.2 From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1672907770; cv=none; d=zohomail.com; s=zohoarc; b=DxCvCeiRhQPXwCFn5SDGB2IQ1UIQqQ6/m09JqEXKTUSvRhIE7N/DSvqHhbC8uqawbFwuEdL2UIQt1Co8Gm5lXlY1x5JLMConHn5EQiTUNDArzS7jYw/Ze6kkT1Kx0okqcnKEaKLT41/ZM+si19EApenPLxxepLLzQfYoaU7jpbo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907770; 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=r9GIlddRrVUTkvDpMf8SYwMBT+rWfzHyExHqAZDbOSo=; b=EnWleVBVTohaw8O97JhjGQelbUGDEuU7wj5QZQm0bV2e7wmUaWU4HaOSCOV+xIPTXRVqiq0ZCk2K9lDEH1wlzjJ/LClRg6p/npuQs2YTBq07kZaAbE/7Y7hgrXIBFGZpBGTq5YXyMvTK4U/HHPIxjKrFpSalVi//yXKmJ1cDGYQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1672907770148757.1442556025839; Thu, 5 Jan 2023 00:36:10 -0800 (PST) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-166-xVWv6YRDNRGqThNFQ2rd3A-1; Thu, 05 Jan 2023 03:35:12 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 799082806042; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 64C09492D8B; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 598C2194658C; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id D5CA71946586 for ; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id CB88D492B08; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 74154492B07 for ; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907768; 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=r9GIlddRrVUTkvDpMf8SYwMBT+rWfzHyExHqAZDbOSo=; b=NB+v4Rl+4Epthtj8u/y6dCOZiZiR3JDG3CrtmYf9g0VoYwpShG7sDbc10f/OugRBmq1p/7 1zc7dj5NSEMGLsljVbRWCgnwBqWYMSwD8aGd194ww+N3/HooVKURzCEn+GSFCFC5Lhr6SE jOZiEoK/ubNa2pf9zkpwQeISxq9Rr9g= X-MC-Unique: xVWv6YRDNRGqThNFQ2rd3A-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 4/7] qemuMonitorJSONMakeCPUModel: Introduce @hv_passthrough argument Date: Thu, 5 Jan 2023 09:34:58 +0100 Message-Id: <90b84576d4b7b99274e827d75577acc0b4b125ad.1672907604.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907771931100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Apart from setting @migratable prop to the query-cpu-model-expansion command, we will need @hv-passthrough so that we can query for expansion of Hyper-V Enlightenments supported on the current host. The idea is to run: { "execute": "query-cpu-model-expansion", "arguments": { "type": "full", "model": { "name": "host", "props": { "hv-passthrough": true } } } } Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_monitor_json.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 9822097bd7..f9928b0393 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4921,7 +4921,8 @@ qemuMonitorJSONParseCPUModelProperty(const char *key, =20 static virJSONValue * qemuMonitorJSONMakeCPUModel(virCPUDef *cpu, - bool migratable) + bool migratable, + bool hv_passthrough) { g_autoptr(virJSONValue) model =3D virJSONValueNewObject(); size_t i; @@ -4929,7 +4930,7 @@ qemuMonitorJSONMakeCPUModel(virCPUDef *cpu, if (virJSONValueObjectAppendString(model, "name", cpu->model) < 0) return NULL; =20 - if (cpu->nfeatures || !migratable) { + if (cpu->nfeatures || !migratable || hv_passthrough) { g_autoptr(virJSONValue) props =3D virJSONValueNewObject(); =20 for (i =3D 0; i < cpu->nfeatures; i++) { @@ -4951,6 +4952,11 @@ qemuMonitorJSONMakeCPUModel(virCPUDef *cpu, return NULL; } =20 + if (hv_passthrough && + virJSONValueObjectAppendBoolean(props, "hv-passthrough", true)= < 0) { + return NULL; + } + if (virJSONValueObjectAppend(model, "props", &props) < 0) return NULL; } @@ -5079,7 +5085,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, =20 *model_info =3D NULL; =20 - if (!(model =3D qemuMonitorJSONMakeCPUModel(cpu, migratable))) + if (!(model =3D qemuMonitorJSONMakeCPUModel(cpu, migratable, false))) return -1; =20 if ((rc =3D qemuMonitorJSONQueryCPUModelExpansionOne(mon, type, &model= , &data)) <=3D 0) @@ -5128,8 +5134,8 @@ qemuMonitorJSONGetCPUModelBaseline(qemuMonitor *mon, virJSONValue *cpu_props =3D NULL; const char *cpu_name =3D ""; =20 - if (!(model_a =3D qemuMonitorJSONMakeCPUModel(cpu_a, true)) || - !(model_b =3D qemuMonitorJSONMakeCPUModel(cpu_b, true))) + if (!(model_a =3D qemuMonitorJSONMakeCPUModel(cpu_a, true, false)) || + !(model_b =3D qemuMonitorJSONMakeCPUModel(cpu_b, true, false))) return -1; =20 if (!(cmd =3D qemuMonitorJSONMakeCommand("query-cpu-model-baseline", @@ -5166,8 +5172,8 @@ qemuMonitorJSONGetCPUModelComparison(qemuMonitor *mon, const char *data_result; virJSONValue *data; =20 - if (!(model_a =3D qemuMonitorJSONMakeCPUModel(cpu_a, true)) || - !(model_b =3D qemuMonitorJSONMakeCPUModel(cpu_b, true))) + if (!(model_a =3D qemuMonitorJSONMakeCPUModel(cpu_a, true, false)) || + !(model_b =3D qemuMonitorJSONMakeCPUModel(cpu_b, true, false))) return -1; =20 if (!(cmd =3D qemuMonitorJSONMakeCommand("query-cpu-model-comparison", --=20 2.38.2 From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1672907715; cv=none; d=zohomail.com; s=zohoarc; b=bOtiyJ8wMDw3pftzSMqLY19BD/si6GK9LUF2X4SCOzN65lMa9w/f3m+JboGdd4QcpbecFXnIhrnZZVamyPhfgIRzACqXJcmc5odNUCONMt0yulbqcWgDxL86WrSCTnV0Geh1hq9WEwshDRmZKqPn8rrpM6oPojlSCCeXg20vgbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907715; 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=bFX/nqRMS3IknagVaRU/PN6PvwJcKJFFPECe8S8Y4QE=; b=Z10vXeUC/YnNyMnMRC3NlHjdsGw9rUYCUBZmJj9sXKn/OgZK1+ZD7bdhBdGUfgkMdOiYZb/lSccNpvVOSVMSQtCdquDWhLFUHhiWmXRgtHDwx1QzjC64RGR+GQW+MfVN0R1JaxcctAIfF6gJaaJLiHKUb8f2fP5SGIpGcaYOTIU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1672907715758484.56036574916106; Thu, 5 Jan 2023 00:35:15 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-278-cXox9_4tPLuDQBB_KK27IQ-1; Thu, 05 Jan 2023 03:35:10 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EF08F100F91B; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id ACE09C15BA0; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 42217194658D; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8F90B19465A8 for ; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 66A50492B0A; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0DEE0492B07 for ; Thu, 5 Jan 2023 08:35:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907714; 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=bFX/nqRMS3IknagVaRU/PN6PvwJcKJFFPECe8S8Y4QE=; b=ZuGJTlqkBHyxBUoanI7j/IFJvOopJbIAfKm4U0YR/Wo7EuVoDrDZ3BB3Ya62YCj9EtADT0 UpYj/b+GZHsN009Rcwf+h9WpqGXMLR5N0aF+1Wn4Ap1WJkltkkaQGdUZ4jsQ1E9GO8iwpB D8Wse/vqwZaw+mzLWo4Z2KqioMqKhYo= X-MC-Unique: cXox9_4tPLuDQBB_KK27IQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 5/7] qemuMonitorJSONGetCPUModelExpansion: Introduce @hv_passthrough argument Date: Thu, 5 Jan 2023 09:34:59 +0100 Message-Id: <9c3866be29c0b4f7090b79c44feb721d71fd6316.1672907604.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907717671100006 Content-Type: text/plain; charset="utf-8"; x-default="true" This continues and finishes propagation of the @hv_passthrough argument started in the previous commit. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 8 ++++---- src/qemu/qemu_driver.c | 3 ++- src/qemu/qemu_monitor.c | 5 +++-- src/qemu/qemu_monitor.h | 1 + src/qemu/qemu_monitor_json.c | 3 ++- src/qemu/qemu_monitor_json.h | 1 + tests/cputest.c | 2 +- 7 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 0c16366f21..4c75eea64e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3069,15 +3069,15 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, if (ARCH_IS_S390(qemuCaps->arch)) fail_no_props =3D false; =20 - if (qemuMonitorGetCPUModelExpansion(mon, type, cpu, true, fail_no_prop= s, - &modelInfo) < 0) + if (qemuMonitorGetCPUModelExpansion(mon, type, cpu, true, false, + fail_no_props, &modelInfo) < 0) return -1; =20 /* Try to check migratability of each feature. */ if (modelInfo && ARCH_IS_X86(qemuCaps->arch) && - qemuMonitorGetCPUModelExpansion(mon, type, cpu, false, fail_no_pro= ps, - &nonMigratable) < 0) + qemuMonitorGetCPUModelExpansion(mon, type, cpu, false, false, + fail_no_props, &nonMigratable) < 0) return -1; =20 if (nonMigratable) { diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d509582719..13ef9285fc 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -12210,7 +12210,8 @@ qemuConnectCPUModelBaseline(virQEMUCaps *qemuCaps, : QEMU_MONITOR_CPU_MODEL_EXPANSIO= N_STATIC; =20 if (qemuMonitorGetCPUModelExpansion(proc->mon, expansion_type, - baseline, true, false, &result= ) < 0) + baseline, true, + false, false, &result) < 0) return NULL; =20 if (qemuConnectStealCPUModelFromInfo(baseline, &result) < 0) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 734364e070..b2e4311ea9 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3181,6 +3181,7 @@ qemuMonitorGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info) { @@ -3189,8 +3190,8 @@ qemuMonitorGetCPUModelExpansion(qemuMonitor *mon, QEMU_CHECK_MONITOR(mon); =20 return qemuMonitorJSONGetCPUModelExpansion(mon, type, cpu, - migratable, fail_no_props, - model_info); + migratable, hv_passthrough, + fail_no_props, model_info); } =20 =20 diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 906a919f52..0d4a52bf4a 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1140,6 +1140,7 @@ int qemuMonitorGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info); =20 diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index f9928b0393..3b96f4e037 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5072,6 +5072,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info) { @@ -5085,7 +5086,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, =20 *model_info =3D NULL; =20 - if (!(model =3D qemuMonitorJSONMakeCPUModel(cpu, migratable, false))) + if (!(model =3D qemuMonitorJSONMakeCPUModel(cpu, migratable, hv_passth= rough))) return -1; =20 if ((rc =3D qemuMonitorJSONQueryCPUModelExpansionOne(mon, type, &model= , &data)) <=3D 0) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 484cb09830..a86f054b8b 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -449,6 +449,7 @@ qemuMonitorJSONGetCPUModelExpansion(qemuMonitor *mon, qemuMonitorCPUModelExpansionType type, virCPUDef *cpu, bool migratable, + bool hv_passthrough, bool fail_no_props, qemuMonitorCPUModelInfo **model_info) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(6); diff --git a/tests/cputest.c b/tests/cputest.c index 52e0022ac3..9b76cce2a8 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -455,7 +455,7 @@ cpuTestMakeQEMUCaps(const struct data *data) =20 if (qemuMonitorGetCPUModelExpansion(qemuMonitorTestGetMonitor(testMon), QEMU_MONITOR_CPU_MODEL_EXPANSION_S= TATIC, - cpu, true, fail_no_props, &model) = < 0) + cpu, true, false, fail_no_props, &= model) < 0) return NULL; =20 if (!(qemuCaps =3D virQEMUCapsNew())) --=20 2.38.2 From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 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=1672907716; cv=none; d=zohomail.com; s=zohoarc; b=iWH/AqEFd4i8r6y4JeoBC+leyAXK/AxjqRaLHkukvzMbATJZXxhh+PbkMPHwSpkEyShHUYR6CYUYq4f4kC+Azk7hDMVpnZ12Hxr7+F2Do6b8DlfPPCRUMtvwQuVjXdDCcjeUaq+Vb0olncWesp11FqCLGDz6SLGt6oD2oAPLthk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907716; 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=ekhfy2cND7n1dyFquvk22HPWu1SrPAFz32SG9M//0mE=; b=IAyT31frZtO8/nFRsDOuWQTVZnI1fi5u+yjY0jhwT6rxBQ8rA1J0KltWAg3lHbquKT84PG2FKiabityLfuhTvMbLEoZhSe1/kkbqyp2EUBOcbFGwoCWzoRZUAlVTHUTA0jhyjmJiFzxRkoTZeB7Z7ARpzVqi0VgFvT0Hdbs2wPo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1672907716907921.5460953233813; Thu, 5 Jan 2023 00:35:16 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-653-o4wPXwMTMQ-CKKV5V8NwFA-1; Thu, 05 Jan 2023 03:35:11 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E80F7801779; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id C954C42220; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 96CC7194658D; Thu, 5 Jan 2023 08:35:08 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 6016119465B5 for ; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 56513492B07; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9F04C492B0D for ; Thu, 5 Jan 2023 08:35:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907715; 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=ekhfy2cND7n1dyFquvk22HPWu1SrPAFz32SG9M//0mE=; b=d6c05Wx0rqsUmmOiimzBX5MR1KTsC5ZUpOS93e5DuLz3ag/oL8+wMiiT/Q2GRKH5nCfHD8 Qm93OBMT8dOC4RhpfUCJHffMVUroBPO6+WrDnoTTT9NNEo+HTpdQKokQEkYTU6sqtg7Hib snlK67pgmPnBM+wriHtk2UP9Sp+/Ve0= X-MC-Unique: o4wPXwMTMQ-CKKV5V8NwFA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 6/7] qemu_capabilities: Query for Hyper-V Enlightenments Date: Thu, 5 Jan 2023 09:35:00 +0100 Message-Id: <6bcae5a5f1ae7ae728d18aa1f5ad5c28a4fa055a.1672907604.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907717772100009 Content-Type: text/plain; charset="utf-8"; x-default="true" Now that we have qemuMonitorGetCPUModelExpansion() aware of Hyper-V Enlightenments, we can start querying it. Two conditions need to be met: 1) KVM is in use, 2) Arch is either x86 or arm. It may look like modifying the first call to qemuMonitorGetCPUModelExpansion() inside of virQEMUCapsProbeQMPHostCPU() would be sufficient but it is not. We really need to ask QEMU for full expansion and the first call does not guarantee that. For the test data, I've just copied whatever 'query-cpu-model-expansion' returned earlier, therefore there are no hv-* props. But that's okay - the full expansion is not stored in cache (and thus not formatted in tests/qemucapabilitiesdata/caps_*.replies files either). This is purely runtime thing. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 159 ++++++ .../caps_4.2.0.aarch64.replies | 45 ++ .../caps_4.2.0.aarch64.xml | 1 + .../caps_4.2.0.x86_64.replies | 317 ++++++++++++ .../caps_4.2.0.x86_64.xml | 1 + .../caps_5.0.0.aarch64.replies | 46 ++ .../caps_5.0.0.aarch64.xml | 1 + .../caps_5.0.0.x86_64.replies | 318 ++++++++++++ .../caps_5.0.0.x86_64.xml | 1 + .../caps_5.1.0.x86_64.replies | 323 ++++++++++++ .../caps_5.1.0.x86_64.xml | 1 + .../caps_5.2.0.aarch64.replies | 47 ++ .../caps_5.2.0.aarch64.xml | 1 + .../caps_5.2.0.x86_64.replies | 324 +++++++++++++ .../caps_5.2.0.x86_64.xml | 1 + .../caps_6.0.0.aarch64.replies | 47 ++ .../caps_6.0.0.aarch64.xml | 1 + .../caps_6.0.0.x86_64.replies | 336 +++++++++++++ .../caps_6.0.0.x86_64.xml | 1 + .../caps_6.1.0.x86_64.replies | 338 +++++++++++++ .../caps_6.1.0.x86_64.xml | 1 + .../caps_6.2.0.aarch64.replies | 47 ++ .../caps_6.2.0.aarch64.xml | 1 + .../caps_6.2.0.x86_64.replies | 348 +++++++++++++ .../caps_6.2.0.x86_64.xml | 1 + .../caps_7.0.0.aarch64.replies | 48 ++ .../caps_7.0.0.aarch64.xml | 1 + .../caps_7.0.0.x86_64.replies | 352 ++++++++++++++ .../caps_7.0.0.x86_64.xml | 1 + .../caps_7.1.0.x86_64.replies | 353 ++++++++++++++ .../caps_7.1.0.x86_64.xml | 1 + .../caps_7.2.0.x86_64.replies | 353 ++++++++++++++ .../caps_7.2.0.x86_64.xml | 1 + .../caps_8.0.0.x86_64.replies | 458 ++++++++++++++++++ .../caps_8.0.0.x86_64.xml | 16 + 35 files changed, 4291 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 4c75eea64e..93585f5af1 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -766,6 +766,8 @@ struct _virQEMUCaps { =20 virSGXCapability *sgxCapabilities; =20 + virDomainCapsFeatureHyperv *hypervCapabilities; + /* Capabilities which may differ depending on the accelerator. */ virQEMUCapsAccel kvm; virQEMUCapsAccel hvf; @@ -2019,6 +2021,9 @@ virQEMUCaps *virQEMUCapsNewCopy(virQEMUCaps *qemuCaps) qemuCaps->sgxCapabilities) < 0) return NULL; =20 + ret->hypervCapabilities =3D g_memdup(qemuCaps->hypervCapabilities, + sizeof(virDomainCapsFeatureHyperv)); + return g_steal_pointer(&ret); } =20 @@ -2059,6 +2064,8 @@ void virQEMUCapsDispose(void *obj) virSEVCapabilitiesFree(qemuCaps->sevCapabilities); virSGXCapabilitiesFree(qemuCaps->sgxCapabilities); =20 + g_free(qemuCaps->hypervCapabilities); + virQEMUCapsAccelClear(&qemuCaps->kvm); virQEMUCapsAccelClear(&qemuCaps->hvf); virQEMUCapsAccelClear(&qemuCaps->tcg); @@ -3029,6 +3036,66 @@ virQEMUCapsProbeCPUDefinitionsTest(virQEMUCaps *qemu= Caps, } =20 =20 +static int +virQEMUCapsProbeHypervCapabilities(virQEMUCaps *qemuCaps, + qemuMonitorCPUModelInfo *fullQEMU) +{ + g_autofree virDomainCapsFeatureHyperv *hvcaps =3D NULL; + size_t i; + + if (!fullQEMU) + return 0; + + hvcaps =3D g_new0(virDomainCapsFeatureHyperv, 1); + hvcaps->features.report =3D true; + + for (i =3D 0; i nprops; i++) { + qemuMonitorCPUProperty prop =3D fullQEMU->props[i]; + const char *name; + int hvprop; + + if (!(name =3D STRSKIP(prop.name, "hv-"))) + continue; + + hvprop =3D virDomainHypervTypeFromString(name); + + if (hvprop < 0) { + /* Some names are different. For instance QEMU reports hv-vend= or-id + * but we have it as vendor_id (because of XML). Replace hyphe= ns + * with underscores and try again. */ + g_autofree char *underscoreName =3D NULL; + + underscoreName =3D virStringReplace(name, "-", "_"); + + hvprop =3D virDomainHypervTypeFromString(underscoreName); + if (hvprop < 0) { + VIR_DEBUG("Not yet implement Hyper-V enlightenment: %s", + prop.name); + continue; + } + } + + if ((prop.type =3D=3D QEMU_MONITOR_CPU_PROPERTY_BOOLEAN && + prop.value.boolean) || + (prop.type =3D=3D QEMU_MONITOR_CPU_PROPERTY_NUMBER && + prop.value.number > 0) || + (prop.type =3D=3D QEMU_MONITOR_CPU_PROPERTY_STRING && + prop.value.string)) + VIR_DOMAIN_CAPS_ENUM_SET(hvcaps->features, hvprop); + + } + + if (hvcaps->features.values) { + hvcaps->supported =3D VIR_TRISTATE_BOOL_YES; + } else { + hvcaps->supported =3D VIR_TRISTATE_BOOL_NO; + } + + qemuCaps->hypervCapabilities =3D g_steal_pointer(&hvcaps); + return 0; +} + + static int virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, virQEMUCapsAccel *accel, @@ -3110,6 +3177,18 @@ virQEMUCapsProbeQMPHostCPU(virQEMUCaps *qemuCaps, modelInfo->migratability =3D true; } =20 + if (virQEMUCapsTypeIsAccelerated(virtType) && + (ARCH_IS_X86(qemuCaps->arch) || ARCH_IS_ARM(qemuCaps->arch))) { + g_autoptr(qemuMonitorCPUModelInfo) fullQEMU =3D NULL; + + if (qemuMonitorGetCPUModelExpansion(mon, QEMU_MONITOR_CPU_MODEL_EX= PANSION_FULL, + cpu, false, true, true, &fullQ= EMU) < 0) + return -1; + + if (virQEMUCapsProbeHypervCapabilities(qemuCaps, fullQEMU) < 0) + return -1; + } + accel->hostCPU.info =3D g_steal_pointer(&modelInfo); return 0; } @@ -4337,6 +4416,53 @@ virQEMUCapsParseSGXInfo(virQEMUCaps *qemuCaps, } =20 =20 +static int +virQEMUCapsParseHypervCapabilities(virQEMUCaps *qemuCaps, + xmlXPathContextPtr ctxt) +{ + g_autofree virDomainCapsFeatureHyperv *hvcaps =3D NULL; + xmlNodePtr n =3D NULL; + g_autofree xmlNodePtr *capNodes =3D NULL; + int ncapNodes; + size_t i; + + if (!(n =3D virXPathNode("./hypervCapabilities", ctxt))) + return 0; + + hvcaps =3D g_new0(virDomainCapsFeatureHyperv, 1); + if (virXMLPropTristateBool(n, "supported", VIR_XML_PROP_REQUIRED, + &hvcaps->supported) < 0) { + return -1; + } + + if ((ncapNodes =3D virXPathNodeSet("./hypervCapabilities/cap", + ctxt, &capNodes)) < 0) { + return -1; + } + + hvcaps->features.report =3D ncapNodes > 0; + for (i =3D 0; i < ncapNodes; i++) { + g_autofree char *name =3D virXMLPropStringRequired(capNodes[i], "n= ame"); + int val; + + if (!name) + return -1; + + if ((val =3D virDomainHypervTypeFromString(name)) < 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("unsupported HyperV Enlightenment feature: %s= "), + name); + return -1; + } + + VIR_DOMAIN_CAPS_ENUM_SET(hvcaps->features, val); + } + + qemuCaps->hypervCapabilities =3D g_steal_pointer(&hvcaps); + return 0; +} + + static int virQEMUCapsParseFlags(virQEMUCaps *qemuCaps, xmlXPathContextPtr ctxt) { @@ -4628,6 +4754,9 @@ virQEMUCapsLoadCache(virArch hostArch, if (virQEMUCapsParseSGXInfo(qemuCaps, ctxt) < 0) return -1; =20 + if (virQEMUCapsParseHypervCapabilities(qemuCaps, ctxt) < 0) + return -1; + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_KV= M); if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_HVF)) @@ -4848,6 +4977,33 @@ virQEMUCapsFormatSGXInfo(virQEMUCaps *qemuCaps, } =20 =20 +static void +virQEMUCapsFormatHypervCapabilities(virQEMUCaps *qemuCaps, + virBuffer *buf) +{ + virDomainCapsFeatureHyperv *hvcaps =3D qemuCaps->hypervCapabilities; + virBuffer attrBuf =3D VIR_BUFFER_INITIALIZER; + virBuffer childBuf =3D VIR_BUFFER_INIT_CHILD(buf); + + virBufferAsprintf(&attrBuf, " supported=3D'%s'", + virTristateBoolTypeToString(hvcaps->supported)); + + if (hvcaps->supported) { + size_t i; + + for (i =3D 0; i < sizeof(hvcaps->features.values) * CHAR_BIT; i++)= { + if (!(hvcaps->features.values & (1U << i))) + continue; + + virBufferAsprintf(&childBuf, "\n", + virDomainHypervTypeToString(i)); + } + } + + return virXMLFormatElement(buf, "hypervCapabilities", &attrBuf, &child= Buf); +} + + char * virQEMUCapsFormatCache(virQEMUCaps *qemuCaps) { @@ -4932,6 +5088,9 @@ virQEMUCapsFormatCache(virQEMUCaps *qemuCaps) if (qemuCaps->sgxCapabilities) virQEMUCapsFormatSGXInfo(qemuCaps, &buf); =20 + if (qemuCaps->hypervCapabilities) + virQEMUCapsFormatHypervCapabilities(qemuCaps, &buf); + if (qemuCaps->kvmSupportsNesting) virBufferAddLit(&buf, "\n"); =20 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_4.2.0.aarch64.replies index f947ce9aee..f8619d8843 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies @@ -21525,6 +21525,51 @@ "id": "libvirt-42" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-43" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": true, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": true, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": true, + "sve2048": false, + "sve512": true, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-43" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.2.0.aarch64.xml index 1f42ff6cf9..22bf577a7d 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -379,4 +379,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_4.2.0.x86_64.replies index 12ebc41e49..a45fd2f669 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies @@ -24185,6 +24185,323 @@ "id": "libvirt-47" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-48" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": true, + "mmx": true, + "rdpid": false, + "arat": true, + "vmx-page-walk-4": true, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": true, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": true, + "vmx-rdseed-exit": true, + "vmx-eptp-switching": true, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": true, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 6, + "vmx-vmwrite-vmexit-fields": true, + "vmx-vnmi": true, + "vmx-true-ctls": true, + "vmx-ept-execonly": true, + "vmx-exit-save-efer": true, + "vmx-invept-all-context": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": true, + "vmx-intr-exit": true, + "min-level": 22, + "vmx-flexpriority": true, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": true, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": true, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": true, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": false, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": true, + "xcrypt-en": false, + "vmx-mwait-exit": true, + "vmx-pml": true, + "vmx-nmi-exit": true, + "vmx-invept-single-context-noglobals": true, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "vmx-unrestricted-guest": true, + "vmx-cr3-store-noexit": true, + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "amd-no-ssb": false, + "npt": false, + "rdctl-no": false, + "vmx-invvpid": true, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": true, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": true, + "vmx-invvpid-all-context": true, + "vmx-activity-hlt": true, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": true, + "hypervisor": true, + "vmx-rdtscp-exit": true, + "mds-no": false, + "pcommit": false, + "vmx-vpid": true, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": true, + "vmx-monitor-exit": true, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": true, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": true, + "waitpkg": false, + "cldemote": false, + "vmx-ept": true, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "vmx-pause-exit": true, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": true, + "la57": false, + "vmx-invept": true, + "osvw": false, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": true, + "vmx-eptad": true, + "spec-ctrl": true, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": true, + "vmx-ept-1gb": true, + "ht": false, + "vmx-io-exit": true, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": true, + "lm": true, + "vmx-exit-save-preemption-timer": true, + "vmx-entry-load-pat": true, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": true, + "umip": true, + "vmx-store-lma": true, + "vmx-movdr-exit": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "vmx-cr3-load-noexit": true, + "nodeid-msr": false, + "md-clear": true, + "misalignsse": false, + "split-lock-detect": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "vmx-preemption-timer": true, + "clflushopt": true, + "vmx-vnmi-pending": true, + "monitor": false, + "vmx-vintr-pending": true, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": true, + "vmx-xsaves": true, + "clzero": false, + "3dnow": false, + "erms": true, + "vmx-entry-ia32e-mode": true, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": true, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "kvm-hint-dedicated": false, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": false, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": true, + "vmx-mtf": true, + "vmx-entry-load-efer": true, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": true, + "xstore-en": false + } + } + }, + "id": "libvirt-48" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0.x86_64.xml index 438927aad0..d716755e82 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -2538,4 +2538,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_5.0.0.aarch64.replies index 9f7d3da252..e63c9d5f0a 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.replies @@ -22879,6 +22879,52 @@ "id": "libvirt-43" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-44" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-44" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.aarch64.xml index ff989e0878..bfef83d4d4 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -403,4 +403,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_5.0.0.x86_64.replies index 81cfc70dc4..13b9b02e4c 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.replies @@ -25639,6 +25639,324 @@ "id": "libvirt-48" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-49" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": true, + "mmx": true, + "rdpid": false, + "arat": true, + "vmx-page-walk-4": true, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": true, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": true, + "vmx-rdseed-exit": true, + "vmx-eptp-switching": true, + "kvm-asyncpf": true, + "perfctr-core": false, + "mpx": true, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": true, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 6, + "vmx-vmwrite-vmexit-fields": true, + "vmx-vnmi": true, + "vmx-true-ctls": true, + "vmx-ept-execonly": true, + "vmx-exit-save-efer": true, + "vmx-invept-all-context": true, + "wbnoinvd": false, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": true, + "vmx-intr-exit": true, + "min-level": 22, + "vmx-flexpriority": true, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": true, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": true, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": true, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": false, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": true, + "xcrypt-en": false, + "vmx-mwait-exit": true, + "vmx-pml": true, + "vmx-nmi-exit": true, + "vmx-invept-single-context-noglobals": true, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "GenuineIntel", + "vmx-unrestricted-guest": true, + "vmx-cr3-store-noexit": true, + "pku": false, + "smx": false, + "cmp-legacy": false, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": true, + "3dnowext": false, + "amd-no-ssb": false, + "npt": false, + "rdctl-no": false, + "vmx-invvpid": true, + "clwb": false, + "lbrv": false, + "adx": true, + "ss": true, + "pni": true, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": true, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": true, + "vmx-invvpid-all-context": true, + "vmx-activity-hlt": true, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": true, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": true, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": true, + "hypervisor": true, + "vmx-rdtscp-exit": true, + "mds-no": false, + "pcommit": false, + "vmx-vpid": true, + "syscall": true, + "avx512dq": false, + "svm": false, + "invtsc": true, + "vmx-monitor-exit": true, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": true, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": true, + "waitpkg": false, + "cldemote": false, + "vmx-ept": true, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 94, + "movbe": true, + "nrip-save": false, + "ssse3": true, + "sse4a": false, + "vmx-pause-exit": true, + "invpcid": true, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 3, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": true, + "la57": false, + "vmx-invept": true, + "osvw": false, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": true, + "vmx-eptad": true, + "spec-ctrl": true, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": true, + "lwp": false, + "amd-ssbd": false, + "xop": false, + "ibpb": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": true, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": true, + "vmx-ept-1gb": true, + "ht": false, + "vmx-io-exit": true, + "nx": true, + "pclmulqdq": true, + "mmxext": false, + "popcnt": true, + "vaes": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": true, + "lm": true, + "vmx-exit-save-preemption-timer": true, + "vmx-entry-load-pat": true, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": true, + "umip": true, + "vmx-store-lma": true, + "vmx-movdr-exit": true, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": false, + "vmx-cr3-load-noexit": true, + "nodeid-msr": false, + "md-clear": true, + "misalignsse": false, + "split-lock-detect": false, + "min-xlevel": 2147483656, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": false, + "vmx-preemption-timer": true, + "clflushopt": true, + "vmx-vnmi-pending": true, + "monitor": false, + "vmx-vintr-pending": true, + "avx512er": false, + "pmm-en": false, + "pcid": true, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": true, + "vmx-xsaves": true, + "clzero": false, + "3dnow": false, + "erms": true, + "vmx-entry-ia32e-mode": true, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": true, + "fxsr-opt": false, + "xstore": false, + "rtm": true, + "kvm-hint-dedicated": false, + "lmce": true, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": true, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": false, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": true, + "vmx-mtf": true, + "vmx-entry-load-efer": true, + "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", + "sha-ni": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": true, + "xstore-en": false + } + } + }, + "id": "libvirt-49" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0.x86_64.xml index bf32de2ee4..a7417187f6 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -2843,4 +2843,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_5.1.0.x86_64.replies index 51e93819b0..d66583fa92 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.replies @@ -26601,6 +26601,329 @@ "id": "libvirt-49" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "vmx-vmwrite-vmexit-fields": false, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0.x86_64.xml index f8c64b4cc2..8e8abb35bb 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -3113,4 +3113,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_5.2.0.aarch64.replies index fc92caae54..8c78533719 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.replies @@ -24366,6 +24366,53 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-45" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": false, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-45" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.2.0.aarch64.xml index 7c8b98b600..eb12d0dab9 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -433,4 +433,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_5.2.0.x86_64.replies index 7e96c37f80..f224bd2fee 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.replies @@ -27391,6 +27391,330 @@ "id": "libvirt-49" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.2.0.x86_64.xml index 4c34fcef02..12cdf542e1 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -3123,4 +3123,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_6.0.0.aarch64.replies index 277180fa89..ed04553f29 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.replies @@ -26323,6 +26323,53 @@ "id": "libvirt-44" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-45" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": true, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-45" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_6.0.0.aarch64.xml index 6f33a827b3..f8f7cafa23 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -456,4 +456,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.0.0.x86_64.replies index bccf12118a..d815a91f4c 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.replies @@ -29316,6 +29316,342 @@ "id": "libvirt-49" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": false, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.0.0.x86_64.xml index ae511fdb96..6d61c0c1a1 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -3268,4 +3268,5 @@ AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAA= A AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA + diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.1.0.x86_64.replies index b7f1337edd..e55adfbe66 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.replies @@ -29797,6 +29797,344 @@ "id": "libvirt-49" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-50" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "pdpe1gb": true, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-50" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.1.0.x86_64.xml index 72af7d3f01..3709490efa 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -3615,4 +3615,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_6.2.0.aarch64.replies index 61118722a3..20d176e4b7 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.replies @@ -27411,6 +27411,53 @@ "id": "libvirt-45" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-46" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": true, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-46" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_6.2.0.aarch64.xml index 10e67e4c5a..9dc6c58314 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -486,4 +486,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_6.2.0.x86_64.replies index fb32cb7a03..d7da5068b0 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.replies @@ -33123,6 +33123,354 @@ "id": "libvirt-50" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": false, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.2.0.x86_64.xml index ef1c66a5d7..9233a4812b 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -3658,4 +3658,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies b/tests/= qemucapabilitiesdata/caps_7.0.0.aarch64.replies index 6626778f0f..b330e842c2 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.replies @@ -31164,6 +31164,54 @@ "id": "libvirt-46" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-47" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "sve768": false, + "sve128": false, + "sve1024": false, + "sve1280": false, + "sve896": false, + "sve256": false, + "sve1536": false, + "sve1792": false, + "sve384": false, + "sve": false, + "sve2048": false, + "pauth": false, + "kvm-no-adjvtime": false, + "sve512": false, + "aarch64": true, + "pmu": true, + "sve1920": false, + "sve1152": false, + "kvm-steal-time": true, + "sve640": false, + "sve1408": false, + "sve1664": false + } + } + }, + "id": "libvirt-47" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_7.0.0.aarch64.xml index a59a91a576..36dc74ff74 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -501,4 +501,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_7.0.0.x86_64.replies index a331006289..a4b1a8490f 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.replies @@ -33754,6 +33754,358 @@ "id": "libvirt-50" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "amx-tile": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": false, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "xfd": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483679, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": true, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.0.0.x86_64.xml index d26d0c727a..20f5978946 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -3734,4 +3734,5 @@
+ diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_7.1.0.x86_64.replies index 9eb851694f..1726cbc5f3 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies @@ -34436,6 +34436,359 @@ "id": "libvirt-50" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": false, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "arch-lbr": false, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "amx-tile": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": true, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": false, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": false, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "xfd": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": false, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483681, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": true, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.1.0.x86_64.xml index 8a2ed2236a..76eb84de1e 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -3524,4 +3524,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_7.2.0.x86_64.replies index 18f70a5a3f..6a465f6856 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.replies @@ -35451,6 +35451,359 @@ "id": "libvirt-50" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "base", + "props": { + "vmx-entry-load-rtit-ctl": false, + "svme-addr-chk": true, + "cmov": true, + "ia64": false, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "mmx": true, + "rdpid": true, + "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, + "gfni": false, + "ibrs-all": false, + "vmx-desc-exit": false, + "pause-filter": true, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, + "kvm-asyncpf": true, + "perfctr-core": true, + "mpx": false, + "pbe": false, + "avx512cd": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "family": 23, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "kvm-asyncpf-int": true, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "wbnoinvd": true, + "avx512f": false, + "msr": true, + "mce": true, + "mca": true, + "xcrypt": false, + "sgx": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "sgx-exinfo": false, + "ds": false, + "fxsr": true, + "avx512-fp16": false, + "avx512-bf16": false, + "vmx-cr8-load-exit": false, + "xsaveopt": true, + "arch-lbr": false, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "xtpr": false, + "tsx-ctrl": false, + "vmx-ple": false, + "avx512vl": false, + "avx512-vpopcntdq": false, + "phe": false, + "extapic": false, + "3dnowprefetch": true, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "amx-tile": false, + "vmx-invept-single-context-noglobals": false, + "pn": false, + "rsba": false, + "dca": false, + "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "avx512-4fmaps": false, + "vmcb-clean": true, + "hle": false, + "avx-vnni": false, + "3dnowext": false, + "amd-no-ssb": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "clwb": true, + "lbrv": true, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "svm-lock": false, + "smep": true, + "smap": true, + "pfthreshold": true, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vbmi": false, + "avx512vnni": false, + "vmx-apicv-x2apic": false, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "phe-en": false, + "vmx-tsc-offset": false, + "kvm-nopiodelay": true, + "tm": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "avx512dq": false, + "svm": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "ssbd": true, + "vmx-wbinvd-exit": false, + "est": false, + "kvm-poll-control": true, + "avx512ifma": false, + "tm2": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "cldemote": false, + "sgx-tokenkey": false, + "vmx-ept": false, + "xfd": false, + "kvm-mmu": false, + "sse4.2": true, + "pge": true, + "avx512bitalg": false, + "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, + "model": 113, + "movbe": true, + "nrip-save": true, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "vmx-pause-exit": false, + "invpcid": false, + "sgx-debug": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "stepping": 0, + "xsave": true, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "fma4": false, + "vmx-exit-nosave-debugctl": false, + "sgx-kss": false, + "la57": false, + "vmx-invept": false, + "osvw": true, + "apic": true, + "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "tsc-adjust": true, + "kvm-steal-time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "pschange-mc-no": true, + "v-vmsave-vmload": true, + "vmx-rdrand-exit": false, + "sgx-provisionkey": false, + "lwp": false, + "amd-ssbd": true, + "xop": false, + "ibpb": true, + "ibrs": false, + "avx": true, + "core-capability": false, + "vmx-invept-single-context": false, + "movdiri": false, + "acpi": false, + "avx512bw": false, + "ace2": false, + "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "movdir64b": false, + "xsaves": true, + "vmx-shadow-vmcs": false, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "umip": true, + "vmx-store-lma": false, + "vmx-movdr-exit": false, + "pse": true, + "avx2": true, + "avic": false, + "sep": true, + "virt-ssbd": true, + "vmx-cr3-load-noexit": false, + "nodeid-msr": false, + "md-clear": false, + "misalignsse": true, + "split-lock-detect": false, + "min-xlevel": 2147483681, + "bmi1": true, + "bmi2": true, + "kvm-pv-unhalt": true, + "tsc-scale": true, + "topoext": false, + "amd-stibp": true, + "vmx-preemption-timer": false, + "clflushopt": true, + "vmx-entry-load-pkrs": false, + "vmx-vnmi-pending": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "pcid": false, + "taa-no": false, + "arch-capabilities": true, + "vgif": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": true, + "3dnow": false, + "erms": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "vpclmulqdq": false, + "vmx-ins-outs": false, + "fxsr-opt": true, + "xstore": false, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "perfctr-nb": false, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.2.0.x86_64.xml index 821fcd3199..af8247e23b 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml @@ -3246,4 +3246,5 @@ + diff --git a/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.replies b/tests/q= emucapabilitiesdata/caps_8.0.0.x86_64.replies index 4cc3ca19a5..c3525f1bf8 100644 --- a/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.replies @@ -35614,6 +35614,464 @@ "id": "libvirt-50" } =20 +{ + "execute": "query-cpu-model-expansion", + "arguments": { + "type": "full", + "model": { + "name": "host", + "props": { + "migratable": false, + "hv-passthrough": true + } + } + }, + "id": "libvirt-51" +} + +{ + "return": { + "model": { + "name": "host", + "props": { + "vmx-entry-load-rtit-ctl": false, + "phys-bits": 0, + "core-id": -1, + "svme-addr-chk": true, + "xlevel": 2147483681, + "cmov": true, + "ia64": false, + "hv-version-id-minor": 0, + "ssb-no": false, + "aes": true, + "vmx-apicv-xapic": false, + "kvm-pv-enforce-cpuid": false, + "mmx": true, + "arat": true, + "rdpid": true, + "vmx-page-walk-5": false, + "vmx-page-walk-4": false, + "vmx-desc-exit": false, + "gfni": false, + "ibrs-all": false, + "pause-filter": true, + "bus-lock-detect": false, + "xsavec": true, + "intel-pt": false, + "vmx-tsc-scaling": false, + "vmx-cr8-store-exit": false, + "hv-xmm-input": true, + "hv-frequencies": true, + "tsc-frequency": 0, + "vmx-rdseed-exit": false, + "xd": true, + "x-intel-pt-auto-level": true, + "hv-vendor-id": "Linux KVM Hv", + "vmx-eptp-switching": false, + "hv-syndbg": true, + "kvm-asyncpf": true, + "kvm_asyncpf": true, + "perfctr-core": true, + "perfctr_core": true, + "mpx": false, + "avx512cd": false, + "pbe": false, + "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, + "sse4.1": true, + "sse4-1": true, + "sse4_1": true, + "family": 23, + "legacy-cache": true, + "intel-pt-lip": false, + "vmx-vmwrite-vmexit-fields": false, + "vmx-vnmi": false, + "kvm-asyncpf-int": true, + "vmx-true-ctls": false, + "host-phys-bits-limit": 0, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, + "vmware-cpuid-freq": true, + "wbnoinvd": true, + "avx512f": false, + "xcrypt": false, + "hv-runtime": true, + "hv-stimer-direct": true, + "mce": true, + "mca": true, + "msr": true, + "sgx": false, + "thread-id": -1, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, + "min-level": 16, + "vmx-flexpriority": false, + "xgetbv1": true, + "cid": false, + "hv-relaxed": true, + "sgx-exinfo": false, + "avx512-bf16": false, + "avx512-fp16": false, + "ds": false, + "hv-crash": true, + "fxsr": true, + "vmx-cr8-load-exit": false, + "hv-version-id-sbranch": 0, + "hv-version-id-snumber": 0, + "xsaveopt": true, + "arch-lbr": false, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, + "tsx-ctrl": false, + "xtpr": false, + "vmx-ple": false, + "hv-evmcs": false, + "avx512-vpopcntdq": false, + "hv-version-id-spack": 0, + "phe": false, + "avx512vl": false, + "extapic": false, + "vmx-vmfunc": false, + "3dnowprefetch": true, + "vmx-activity-shutdown": false, + "sgx1": false, + "sgx2": false, + "avx512vbmi2": false, + "cr8legacy": true, + "vmx-encls-exit": false, + "stibp": true, + "vmx-msr-bitmap": false, + "cpuid-0xb": true, + "xcrypt-en": false, + "vmx-mwait-exit": false, + "kvm_pv_eoi": true, + "vmx-pml": false, + "apic-id": 4294967295, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, + "amx-tile": false, + "pn": false, + "rsba": false, + "dca": false, + "vmx-unrestricted-guest": false, + "vendor": "AuthenticAMD", + "hv-ipi": true, + "vmx-cr3-store-noexit": false, + "pku": false, + "pks": false, + "smx": false, + "cmp-legacy": true, + "cmp_legacy": true, + "node-id": -1, + "avx512-4fmaps": false, + "vmcb-clean": true, + "vmcb_clean": true, + "hle": false, + "amd-no-ssb": false, + "3dnowext": false, + "avx-vnni": false, + "npt": true, + "sgxlc": false, + "rdctl-no": true, + "vmx-invvpid": false, + "memory": "/machine/unattached/system[0]", + "clwb": true, + "lbrv": true, + "adx": true, + "ss": false, + "pni": true, + "tsx-ldtrk": false, + "host-cache-info": false, + "svm-lock": false, + "svm_lock": false, + "pfthreshold": true, + "smap": true, + "smep": true, + "vmx-invpcid-exit": false, + "amx-int8": false, + "x2apic": true, + "avx512vnni": false, + "avx512vbmi": false, + "vmx-apicv-x2apic": false, + "hv-stimer": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": false, + "x-hv-synic-kvm-only": false, + "vmx-invvpid-all-context": false, + "i64": true, + "vmx-activity-hlt": false, + "flushbyasid": false, + "f16c": true, + "vmx-exit-ack-intr": false, + "ace2-en": false, + "pae": true, + "pat": true, + "sse": true, + "die-id": -1, + "vmx-tsc-offset": false, + "phe-en": false, + "kvm-nopiodelay": true, + "kvm_nopiodelay": true, + "tm": false, + "hv-enforce-cpuid": false, + "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": false, + "hypervisor": true, + "vmx-rdtscp-exit": false, + "socket-id": -1, + "mds-no": true, + "pcommit": false, + "vmx-vpid": false, + "syscall": true, + "level": 16, + "avx512dq": false, + "x-migrate-smi-count": true, + "svm": true, + "full-cpuid-auto-level": true, + "hv-avic": true, + "hv-reset": true, + "invtsc": true, + "vmx-monitor-exit": false, + "sse2": true, + "vmx-wbinvd-exit": false, + "ssbd": true, + "sse3": true, + "est": false, + "kvm-poll-control": true, + "kvm_poll_control": true, + "avx512ifma": false, + "tm2": false, + "start-powered-off": false, + "kvm-pv-eoi": true, + "kvm-pv-ipi": true, + "hv-emsr-bitmap": true, + "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, + "sgx-tokenkey": false, + "cldemote": false, + "vmx-ept": false, + "hv-tlbflush-direct": false, + "xfd": false, + "hv-reenlightenment": true, + "kvm-mmu": false, + "kvm_mmu": false, + "sse4.2": true, + "sse4-2": true, + "sse4_2": true, + "pge": true, + "fill-mtrr-mask": true, + "avx512bitalg": false, + "vmx-entry-load-bndcfgs": false, + "pdcm": false, + "nodeid_msr": false, + "vmx-exit-clear-rtit-ctl": false, + "hv-apicv": true, + "model": 113, + "movbe": true, + "nrip-save": true, + "nrip_save": true, + "vmx-pause-exit": false, + "ssse3": true, + "sse4a": true, + "kvm-msi-ext-dest-id": false, + "kvm_pv_unhalt": true, + "sgx-debug": false, + "invpcid": false, + "pdpe1gb": true, + "sgx-mode64": false, + "tsc-deadline": true, + "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, + "fma": true, + "cx16": true, + "de": true, + "hv-version-id-build": 14393, + "enforce": false, + "stepping": 0, + "xsave": true, + "lbr-fmt": 18446744073709551552, + "lbr_fmt": 18446744073709551552, + "clflush": true, + "skinit": false, + "tsc": true, + "tce": false, + "kvm_asyncpf_int": true, + "fpu": true, + "ds-cpl": false, + "ibs": false, + "ds_cpl": false, + "fma4": false, + "host-phys-bits": true, + "sgx-kss": false, + "vmx-exit-nosave-debugctl": false, + "hv-version-id-major": 10, + "vmx-invept": false, + "la57": false, + "osvw": true, + "migratable": false, + "check": true, + "hv-spinlocks": 4095, + "vmx-eptad": false, + "pmu": true, + "vmx-entry-noload-debugctl": false, + "pmm": false, + "apic": true, + "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, + "min-xlevel2": 0, + "tsc-adjust": true, + "tsc_adjust": true, + "kvm-steal-time": true, + "kvm_steal_time": true, + "avx512-vp2intersect": false, + "kvmclock": true, + "vmx-zero-len-inject": false, + "l3-cache": true, + "pschange-mc-no": true, + "v-vmsave-vmload": true, + "sgx-provisionkey": false, + "vmx-rdrand-exit": false, + "lwp": false, + "hv-passthrough": true, + "amd-ssbd": true, + "ibpb": true, + "ibrs": false, + "xop": false, + "core-capability": false, + "avx": true, + "vmx-invept-single-context": false, + "movdiri": false, + "avx512bw": false, + "acpi": false, + "ace2": false, + "fsgsbase": true, + "hv-vapic": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, + "ht": false, + "vmx-io-exit": false, + "nx": true, + "pclmulqdq": true, + "mmxext": true, + "popcnt": true, + "vaes": false, + "serialize": false, + "xsaves": true, + "movdir64b": false, + "vmx-shadow-vmcs": false, + "tcg-cpuid": true, + "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "fsrm": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, + "vmx-store-lma": false, + "umip": true, + "vmx-movdr-exit": false, + "avx2": true, + "pse": true, + "avic": false, + "sep": true, + "pclmuldq": true, + "vmx-cr3-load-noexit": false, + "virt-ssbd": true, + "x-hv-max-vps": 1024, + "nodeid-msr": false, + "md-clear": false, + "split-lock-detect": false, + "kvm": true, + "misalignsse": true, + "min-xlevel": 2147483681, + "realized": false, + "kvm-pv-unhalt": true, + "bmi2": true, + "bmi1": true, + "tsc-scale": true, + "tsc_scale": true, + "topoext": false, + "amd-stibp": true, + "hv-vpindex": true, + "hv-no-nonarch-coresharing": "off", + "ucode-rev": 0, + "vmx-preemption-timer": false, + "xlevel2": 0, + "vmx-entry-load-pkrs": false, + "clflushopt": true, + "vmx-vnmi-pending": false, + "kvm-no-smi-migration": false, + "monitor": false, + "vmx-vintr-pending": false, + "avx512er": false, + "full-width-write": false, + "pmm-en": false, + "taa-no": false, + "pcid": false, + "vgif": true, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "arch-capabilities": true, + "x-vendor-cpuid-only": true, + "clzero": true, + "3dnow": false, + "erms": false, + "x-force-features": false, + "vmx-entry-ia32e-mode": false, + "lahf-lm": true, + "lahf_lm": true, + "vmx-ins-outs": false, + "vpclmulqdq": false, + "xstore": false, + "fxsr-opt": true, + "hv-synic": true, + "fxsr_opt": true, + "rtm": false, + "kvm-hint-dedicated": false, + "amx-bf16": false, + "lmce": false, + "hv-time": true, + "perfctr-nb": false, + "perfctr_nb": false, + "hv-tlbflush": true, + "ffxsr": true, + "rdrand": true, + "rdseed": true, + "avx512-4vnniw": false, + "vme": true, + "vmx": false, + "dtes64": false, + "mtrr": true, + "rdtscp": true, + "xsaveerptr": true, + "pse36": true, + "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, + "tbm": false, + "vmx-rdpmc-exit": false, + "wdt": false, + "vmx-entry-load-efer": false, + "level-func7": 0, + "vmx-mtf": false, + "hv-tlbflush-ext": false, + "pause_filter": true, + "model-id": "AMD Ryzen 9 3900X 12-Core Processor ", + "sha-ni": true, + "vmx-exit-load-pkrs": false, + "abm": true, + "vmx-ept-advanced-exitinfo": false, + "avx512pf": false, + "vmx-hlt-exit": false, + "xstore-en": false + } + } + }, + "id": "libvirt-51" +} + { "execute": "qmp_capabilities", "id": "libvirt-1" diff --git a/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_8.0.0.x86_64.xml index 860ad2860a..cbade3b579 100644 --- a/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml @@ -3250,4 +3250,20 @@ + + + + + + + + + + + + + + + + --=20 2.38.2 From nobody Fri May 17 11:05:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1672907715; cv=none; d=zohomail.com; s=zohoarc; b=eMwv7YeGyWFE+axqZpwkR6GeQHFi1m60JfhhLAXaTG0cVJqUTwOP0jZRcxoU1IgsaUnpz50hz9xV7DDS4EXxe6IoEvEKzkqchv45yVbrnyJwipzvjx/MwD/UWE1sbSIdaQLE08QNufHcLfvUBEVpYTD71gJKc4rt8bC7hOaalBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1672907715; 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=vUJGGDkuUAUX5SRmLjmm/SGpe3wGSN7/b+Wjc8w7QPA=; b=Ix4z8FGxbhR6U0kwF+S8CwiV2cMLZlWLpQ0cjn7PMPgGRKkf7ME1lj53RnKgs2Kjt3T8hl0mUzQ63TSpQsITYWAhtbkHMYqA498Bj0SoDlckMtxIIYWSTfv9EUpWoLvhT+0nFIXemttduAXUsTX0yGuJ7cqg+BrVGOP5lsdw3CQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 167290771587753.18580737684397; Thu, 5 Jan 2023 00:35:15 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-342-f9_2Q4_OM2yS-tmcIhzYiQ-1; Thu, 05 Jan 2023 03:35:13 -0500 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 27653858F0E; Thu, 5 Jan 2023 08:35:11 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 12A7D492B06; Thu, 5 Jan 2023 08:35:11 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 04737194658C; Thu, 5 Jan 2023 08:35:11 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id ED329194658C for ; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id E43F3492B09; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8D143492B07 for ; Thu, 5 Jan 2023 08:35:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1672907714; 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=vUJGGDkuUAUX5SRmLjmm/SGpe3wGSN7/b+Wjc8w7QPA=; b=J1jjvunoEkFoyXkTqr1gJGsNMcFEOF4JLjhrUH//q4tqH9/dngQM3CetzMUzE49coBYkqa 2hnRJy2sP1KbMzNL1X1iyxXh2dLv3t5qe0I8joT9x9rj4iiYbemcQVP74hk7mHuVRCKq14 uL3aRKY6U87djDYENIaYq7KJ/vEGi2M= X-MC-Unique: f9_2Q4_OM2yS-tmcIhzYiQ-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH v2 7/7] qemu_capabilities: Report Hyper-V Enlightenments in domcapabilities Date: Thu, 5 Jan 2023 09:35:01 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1672907717670100005 Content-Type: text/plain; charset="utf-8"; x-default="true" Inside of qemuCaps (for the corresponding accelerator) we have full host CPU expansion stored, among with supported Hyper-V Enlightenments. To report them in the domain capabilities, we just have to pick those starting with "hv-" and see if we know them. You may notice that neither of our domaincapsdata test shows any enlightenment. This is because the test works by parsing corresponding qemucapabilitiesdata/caps_*.xml file and none of these store the full host CPU expansion (hostCPU.fullQEMU) because that is runtime piece of information and not formatted into virQEMUCaps XML. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=3D1717611 Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 11 +++++++++++ .../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 19 ++++++++++++++++++- .../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 19 ++++++++++++++++++- tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 19 ++++++++++++++++++- 4 files changed, 65 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 93585f5af1..b557c737f0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -6821,6 +6821,16 @@ virQEMUCapsFillDomainFeatureSGXCaps(virQEMUCaps *qem= uCaps, virQEMUCapsSGXInfoCopy(&domCaps->sgx, qemuCaps->sgxCapabilities); } =20 + +static void +virQEMUCapsFillDomainFeatureHypervCaps(virQEMUCaps *qemuCaps, + virDomainCaps *domCaps) +{ + domCaps->hyperv =3D g_memdup(qemuCaps->hypervCapabilities, + sizeof(virDomainCapsFeatureHyperv)); +} + + int virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virArch hostarch, @@ -6877,6 +6887,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virQEMUCapsFillDomainFeatureSEVCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureS390PVCaps(qemuCaps, domCaps); virQEMUCapsFillDomainFeatureSGXCaps(qemuCaps, domCaps); + virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps); =20 return 0; } diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_8.0.0-q35.x86_64.xml index eb18b5c696..4170ae7a97 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -249,6 +249,23 @@ - + + + relaxed + vapic + spinlocks + vpindex + runtime + synic + stimer + reset + vendor_id + frequencies + reenlightenment + tlbflush + ipi + avic + + diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_8.0.0-tcg.x86_64.xml index 471a92693f..3b52eba64f 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -248,6 +248,23 @@ - + + + relaxed + vapic + spinlocks + vpindex + runtime + synic + stimer + reset + vendor_id + frequencies + reenlightenment + tlbflush + ipi + avic + + diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_8.0.0.x86_64.xml index 436ca212a8..fac8033f76 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -249,6 +249,23 @@ - + + + relaxed + vapic + spinlocks + vpindex + runtime + synic + stimer + reset + vendor_id + frequencies + reenlightenment + tlbflush + ipi + avic + + --=20 2.38.2