From nobody Sun Feb 8 18:49:34 2026 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=fail(p=quarantine dis=quarantine) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1686491059; cv=none; d=zohomail.com; s=zohoarc; b=Cwh2oGb400q840aTuYz/2s5WzNceaxKKyqi1zW50+Q4uLOIF8bNeYLCQG0kphZ8qyMRyI6l5DvBR8FjPKypHKkofWGWCCAXtjUELny4PbZxgPWxFuumGA6xc92orMXeS5I8dPBwfvRVbmDoPYCFlUw0KLjNolwjGTEWOtfUclkY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1686491059; h=Content-Type:Content-Transfer-Encoding:Cc: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=ddW1dcy1SitEps6ACe4px/PMxbdLEYQWnc98ZeqofKU=; b=muO5QMoJpKXk43Aa//QF9RWajpQ0WRhCpyV3hg01yB0f5x6SWUXyy2JOEHicaAOvuXna6DgzAZHcOO5wwKOONg+h2Hg13BfGcumOaMpCSL635aeHmZQecbh8f9l+Dq3SsfzytLtx2+FsPiXNu3LpioCTx6RVlJuY5JAuqOmq/y0= 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=fail header.from= (p=quarantine dis=quarantine) 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 1686491059453478.01299599263984; Sun, 11 Jun 2023 06:44:19 -0700 (PDT) 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-572-K1uL017IN6ekbI0z-hD-MQ-1; Sun, 11 Jun 2023 09:44:14 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9E7A8185A792; Sun, 11 Jun 2023 13:44: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 803FC2166B25; Sun, 11 Jun 2023 13:44: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 4B2BF1946595; Sun, 11 Jun 2023 13:44:11 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 93689194658C for ; Sun, 11 Jun 2023 13:44:09 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 679C0C154D3; Sun, 11 Jun 2023 13:44:09 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5E90CC154D2 for ; Sun, 11 Jun 2023 13:44:03 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 387E980B920 for ; Sun, 11 Jun 2023 13:44:03 +0000 (UTC) Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2073.outbound.protection.outlook.com [40.107.241.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-537-qGModsB5PFeDkfY0JcKUNg-1; Sun, 11 Jun 2023 09:43:59 -0400 Received: from PAXPR04MB8607.eurprd04.prod.outlook.com (2603:10a6:102:21a::14) by AM9PR04MB8986.eurprd04.prod.outlook.com (2603:10a6:20b:409::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Sun, 11 Jun 2023 13:43:56 +0000 Received: from PAXPR04MB8607.eurprd04.prod.outlook.com ([fe80::ff9e:3629:f0c8:cfde]) by PAXPR04MB8607.eurprd04.prod.outlook.com ([fe80::ff9e:3629:f0c8:cfde%7]) with mapi id 15.20.6477.028; Sun, 11 Jun 2023 13:43:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1686491058; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=ddW1dcy1SitEps6ACe4px/PMxbdLEYQWnc98ZeqofKU=; b=U4X8ODFDJtzoMNwZvXirg0YN+e0HVsDzM6YogL0zSDL5yZyOLzY+VME1vl+Jkfhi7Ka+0I cySPFtxrNU+WI2QeNblGdRH5V5SpUL4YP+FJpsG8akxImoN/szQ2sQ+YUe2r22Mlxoszof R9jd1xtpa6UFcXquTdEcGgqLl38ymPU= X-MC-Unique: K1uL017IN6ekbI0z-hD-MQ-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: qGModsB5PFeDkfY0JcKUNg-1 From: Lin Ma To: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/4] conf: Introduce notify VM exit feature Date: Sun, 11 Jun 2023 21:43:31 +0800 Message-ID: <20230611134334.3890-2-lma@suse.com> In-Reply-To: <20230611134334.3890-1-lma@suse.com> References: <20230611134334.3890-1-lma@suse.com> X-ClientProxiedBy: TY2PR02CA0034.apcprd02.prod.outlook.com (2603:1096:404:a6::22) To PAXPR04MB8607.eurprd04.prod.outlook.com (2603:10a6:102:21a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8607:EE_|AM9PR04MB8986:EE_ X-MS-Office365-Filtering-Correlation-Id: 83bdecaf-cfa9-464d-417d-08db6a81e741 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: zzynOsufMzXZTsmsJIRoOuhV4H9WLrNNJtml1/loO8tHWy2ilKQlukfpY15IOIRBW42Xj4uWe5SY0kp1zJ2GPkDnvTMuxsd/v+64PPzbu/QKfM+981OZa+g4ONB+gczDhmxVPPcfCJ/bumb5DKMsCaNyBE9U7lq8Lz8qfuRi5zTjHNSRbJL1kmLLGubo3v3eABY3mbPMd2vt7dxXkTQC1hUo1lmEFotNIwzTTAjybbEHeHjzLW55/sxhjQwzJCRyfmc+kj6zQtEupYd/G2+CQG5tqANJd2rp32NhZlO+slCST4aZI4lO3+s8Ju1ELQ/UbwoK7Gj6XOU2MwBKzz38bh8sT2kGAiCsyW1oRVnTkaDfJ1sHEP8amapqxqK60JVwcCnVJie/23UIcYtGoTvYTOYL6+ZIEWKhsMkrukTRXDoCB6GOdi/3FkDSGq9dJ/RMTbFE4AdDwtlS8a7eGdOvq/Gx2id+Q4dsxDR4oMIOOOmpJUbZK9BwwKZ/GGx6wAKPMG7m8h5RAZ6TvLes591K4AUWBG/tdDKkjZadD9U6RdVaNcoTo9+m72zXRqzv3g4j X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB8607.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(39850400004)(396003)(376002)(346002)(136003)(366004)(451199021)(316002)(6486002)(41300700001)(83380400001)(86362001)(2616005)(6506007)(26005)(1076003)(186003)(2906002)(6512007)(38100700002)(8676002)(36756003)(5660300002)(8936002)(66556008)(66476007)(66946007)(478600001)(6666004)(4326008)(6916009); DIR:OUT; SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HMlGU/phN5yvTX48rvtBh5T35sR2yB6OR3bE0TnEJz9BfpKhQzqtFwP9HVpA?= =?us-ascii?Q?H2P14eMo3FAFxX7WPmU/KT8jDLVP4XF15cq6GGhOtn+d4WknXXTAE8m0Lbsl?= =?us-ascii?Q?a0STLWpdnRonEgqIEiHy+54YmI1EKQgDHt5r0pSMs1/mS9NTrNi9v40nYlyB?= =?us-ascii?Q?3yY6Hkha7c9uklFdWvnsbdVBag44VM2x9SmmrQD7bOpYyj+2ZUZlyyHpGtK7?= =?us-ascii?Q?9WKZUEiOp8iFDy5Yl1wTSletuAnugJog7WUqNJbV+KHZY6AXMlOM7SDy7nNu?= =?us-ascii?Q?fyoKd5wsuLDER69w3E9gYWb31xL7bAkEOhNQGbw6eWrCGM9JdUPCG+4cdvsQ?= =?us-ascii?Q?ptFURULNx/j3AlXXhV3wWxe/si80G2p/Seyo7uzt8cXEMfLfLplDLGyHCD+t?= =?us-ascii?Q?oqErhb3okb2HoN+iKleORYs1inbofnowVBV+soPzssOZoNvXErQsXIUcDgYd?= =?us-ascii?Q?eEzV/0pinM77W192PVLxh3V6iDm+2lR2x0POeYipoeCPiwEFx9uGXfnLewEH?= =?us-ascii?Q?PiXVFYnC/cn0bCIHZH9FhhZz2oNX/cLIHP2/fIcyOgJ0RUThe7MK2AoL5Bnn?= =?us-ascii?Q?ItyuqvGdrkhU3rLdHB1MN1Tp9Akbiy95G+H30Fc/smTfYIpotHmIEHDBE6Al?= =?us-ascii?Q?8MeHwMgmg2qeCvTBfWbJ7m8sgyFsVY6bHKgE09EHxJYDxk0l2PdlcGQ8OWjT?= =?us-ascii?Q?2pz5v4Dmm5oxoj7iG2zJzAHjeoS+O4O7ZStIeH8lm6mxvn4V0o+aJoc54XqL?= =?us-ascii?Q?sAO5V7JPSLiNtnVdpATfxhLMarDRp33RkdEnjxrZ+uKJLjqgT+slLM/72gFk?= =?us-ascii?Q?XcvkKxr0BrgW1NOzLeNIw0YzUhdLUZZ4+U+hp33PlsLaf1DuJtWYdwZ0YJw5?= =?us-ascii?Q?WcljMjjALSwR8t2xrQcXoIdf711/3cYDRs9ZsYVaujaZuPxr1PrF1sKi7ian?= =?us-ascii?Q?qB1Wi8gZcQf1Fwo7fm1v/mE15Gsy7+T2lANDwR8GnDImToM9UhiS4vpIlhw7?= =?us-ascii?Q?hH5+4g70eIO7EhAKNNG2ALLGhyp/eKEjzCUU+6stqNFwCcwLvQqeZoOTvl9b?= =?us-ascii?Q?q11RS4Ut6TMVAbstOnxkzOAsRCfuk3NP0wNZz4pCqFI1xL0Kp1AqroMlnqQJ?= =?us-ascii?Q?35kEmRCQVoNPUqfYDJgMImNBytatPmAEV8A2jECcPhQejPgy4Hoo/ZnXHItY?= =?us-ascii?Q?x57DwjorwSxv9KqMtmTEdJn4N4DhDrvFLPtY4S5HhW6YQYFvAMT6vbOxfieD?= =?us-ascii?Q?j8nEYP/sTxYZU5+wdOMerr2u+kTAq5sA7yA/+CvNaGGPxf1yznW99wC0K+M6?= =?us-ascii?Q?sPtSZTnvcaG3hNUfJ5cj+OIqGAV9ViuirnCET5GIDB1wz/aQ7MyVL4DbAmAn?= =?us-ascii?Q?PcQLAw87dP0bksTmTuX28Fn3NY6SNeCEu20oSHo0qLzvVqqyf9hKF66On23W?= =?us-ascii?Q?8EaUrUvPFV1eqKiqIjmiavnnvAqfb4+solQmky02lDE+7qeINkfSJqPiqgUI?= =?us-ascii?Q?eiZMl963kY+p4u2CwFiXbWlmTWC34/Uwikd7sxRaUPF6qDDPCPFoENR85xf1?= =?us-ascii?Q?umXzDnKzuXsyCurU2OY=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83bdecaf-cfa9-464d-417d-08db6a81e741 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8607.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jun 2023 13:43:56.7514 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: I9CybzMVHcToJy2j6kshYVjxWUyDkoakedF/Vp6yJr1AlfdCvSTkdngs1dE9DKHw X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8986 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 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: , Cc: mprivozn@redhat.com, Lin Ma Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: suse.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1686491061917100001 Content-Type: text/plain; charset="utf-8" From: Lin Ma VMX(kernel v6.0) supports Notification VM exit feature under commit 2f4073e= 0. QEMU supports it as well since v7.2 under commit e2e69f6b. Add this feature into libvirt now. An example of Domain XML snippet to configure this feature: Signed-off-by: Lin Ma --- docs/formatdomain.rst | 4 +++ src/conf/domain_conf.c | 32 +++++++++++++++++++++ src/conf/domain_conf.h | 7 +++++ src/conf/schemas/domaincommon.rng | 17 +++++++++++ src/qemu/qemu_command.c | 3 ++ tests/qemuxml2argvdata/kvm-features-off.xml | 1 + tests/qemuxml2argvdata/kvm-features.xml | 1 + 7 files changed, 65 insertions(+) diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index c3526439bf..5365d43dd3 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -1976,6 +1976,7 @@ Hypervisors may allow certain CPU / machine features = to be toggled on/off. + @@ -2088,6 +2089,9 @@ are: poll-control Decrease IO completion latency by introducing a grace pe= riod of busy waiting on, off = :since:`6.10.0 (QEMU 4.2)` pv-ipi Paravirtualized send IPIs = on, off = :since:`7.10.0 (QEMU 3.1)` dirty-ring Enable dirty ring feature = on, off; size - must be power of 2, range [1024,65536]= :since:`8.0.0 (QEMU 6.1)` + notify-vmexit Enable notification VM exit(x86 only) with attribute mod= e(accepted values on, off = :since:`9.5.0 (QEMU 7.2)` + are 'run', 'internal-error' and 'disable') and optional = attribute + notify-window (accepted numbered starting from 0) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D =20 ``xen`` diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 0edb1bda9d..8a87d8a902 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -216,6 +216,7 @@ VIR_ENUM_IMPL(virDomainKVM, "poll-control", "pv-ipi", "dirty-ring", + "notify-vmexit", ); =20 VIR_ENUM_IMPL(virDomainXen, @@ -16345,6 +16346,18 @@ virDomainFeaturesKVMDefParse(virDomainDef *def, } } =20 + if (feature =3D=3D VIR_DOMAIN_KVM_NOTIFY_VMEXIT && + value =3D=3D VIR_TRISTATE_SWITCH_ON) { + + if (!(kvm->notify_vmexit.mode =3D virXMLPropStringRequired(nod= e, "mode"))) { + return -1; + } + if (virXMLPropUInt(node, "notify-window", 0, VIR_XML_PROP_NONE, + &kvm->notify_vmexit.notify_window) < 0) { + return -1; + } + } + node =3D xmlNextElementSibling(node); } =20 @@ -20734,6 +20747,7 @@ virDomainDefFeaturesCheckABIStability(virDomainDef = *src, case VIR_DOMAIN_KVM_POLLCONTROL: case VIR_DOMAIN_KVM_PVIPI: case VIR_DOMAIN_KVM_DIRTY_RING: + case VIR_DOMAIN_KVM_NOTIFY_VMEXIT: if (src->kvm_features->features[i] !=3D dst->kvm_features-= >features[i]) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("State of KVM feature '%1$s' differs:= source: '%2$s', destination: '%3$s'"), @@ -27194,6 +27208,24 @@ virDomainDefFormatFeatures(virBuffer *buf, } break; =20 + case VIR_DOMAIN_KVM_NOTIFY_VMEXIT: + if (def->kvm_features->features[j] !=3D VIR_TRISTATE_S= WITCH_ABSENT) { + virBufferAsprintf(&childBuf, "<%s state=3D'%s'", + virDomainKVMTypeToString(j), + virTristateSwitchTypeToString(de= f->kvm_features->features[j])); + if (def->kvm_features->notify_vmexit.mode !=3D NUL= L) { + virBufferAsprintf(&childBuf, " mode=3D'%s'", + def->kvm_features->notify_vm= exit.mode); + if (def->kvm_features->notify_vmexit.notify_wi= ndow && + STRNEQ(def->kvm_features->notify_vmexit.mo= de, "disable")) { + virBufferAsprintf(&childBuf, " notify-wind= ow=3D'%u'", + def->kvm_features->notif= y_vmexit.notify_window); + } + } + virBufferAddLit(&childBuf, "/>\n"); + } + break; + case VIR_DOMAIN_KVM_LAST: break; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 629e32c39f..9af2687ae5 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2201,6 +2201,7 @@ typedef enum { VIR_DOMAIN_KVM_POLLCONTROL, VIR_DOMAIN_KVM_PVIPI, VIR_DOMAIN_KVM_DIRTY_RING, + VIR_DOMAIN_KVM_NOTIFY_VMEXIT, =20 VIR_DOMAIN_KVM_LAST } virDomainKVM; @@ -2388,6 +2389,12 @@ struct _virDomainFeatureKVM { int features[VIR_DOMAIN_KVM_LAST]; =20 unsigned int dirty_ring_size; /* size of dirty ring for each vCPU, no = units */ + struct { + char *mode; /* option of notify vmexit */ + unsigned int notify_window; /* A specified amount of time to gener= ate + a VM exit if no interrupt windows o= ccur + in VMX non-root operation */ + } notify_vmexit; }; =20 typedef struct _virDomainFeatureTCG virDomainFeatureTCG; diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index c1725bb511..c206f734f6 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -7747,6 +7747,23 @@ + + + + + + + (run|internal-error|disable) + + + + + + + + + + diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a19902988c..b82ec4508c 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6474,6 +6474,9 @@ qemuBuildCpuCommandLine(virCommand *cmd, case VIR_DOMAIN_KVM_DIRTY_RING: break; =20 + case VIR_DOMAIN_KVM_NOTIFY_VMEXIT: + break; + case VIR_DOMAIN_KVM_LAST: break; } diff --git a/tests/qemuxml2argvdata/kvm-features-off.xml b/tests/qemuxml2ar= gvdata/kvm-features-off.xml index 7ee6525cd9..d51a8324e0 100644 --- a/tests/qemuxml2argvdata/kvm-features-off.xml +++ b/tests/qemuxml2argvdata/kvm-features-off.xml @@ -16,6 +16,7 @@ + diff --git a/tests/qemuxml2argvdata/kvm-features.xml b/tests/qemuxml2argvda= ta/kvm-features.xml index 8ce3a2b987..c2d4ecf4d1 100644 --- a/tests/qemuxml2argvdata/kvm-features.xml +++ b/tests/qemuxml2argvdata/kvm-features.xml @@ -16,6 +16,7 @@ + --=20 2.40.1