From nobody Sun Sep 7 23:51:54 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1754987262424630.2830556921433; Tue, 12 Aug 2025 01:27:42 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 76CC55FF; Tue, 12 Aug 2025 04:27:41 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 270D0868; Tue, 12 Aug 2025 04:10:59 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 7AAF82A8E; Thu, 7 Aug 2025 16:48:59 -0400 (EDT) Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id E7B502A86 for ; Thu, 7 Aug 2025 16:48:52 -0400 (EDT) Received: by mail-oi1-f176.google.com with SMTP id 5614622812f47-43577ef82b7so456794b6e.3 for ; Thu, 07 Aug 2025 13:48:52 -0700 (PDT) Received: from home ([2603:8081:c640:1::1003]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-742fe78add9sm1605484a34.17.2025.08.07.13.48.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Aug 2025 13:48:51 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754599732; x=1755204532; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0Jj9nQh+Dzddxo6vhkc0xl0SBaFmP++oIWlUWnsukVo=; b=TE2jrzC2RdNjA7Kh5anDm6tdClwrc2vBt2+ql6EhQs00rooPDsTZ6vjD9rsKjHScso YR3GBGQxW3ZjSsXkUTHBCVdTzV6YYzfkNC2qKi/vFmwCKAdrYALaIK/XZSsVEPqZ6rtJ kdHUsL5d4PTnutDgDhwu8Q1prSUBvhXq2rIYv5uZe9hDkQGBDBQHOJCBJEG9w7YJt1TI m+cIC2TkJXl9Vf299vjieLP8CJb0qnR/v3Q8LvPwbFYu+BZNgdLsUxiV7UsbQa847nrB xq1lGzuLC/mzNDHaE901Z+5JUbxYlgPUPx+4GIxoZqvNvnujam7MxJtRmjJhGBVo8rSg jnYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754599732; x=1755204532; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0Jj9nQh+Dzddxo6vhkc0xl0SBaFmP++oIWlUWnsukVo=; b=h2EpRbBCcuNqy8vxTxfjZhT40X5derS+QWoTrhHXkO3B0OC/tjAyV06pS5Wo2VsAUU GN9X2bXT44hrZxnC1IMDfepTqVN8wov2C3E1/huLWeaCFBkcNWjmfmX8ei1YF5CKcfza 0dqRrjUBPd1dCA6NQDC9/ymHDeeVk1Yn+ZQ9uSqlIS8A3cwav8mjI//8kCEw/mO3+D2w DtZs9uy7t5JUqln7atPTsSKSvYuo8I1mc9PD0SMBQ7P7/eaYWA8CMNI96qL2SSmZX3Fr HaSMtcyFfMSLCCrPg0Z3ktLkZq8Fe6QLfi7rXGzImAf12J7T3truPDkRPDcW8gC5v/al 8mlg== X-Gm-Message-State: AOJu0Yz/GIG5yU3Xj33sCdIfNpH2FkbDKsthAyjIo6DtgmX1NRzWoL6m gT5mmYRPBei5O9vaPRQ6aGQ1vZAG3ZmuyYb+ncbtBMTzVX4IHgcbSvLebM0kNg== X-Gm-Gg: ASbGncukJ46PZyjxUWLEYEPSt3GTSW9GhwnPC3an//26/x3s47lJke/zrBWpEvqjAud kSOZPc41LfUTR6+PHaPUnD5BI0OsRZxyQe+8JnzPDZ/+MVOfc4c7nuu67lKrvmPmjFI9rBBDqb6 EQIVX3RavCe6SYxM0xWoP+qOhrdvp1r36koliXVNL2t1UcBJmegFAOU4h9hz8yblfCKBHZEwjuW OcND1rpiVVzqiEjr8qkS/z7WRtpW8iAzpbG4JJOaKTSM6F91ooCwnBCbJcqAuEEdrKvzCcedHna LmsxC4G53RxC0UlyGEM8i/IbiZ0/9PrdjIKgr4fABsqsP73VbPgPRth1U0QT4wb3M2j16VdmvDn P8Pg= X-Google-Smtp-Source: AGHT+IFHS18KHjdlgybLtOIz6X/GUtwo5R7eMptdnEn6+uNYNniQfCwggmYofrzL3cV7v/PNarc7Cg== X-Received: by 2002:a05:6808:3205:b0:435:791d:c250 with SMTP id 5614622812f47-43597b658aemr441352b6e.3.1754599731873; Thu, 07 Aug 2025 13:48:51 -0700 (PDT) From: Praveen K Paladugu To: devel@lists.libvirt.org Subject: [PATCH 1/4] qemu: introduce mshv capabilities Date: Thu, 7 Aug 2025 15:48:40 -0500 Message-ID: <20250807204843.17902-2-praveenkpaladugu@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250807204843.17902-1-praveenkpaladugu@gmail.com> References: <20250807204843.17902-1-praveenkpaladugu@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 3FCZFO32DBY3AAOOJ4RUQW5HIAYX4SEA X-Message-ID-Hash: 3FCZFO32DBY3AAOOJ4RUQW5HIAYX4SEA X-MailFrom: praveenkpaladugu@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: liuwe@microsoft.com X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1754987263872116600 Content-Type: text/plain; charset="utf-8" From: Praveen K Paladugu Qemu with mshv capabilities can launch domains of type hyperv. Signed-off-by: Praveen K Paladugu Signed-off-by: Praveen K Paladugu Reviewed-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_capabilities.c | 40 +++++++++++++++++++++++++++++++++--- src/qemu/qemu_capabilities.h | 1 + 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index af238894b5..1e069eb0e5 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -742,6 +742,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "amd-iommu.pci-id", /* QEMU_CAPS_AMD_IOMMU_PCI_ID */ "usb-bot", /* QEMU_CAPS_DEVICE_USB_BOT */ "tdx-guest", /* QEMU_CAPS_TDX_GUEST */ + "mshv", /* QEMU_CAPS_MSHV */ ); =20 =20 @@ -833,6 +834,7 @@ struct _virQEMUCaps { virQEMUCapsAccel kvm; virQEMUCapsAccel hvf; virQEMUCapsAccel tcg; + virQEMUCapsAccel mshv; }; =20 static virClass *virQEMUCapsClass; @@ -930,7 +932,8 @@ virQEMUCapsTypeIsAccelerated(virDomainVirtType type) bool virQEMUCapsHaveAccel(virQEMUCaps *qemuCaps) { - return virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM) || + return virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM) || + virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV) || virQEMUCapsGet(qemuCaps, QEMU_CAPS_HVF); } =20 @@ -942,6 +945,8 @@ virQEMUCapsAccelStr(virDomainVirtType type) return "kvm"; else if (type =3D=3D VIR_DOMAIN_VIRT_HVF) return "hvf"; + else if (type =3D=3D VIR_DOMAIN_VIRT_HYPERV) + return "mshv"; =20 return "tcg"; } @@ -955,6 +960,8 @@ virQEMUCapsGetAccel(virQEMUCaps *qemuCaps, return &qemuCaps->kvm; else if (type =3D=3D VIR_DOMAIN_VIRT_HVF) return &qemuCaps->hvf; + else if (type =3D=3D VIR_DOMAIN_VIRT_HYPERV) + return &qemuCaps->mshv; =20 return &qemuCaps->tcg; } @@ -1062,6 +1069,8 @@ virQEMUCapsGetMachineTypesCaps(virQEMUCaps *qemuCaps, accel =3D &qemuCaps->kvm; else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_HVF)) accel =3D &qemuCaps->hvf; + else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) + accel =3D &qemuCaps->mshv; else accel =3D &qemuCaps->tcg; =20 @@ -1170,6 +1179,10 @@ virQEMUCapsInitGuestFromBinary(virCaps *caps, virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_HVF, NULL, NULL, 0, NULL); } + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) { + virCapabilitiesAddGuestDomain(guest, VIR_DOMAIN_VIRT_HYPERV, + NULL, NULL, 0, NULL); + } =20 if (ARCH_IS_X86(guestarch) || guestarch =3D=3D VIR_ARCH_AARCH64 || ARCH_IS_LOONGARCH(guestarch)) @@ -2049,6 +2062,7 @@ virQEMUCaps *virQEMUCapsNewCopy(virQEMUCaps *qemuCaps) virQEMUCapsAccelCopy(&ret->kvm, &qemuCaps->kvm); virQEMUCapsAccelCopy(&ret->hvf, &qemuCaps->hvf); virQEMUCapsAccelCopy(&ret->tcg, &qemuCaps->tcg); + virQEMUCapsAccelCopy(&ret->mshv, &qemuCaps->mshv); =20 ret->gicCapabilities =3D g_new0(virGICCapability, qemuCaps->ngicCapabi= lities); ret->ngicCapabilities =3D qemuCaps->ngicCapabilities; @@ -2109,6 +2123,7 @@ void virQEMUCapsDispose(void *obj) virQEMUCapsAccelClear(&qemuCaps->kvm); virQEMUCapsAccelClear(&qemuCaps->hvf); virQEMUCapsAccelClear(&qemuCaps->tcg); + virQEMUCapsAccelClear(&qemuCaps->mshv); } =20 void @@ -2331,6 +2346,10 @@ virQEMUCapsIsVirtTypeSupported(virQEMUCaps *qemuCaps, virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM)) return true; =20 + if (virtType =3D=3D VIR_DOMAIN_VIRT_HYPERV && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) + return true; + return false; } =20 @@ -2894,8 +2913,9 @@ bool virQEMUCapsHasMachines(virQEMUCaps *qemuCaps) { =20 - return !!qemuCaps->kvm.nmachineTypes || - !!qemuCaps->hvf.nmachineTypes || + return !!qemuCaps->kvm.nmachineTypes || + !!qemuCaps->hvf.nmachineTypes || + !!qemuCaps->mshv.nmachineTypes || !!qemuCaps->tcg.nmachineTypes; } =20 @@ -4873,6 +4893,10 @@ virQEMUCapsLoadCache(virArch hostArch, virQEMUCapsLoadAccel(qemuCaps, ctxt, VIR_DOMAIN_VIRT_HVF) < 0) { return -1; } + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV) && + virQEMUCapsLoadAccel(qemuCaps, ctxt, VIR_DOMAIN_VIRT_HYPERV) < 0) { + return -1; + } if (virQEMUCapsLoadAccel(qemuCaps, ctxt, VIR_DOMAIN_VIRT_QEMU) < 0) return -1; =20 @@ -4892,6 +4916,8 @@ virQEMUCapsLoadCache(virArch hostArch, virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_KV= M); if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_HVF)) virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_HV= F); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) + virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_HY= PERV); virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_QEMU); =20 if (virXPathBoolean("boolean(./kvmSupportsNesting)", ctxt) > 0) @@ -5209,6 +5235,8 @@ virQEMUCapsFormatCache(virQEMUCaps *qemuCaps) virQEMUCapsFormatAccel(qemuCaps, &buf, VIR_DOMAIN_VIRT_KVM); if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_HVF)) virQEMUCapsFormatAccel(qemuCaps, &buf, VIR_DOMAIN_VIRT_HVF); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) + virQEMUCapsFormatAccel(qemuCaps, &buf, VIR_DOMAIN_VIRT_HYPERV); virQEMUCapsFormatAccel(qemuCaps, &buf, VIR_DOMAIN_VIRT_QEMU); =20 for (i =3D 0; i < qemuCaps->ngicCapabilities; i++) { @@ -5719,6 +5747,9 @@ virQEMUCapsGetVirtType(virQEMUCaps *qemuCaps) if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_TCG)) return VIR_DOMAIN_VIRT_QEMU; =20 + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) + return VIR_DOMAIN_VIRT_HYPERV; + return VIR_DOMAIN_VIRT_NONE; } =20 @@ -5951,6 +5982,8 @@ virQEMUCapsNewForBinaryInternal(virArch hostArch, virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_KV= M); if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_HVF)) virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_HV= F); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MSHV)) + virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_HY= PERV); virQEMUCapsInitHostCPUModel(qemuCaps, hostArch, VIR_DOMAIN_VIRT_QEMU); =20 if (virQEMUCapsHaveAccel(qemuCaps)) { @@ -7160,4 +7193,5 @@ virQEMUCapsStripMachineAliases(virQEMUCaps *qemuCaps) virQEMUCapsStripMachineAliasesForVirtType(qemuCaps, VIR_DOMAIN_VIRT_KV= M); virQEMUCapsStripMachineAliasesForVirtType(qemuCaps, VIR_DOMAIN_VIRT_HV= F); virQEMUCapsStripMachineAliasesForVirtType(qemuCaps, VIR_DOMAIN_VIRT_QE= MU); + virQEMUCapsStripMachineAliasesForVirtType(qemuCaps, VIR_DOMAIN_VIRT_HY= PERV); } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 55b05bea84..3aee25ab0e 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -723,6 +723,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_AMD_IOMMU_PCI_ID, /* amd-iommu.pci-id */ QEMU_CAPS_DEVICE_USB_BOT, /* -device usb-bot */ QEMU_CAPS_TDX_GUEST, /* -object tdx-guest,... */ + QEMU_CAPS_MSHV, /* Whether MSHV is usable / was used during probing */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; --=20 2.50.1 From nobody Sun Sep 7 23:51:54 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1754986472803798.848120822533; Tue, 12 Aug 2025 01:14:32 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id CC2AE11C6; Tue, 12 Aug 2025 04:14:31 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 6397011C0; Tue, 12 Aug 2025 04:06:03 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 494E42A69; Thu, 7 Aug 2025 16:48:54 -0400 (EDT) Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 976592A87 for ; Thu, 7 Aug 2025 16:48:53 -0400 (EDT) Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-2e95ab2704fso1265892fac.3 for ; Thu, 07 Aug 2025 13:48:53 -0700 (PDT) Received: from home ([2603:8081:c640:1::1003]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-742fe78add9sm1605484a34.17.2025.08.07.13.48.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Aug 2025 13:48:52 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754599733; x=1755204533; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lzBnwsVVg8ury9iezWHJZ6OoRgzwaSgrTZKPdc1xHss=; b=hYNQO+MIZeQw12WnG+UVDNouCbS2W5JcYD4d05nHs8VZcuwAtjqX6DxbiYcnY+npHm aMtNym87pFolW5KivOMT7rHfJPUPv8wZO7/yq9XDWRm8hsQXOC4JKi1HnykmZSrLtcg/ ddsif3tS4vODDSPUuw0PjxtKuGWjG44bqLFdwlV2nqz+wPRRM3+NeetxdmQJnH7UXJ5O wpZHbP8Sh1uvr3QJ3sZu48dJ8lzl20B+sKztwlZ0gvTjvQhavCPbgOMpI+VLdB1b+Zut PBzqfCBq4ErT+FnEoLKNZNSx5cPkgnymyBXKNXLJyj29MpTbG+0yAcv9pu7g+I5zQo4P Qe9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754599733; x=1755204533; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lzBnwsVVg8ury9iezWHJZ6OoRgzwaSgrTZKPdc1xHss=; b=AX1xEmt6FlyeAr3YGX3QSAbITiUh0/G/3z/84v6q2pJxpsio+bxMbaB0Cf2XYoftI/ 1vGE5bX4eKpr3aZYPddJ60WntbFJ2hLoWActSRi1qmr6DGFsFP4KE2SRdnx6assvV3Ot gzyCiJ/BLmZMvTVpCfvPkSrBBPr/tWwWqx54GFNi+EwKz/+DzjEWWMqTdjZ2YN6c1SYO MJf6A91NyENRZi7lTJhBgYxsZzDXbamwRqWnliV2bw9V97gVFrSeHHYs6NsK6YxC0Azz xElwyzeGhnfWET0TpBY7sbyfktHlV7n9NX/GvK1FOk5hcYC25KcZyqyJ44cTQa9t/3Ei z1hQ== X-Gm-Message-State: AOJu0YzSOygrQW7V/BxvK6HuvKyIXmIwOyt55yIBLNGPlbzwceH9cIw2 kmNqwkWsIUWCeyG2NmQKQUhvcmmcRQClL54uxH5s54RibpAk9QmMUaUlqJ1kFg== X-Gm-Gg: ASbGnctdNypjkdodPwheoXzczqLW6ZeJ91s0vtsQ8XxpjnB/vCAVAFmwnAYeL116tW8 X8ZbRxSUENZ76m/OBodPu1L0OBgFYVlp0kh5FdZKMsi4Zdx7NPPMaVeRNxX7AIqkwwNRTVBWktU z4Wf5buJdBelvJNo25CgLXRoAjpIIT8rWm2xs9yP7mwhz9dkRoTik4X2+Q6oVHoqqrTp7osEaSW b0QJIMWKIIi59zfvCpjMiEtEo8APyCUV42zbrD435ksz815cHc+tCa+E6tlgjGk3RLMWN2jmaBw LTlFPo/rJ32wJbD1aPbeE4X/SoVGsv7AMXUAuPToRwkwWGQ8bKR443iclER4wDinyAfu5s7jCvP BoLE= X-Google-Smtp-Source: AGHT+IE7Eq/GEVSVVp32S7UshB8Z4ZTorUWKcDa/5hUl3+BgU2fhpAVLkfAmv6wlaR7bJ7lIBpc2MQ== X-Received: by 2002:a05:6870:c0b:b0:2d6:2a40:fb9d with SMTP id 586e51a60fabf-30c2134be60mr459129fac.28.1754599732628; Thu, 07 Aug 2025 13:48:52 -0700 (PDT) From: Praveen K Paladugu To: devel@lists.libvirt.org Subject: [PATCH 2/4] qemu: probe mshv capabilities Date: Thu, 7 Aug 2025 15:48:41 -0500 Message-ID: <20250807204843.17902-3-praveenkpaladugu@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250807204843.17902-1-praveenkpaladugu@gmail.com> References: <20250807204843.17902-1-praveenkpaladugu@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: OAL3ZWIT7KFIPT5TAI2GIRNOXAWTH5CH X-Message-ID-Hash: OAL3ZWIT7KFIPT5TAI2GIRNOXAWTH5CH X-MailFrom: praveenkpaladugu@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: liuwe@microsoft.com X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1754986473287116600 Content-Type: text/plain; charset="utf-8" From: Praveen K Paladugu Probe mshv capabilities from qemu with QMP commands. Signed-off-by: Praveen K Paladugu Signed-off-by: Praveen K Paladugu --- src/qemu/qemu_capabilities.c | 31 ++++++++++++++++++++++++------- src/qemu/qemu_monitor.c | 9 +++++---- src/qemu/qemu_monitor.h | 8 +++++--- src/qemu/qemu_monitor_json.c | 13 +++++++------ src/qemu/qemu_monitor_json.h | 10 +++++----- 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 1e069eb0e5..02dbae8e00 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3473,17 +3473,31 @@ virQEMUCapsProbeQMPTPM(virQEMUCaps *qemuCaps, =20 =20 static int -virQEMUCapsProbeQMPKVMState(virQEMUCaps *qemuCaps, - qemuMonitor *mon) +virQEMUCapsProbeQMPHypervisorState(virQEMUCaps *qemuCaps, + qemuMonitor *mon, + virQEMUCapsFlags flag) { bool enabled =3D false; bool present =3D false; =20 - if (qemuMonitorGetKVMState(mon, &enabled, &present) < 0) - return -1; + if (flag =3D=3D QEMU_CAPS_KVM) { + if (qemuMonitorGetHypervisorState(mon, "query-kvm", + &enabled, &present) < 0) + return -1; + if (present && enabled) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM); + } else if (flag =3D=3D QEMU_CAPS_MSHV) { =20 - if (present && enabled) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM); + if (qemuMonitorGetHypervisorState(mon, "query-mshv", + &enabled, &present) < 0) + return -1; + if (present && enabled) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_MSHV); + } else { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Invalid Hypervisor type specified for qemu")); + return -1; + } =20 return 0; } @@ -5792,7 +5806,10 @@ virQEMUCapsInitQMPMonitor(virQEMUCaps *qemuCaps, return -1; =20 /* Some capabilities may differ depending on KVM state */ - if (virQEMUCapsProbeQMPKVMState(qemuCaps, mon) < 0) + if (virQEMUCapsProbeQMPHypervisorState(qemuCaps, mon, QEMU_CAPS_KVM) <= 0) + return -1; + + if (virQEMUCapsProbeQMPHypervisorState(qemuCaps, mon, QEMU_CAPS_MSHV) = < 0) return -1; =20 if (virQEMUCapsProbeHVF(qemuCaps)) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index c1fef8d5de..3d01844074 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3423,15 +3423,16 @@ qemuMonitorGetCommandLineOptions(qemuMonitor *mon) =20 =20 int -qemuMonitorGetKVMState(qemuMonitor *mon, - bool *enabled, - bool *present) +qemuMonitorGetHypervisorState(qemuMonitor *mon, + const char *query_cmd, + bool *enabled, + bool *present) { VIR_DEBUG("enabled=3D%p present=3D%p", enabled, present); =20 QEMU_CHECK_MONITOR(mon); =20 - return qemuMonitorJSONGetKVMState(mon, enabled, present); + return qemuMonitorJSONGetHypervisorState(mon, query_cmd, enabled, pres= ent); } =20 =20 diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 755f347e17..8bb0919a00 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1220,9 +1220,11 @@ qemuMonitorCPUModelInfoCopy(const qemuMonitorCPUMode= lInfo *orig); =20 GHashTable *qemuMonitorGetCommandLineOptions(qemuMonitor *mon); =20 -int qemuMonitorGetKVMState(qemuMonitor *mon, - bool *enabled, - bool *present); +int +qemuMonitorGetHypervisorState(qemuMonitor *mon, + const char *query_cmd, + bool *enabled, + bool *present); =20 int qemuMonitorGetObjectTypes(qemuMonitor *mon, char ***types); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 9f51421478..18ca124e46 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5520,9 +5520,10 @@ qemuMonitorJSONGetCommandLineOptions(qemuMonitor *mo= n) } =20 =20 -int qemuMonitorJSONGetKVMState(qemuMonitor *mon, - bool *enabled, - bool *present) +int qemuMonitorJSONGetHypervisorState(qemuMonitor *mon, + const char *query_cmd, + bool *enabled, + bool *present) { g_autoptr(virJSONValue) cmd =3D NULL; g_autoptr(virJSONValue) reply =3D NULL; @@ -5531,7 +5532,7 @@ int qemuMonitorJSONGetKVMState(qemuMonitor *mon, /* Safe defaults */ *enabled =3D *present =3D false; =20 - if (!(cmd =3D qemuMonitorJSONMakeCommand("query-kvm", NULL))) + if (!(cmd =3D qemuMonitorJSONMakeCommand(query_cmd, NULL))) return -1; =20 if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) @@ -5542,8 +5543,8 @@ int qemuMonitorJSONGetKVMState(qemuMonitor *mon, =20 if (virJSONValueObjectGetBoolean(data, "enabled", enabled) < 0 || virJSONValueObjectGetBoolean(data, "present", present) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("query-kvm replied unexpected data")); + virReportError(VIR_ERR_INTERNAL_ERROR, + _("%1$s replied unexpected data"), query_cmd); return -1; } =20 diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index bd437f7938..2de17e3d75 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -451,11 +451,11 @@ qemuMonitorJSONGetCPUModelComparison(qemuMonitor *mon, GHashTable * qemuMonitorJSONGetCommandLineOptions(qemuMonitor *mon); =20 -int -qemuMonitorJSONGetKVMState(qemuMonitor *mon, - bool *enabled, - bool *present) - ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); +int qemuMonitorJSONGetHypervisorState(qemuMonitor *mon, + const char *query_cmd, + bool *enabled, + bool *present) + ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); =20 int qemuMonitorJSONGetObjectTypes(qemuMonitor *mon, --=20 2.50.1 From nobody Sun Sep 7 23:51:54 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1754986980978194.45209650497952; Tue, 12 Aug 2025 01:23:00 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id E1AAF1279; Tue, 12 Aug 2025 04:22:59 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id C3E87874; Tue, 12 Aug 2025 04:10:31 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 08B5C2A8B; Thu, 7 Aug 2025 16:48:55 -0400 (EDT) Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 7F3AE2A8A for ; Thu, 7 Aug 2025 16:48:54 -0400 (EDT) Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-742f798bb20so1088403a34.1 for ; Thu, 07 Aug 2025 13:48:54 -0700 (PDT) Received: from home ([2603:8081:c640:1::1003]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-742fe78add9sm1605484a34.17.2025.08.07.13.48.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Aug 2025 13:48:52 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754599733; x=1755204533; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d5k6wfXnMfDPy0q+cSWdobmyu0zjPiNR4jSwAPamsyQ=; b=VoUHzG+naIsApZS9Gs3v7vffUr80x7I3s1AvtvXrGuW9Cmcrgam70EKobkzzRcL2pH 6zNNQop6BXFr/vWx4w9cUuQmdqs6BP913xvhYPSfUiJlLoGK5ZMxHfuQy3LPKOVAoJat X2jWo/0RJg7j23NUaTxePXtGGvwB9P9NJDUKOqtHSV0hpdUqJwPJUolOZ9UtuCqAsydF sleLUFyBZE0gAfzU46nkVZoL1WccFqZ34ZlNCHraYOo8INGqB2af3rRL6OW9bdoAmTpF FXmMIyvpsvCRptSwqRF86aFHEH4aFAFFpQzd8uwmWOBdRfuAXBq6DsbsSBsi/ms7XPYy 1thQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754599733; x=1755204533; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d5k6wfXnMfDPy0q+cSWdobmyu0zjPiNR4jSwAPamsyQ=; b=J5N9sz8imlUWOABgA76LV+y2ABWksh1q6TlHwpt3NyikhWBxRiPZeF2/23CeN7iKju /3LbmYRXpe0Yu87dMupXhN4kyWoCFjG2EiDsaX7RIUFHpmzmlyQcTY/VIS7rMo33CTGX Tr6RitP/ikW550xt4d92hc/SbxGGSEMriKgZsYSuzsRR/xNxYsB623pY9wUzMXBjpswT pe1RVe/j9IdWRzTX2FQ3xxPZNxp1HPHGYzeFF1UjQ/chN8fW4OCKDVDT9zVNey9u4z9V WKb4LqFqgZx5H0zkBbMQQ7s0bQaAVpt0arPvZEvki3jfNIL4g9neGD8XMo38jMyBEewQ 1DyA== X-Gm-Message-State: AOJu0YwOdeUNHJfLifSzPEEHIosRyb81oPM5PSXnA7BFdopkPKOAg3ia J+yU3yyOhlwixWndXNVnwLZsZ9QeW6y6MfkqE9quHmnqUmlToTHiJuSYrWsVRQ== X-Gm-Gg: ASbGnctITdZbZqiUEglB1ft22zLM4qLTMLOZmzJuwVmlUUr6k76rE1AZi6I1OL49+qP k2CCSzW06tFfGSTIA3k8HsZb/Usn/IQtCbuxcgqr6plPgY/7XWikupdkD/rl2AZOhc/jKWMmk7m T1LnoOP+j/ZQEt/SvzlxakLeCJYsQj19mgIleTGT6rkKZ94q+Wxft38dVsCdz+3iFeFeqo/M5dA FIwiM5Y5SFZcFA7RZTGx2U2jT+bhlpZW/H6YZRo4eQrglTmRSGjflDa2Wa3ZS/pRWiw5HZpxH1Y O5VJ0x8azSjqPyZayV+geQANKvxhz8rjEbCWrJ5YS6xVsU5wFDOm7p9QuUw3sTh2h/vxN9lN7eJ znlg= X-Google-Smtp-Source: AGHT+IGJZk2l6NKe1zMCM/Xx+NF1gFqbnV80BC4Hi378WRfj85lY7/vZ55DqRV5EOcdcPkCERVSyAw== X-Received: by 2002:a05:6830:4394:b0:743:1abf:bdbc with SMTP id 46e09a7af769-7432c719c0emr418603a34.2.1754599733410; Thu, 07 Aug 2025 13:48:53 -0700 (PDT) From: Praveen K Paladugu To: devel@lists.libvirt.org Subject: [PATCH 3/4] qemu: use mshv accel for hyperv domains Date: Thu, 7 Aug 2025 15:48:42 -0500 Message-ID: <20250807204843.17902-4-praveenkpaladugu@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250807204843.17902-1-praveenkpaladugu@gmail.com> References: <20250807204843.17902-1-praveenkpaladugu@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: B2UVTETSFTF6WL2N4YXPDDA7IF7OXQG6 X-Message-ID-Hash: B2UVTETSFTF6WL2N4YXPDDA7IF7OXQG6 X-MailFrom: praveenkpaladugu@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: liuwe@microsoft.com X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1754986982553116600 Content-Type: text/plain; charset="utf-8" From: Praveen K Paladugu Add mshv acceleration (-accel mshv) flag to hyperv domains Signed-off-by: Praveen K Paladugu Signed-off-by: Praveen K Paladugu Reviewed-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_command.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 4e4f1e87eb..3aafacb14d 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7321,6 +7321,9 @@ qemuBuildAccelCommandLine(virCommand *cmd, virBufferAddLit(&buf, "hvf"); break; =20 + case VIR_DOMAIN_VIRT_HYPERV: + virBufferAddLit(&buf, "mshv"); + break; case VIR_DOMAIN_VIRT_KQEMU: case VIR_DOMAIN_VIRT_XEN: case VIR_DOMAIN_VIRT_LXC: @@ -7328,7 +7331,6 @@ qemuBuildAccelCommandLine(virCommand *cmd, case VIR_DOMAIN_VIRT_OPENVZ: case VIR_DOMAIN_VIRT_TEST: case VIR_DOMAIN_VIRT_VMWARE: - case VIR_DOMAIN_VIRT_HYPERV: case VIR_DOMAIN_VIRT_VBOX: case VIR_DOMAIN_VIRT_PHYP: case VIR_DOMAIN_VIRT_PARALLELS: --=20 2.50.1 From nobody Sun Sep 7 23:51:54 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1754986010076504.2894595008054; Tue, 12 Aug 2025 01:06:50 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 5B949A5D; Tue, 12 Aug 2025 04:06:49 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 58F72ACB; Tue, 12 Aug 2025 04:05:14 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 85ACA2A8D; Thu, 7 Aug 2025 16:48:55 -0400 (EDT) Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 0D40F2A8A for ; Thu, 7 Aug 2025 16:48:55 -0400 (EDT) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-301fb587dfeso824847fac.3 for ; Thu, 07 Aug 2025 13:48:55 -0700 (PDT) Received: from home ([2603:8081:c640:1::1003]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-742fe78add9sm1605484a34.17.2025.08.07.13.48.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Aug 2025 13:48:53 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754599734; x=1755204534; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OE0KbqDRK1SnSxCUEedmXOosQ6WasR5Gtv/m2zLFzv4=; b=FcSPc1vxnOXv9RWbz7ykCcGmPnfMmx0w7TdWmLLq6e/fyI1wuY4chhCcCARnOYqoED ouPkZUkUOdAu6NhaE+TNYtRSuLeA0qy3vPC4uNk5PDVTzzRuRE6HJkuUSbDcMD447IzB lR117mBDFI/WRRKa7TNOeC/O2FY6e25oTl8PaRId11+xuMyk0yu1olUZF8dteMfP6n00 l2IHKZ627VYsRiuKxVdnQ9iQ7SnwwHafQW0GWqqGytCxWxqFVhhsWSUiVPCbv0WKXuZx QVypNXgW918ZxePKrAxNV4gtw3cEM6FUC7nV/QvzQqD0Li24PE0ku6m5961aJ/yiXxvP 2A7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754599734; x=1755204534; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OE0KbqDRK1SnSxCUEedmXOosQ6WasR5Gtv/m2zLFzv4=; b=IP1yNj4MMm10gpnVxYFicsrQn9071YNQbmdeZat5UT+VpPYRsYM8E3eJjOmhAqYJ+V w9ZLi/VmvyKZOb11HxA0mBXYf70/ueaavWSUAd3589TJSUYo7EvWtkQlIp9dzbWkXcXL n7QQCWP23FP+emw79AiAjq4KHLbKyWt8axiYZtiKLu1k8vOTirPgNF691E0wsVvcTBNw AkhASf4GA1C2wPtrvZCELhNwL/Xf3o2E62qypqaT1EoMkBscrQDa38TdTPYwscmwxzR9 i331MazwaBbg7IGMKEDE0Tb96XsB2yYWMJN2CzQl0QPPiM23PLdDqPKekoUV5hqCUDG3 WtLA== X-Gm-Message-State: AOJu0YwGPQb6FIcmIbpZmIze4t4PeCE82E59j9ecJHat7lOCKlUHUz/k x17LhrYkoAawoOFUoR0cGNWOdFKr3W5Yv1Gk4rKS+W+T4m3SBncBfXpspAmWvQ== X-Gm-Gg: ASbGnctoLMmzjErN9ROXV7yw5/hUV5Wz8zA57ZyELOtATlPmon2ck9lSYSnnlcxvrw5 M524+cS1+RQpKXe1+Dp/iGzKvjXCgLOh4dqsZVka9sAwAT89L89wQF5ma5M9NrbZGvhwH+hSbS1 Gfv3elPeNWWLLVnuMbTNNCSlLjKKorMqUn7PrWjzu8W8xd40Fvd+jIDBmpwecgNCoiKhD/FE/Mh koqOQM97eQ95vL//ZAh53JHmC0lx6jSLiJNC+YxrohmwzJitZsxPmqu79yIb/GReGDlfqFT9DCg a0xGq1Z9q/T8aO534EKGlobs5gVtvFojimLpyPyBrcB2HqIcJiN2216jGODsLUGhptzxSFw2Emz qfa4= X-Google-Smtp-Source: AGHT+IFJFLbvbb3ey9wJmGQO8sB0qac93yIu5Id+LOAtmBY1giq6olqrCEzwauqOiXcI5aKo44VWMw== X-Received: by 2002:a05:6870:cc88:b0:30b:a20a:8794 with SMTP id 586e51a60fabf-30c21331cd2mr465340fac.31.1754599734094; Thu, 07 Aug 2025 13:48:54 -0700 (PDT) From: Praveen K Paladugu To: devel@lists.libvirt.org Subject: [PATCH 4/4] qemu_cgroup: add /dev/mshv to default devices Date: Thu, 7 Aug 2025 15:48:43 -0500 Message-ID: <20250807204843.17902-5-praveenkpaladugu@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250807204843.17902-1-praveenkpaladugu@gmail.com> References: <20250807204843.17902-1-praveenkpaladugu@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: Y3J26NUJW3XHMTXVQSGZIMTQ3ZGACXIY X-Message-ID-Hash: Y3J26NUJW3XHMTXVQSGZIMTQ3ZGACXIY X-MailFrom: praveenkpaladugu@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: liuwe@microsoft.com X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1754986012493124100 Content-Type: text/plain; charset="utf-8" From: Praveen K Paladugu Add /dev/mshv to default set of devices to pass to domain cgroup. Signed-off-by: Praveen K Paladugu Signed-off-by: Praveen K Paladugu Reviewed-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_cgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index f10976c2b0..b9b68d38d5 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -41,7 +41,7 @@ VIR_LOG_INIT("qemu.qemu_cgroup"); const char *const defaultDeviceACL[] =3D { "/dev/null", "/dev/full", "/dev/zero", "/dev/random", "/dev/urandom", - "/dev/ptmx", "/dev/kvm", + "/dev/ptmx", "/dev/kvm", "/dev/mshv", "/dev/userfaultfd", NULL, }; --=20 2.50.1