From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874475; cv=pass; d=zohomail.com; s=zohoarc; b=GgdE0k5zfDqdqjGBhALJMEh8OW3Ds02nAJQjzognkLxAG1fDFkSvF+ZrE6n1ePV6tLu4c2TzWcZ9YNtqKVuJYUKRVN3jeOllGNpRtWgCkYcaknPG8gMB1M+4kvTda9q8+2G5vO5BJb9QJAKY/kfVr9J0+BsB0iw/3I/gPkdhVCw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874475; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=u74XA2uHVMWS+OZne+YqRMNotkkfrNGj+KtQ0r1e74w=; b=Cmi3C/HIK3EGxEwX1eio142vz2+KaDRfzRIwRvdnmXk8F3QUcHj2XALfSfc3dK8Jsq0teBKHmlM8yXKGwyRcoeSWvEmgBdU9R6mPxZCtRx9IwZJZn11WbXFd7vZhVNTiS5LKNqPEcSwH5L7CrFe+dq2Mh9vHJ5jkW0IKNVOGamA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874475427985.0101585449429; Tue, 8 Sep 2026 06:34:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vxt-00037C-Lc; Tue, 08 Sep 2026 09:34:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vxr-00035x-Nz for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:34:19 -0400 Received: from mail-eastusazlp17011000f.outbound.protection.outlook.com ([2a01:111:f403:c100::f] helo=BL2PR02CU003.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vxp-0005j2-Ih for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:34:19 -0400 Received: from MN0P220CA0024.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:52e::18) by DS0PR12MB6391.namprd12.prod.outlook.com (2603:10b6:8:cd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Tue, 8 Sep 2026 13:34:12 +0000 Received: from BN3PEPF00022BC7.namprd05.prod.outlook.com (2603:10b6:208:52e:cafe::a3) by MN0P220CA0024.outlook.office365.com (2603:10b6:208:52e::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.7 via Frontend Transport; Tue, 8 Sep 2026 13:34:11 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC7.mail.protection.outlook.com (10.167.248.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:34:11 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:34:10 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nFmwAR3Smp7FDIti8r1+ekimhhG2vAX9kYieRQLoGc+g1G1Nsww8MMRB3RmHADQsI/lrmZp+/YN3HDr5Fr7kczpl2lbyGSLTBofMWBhV2oKX+3dXSHWNoBJVvWrOhDFTx0ln8ARk/6APHt695kDY775M4tZ4+Um5Rs1LMxnvSnHkF2QNMGmqr6Tmyfld63hjZ/qyMRco+ZscDvWQN3B4OPGoObXByQw1hw0LRIj7A6dq3mikMSgwznR/gWzcRaYf0Pm1+j/Us9f3I+2EacN1tHhoem7NUl9N4TUFwMRPrrEl0DaXakmvNX4+WZZuLbTI9RTAcqJM49StBIdEY7MSsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=u74XA2uHVMWS+OZne+YqRMNotkkfrNGj+KtQ0r1e74w=; b=VlAfHFFkYn1Uq44xETS0liI3O49crpsnpcB/Nv3288UedFwWb8kX9cN7aloxDqsL2HoKLRTgu7RqJ8ztvgvK8QA4HtZWy/NlBwro6beE56N1YbnNA0fLilblj2Jxj7+mqYvIprMCM7rgFLtr7GBaeb0FcV8RZ3pU929wLPxjLmRWz/DWDizZRE13aBMaT82zga1sQpgIuJyb3DgEmvhm0xwlFW8QOm75hkt/GHju4WxqTHIJyn0ChH1TIVqK7B+Hss4hBX/B4088PCSLpGLlfhk9xfK+BmYLu5Z1xHY/NERCp4fcXqYQbiZF8vSQwJmQrL3Z3tPhGkz4ve3NS9kIfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u74XA2uHVMWS+OZne+YqRMNotkkfrNGj+KtQ0r1e74w=; b=vw3lJ0F9B8Xnmm1XX3bWqAkK1hLkIqjiRWyqMwheIqcPISoAzuO/8ChcEDQKNOGZTwQcJk4Qj4DsNimJaOtqm1A/Jq24VvG1cXBC5fa12+pZw1e1729QaS4ZReqdT5PnIScdJKcXEFyff5vcQ0HYUGby9ZBEXNRw0fEpIV5DXkA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu , Fabiano Rosas Subject: [PATCH v5 01/12] kvm: Decouple memory attribute check from kvm_guest_memfd_supported Date: Tue, 8 Sep 2026 08:30:51 -0500 Message-ID: <20260908133151.836685-2-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC7:EE_|DS0PR12MB6391:EE_ X-MS-Office365-Filtering-Correlation-Id: f1d6643f-3e08-49c8-a3d0-08df0dadddcf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700016|1800799024|23010399003|376014|7416014|10067099003|22082099003|56012099006|11063799006|18002099003; X-Microsoft-Antispam-Message-Info: HWVfdo0XOeJ6VIxcfMNgtNI+IEgOeY6zQ2i3ifY/bZmRPF4Ul16yxI+PDLvyJFWm6y9aR+M1p+/8vluncwmXQ9qP0cA4TrtRxCGHwxjhIKoFH9/e5r1g18X0hEZMD1ibV0wxDiMuyUY4V11qTm41FteF4kP0DWYrcEHfm7Tn6gDt/AJLhnjTcNmfpPFsnQiMa/lttqWOzF+ls0d98SjLN9w72NMC4n9EK0/Xx4R+/mDBQItI3lywDIOMjMMgCBdzIVyovm9r7owBaUxXPaJZzMc4VlQkrZfwqcFyoaBRstj0kS6vvoKyae1oPeVVF5OVo6hgCFhChty+pbRf3JYI5wmJcld++ghe8OA1eJ41IOvda7uYHKByjoHmnCVZU5ypKKMEBkm12g+ucuKS1R7o2cX6br7QqbNpy932l2hdtK5yiEhD0Jvq0fL3ZfqLCEOLanhp8MT8vx9gi1y5eX3jK0+j0nXMpHLmYhPAsgQ3iTOR5OHMpWCZ78mBL5h1FO9vbyObMzhVygjZWi0JrjDTl6yCA7Cpg8NV95hia1SWTMO0tYJRrUyEvNYNsx22m7r9GF3pKupsuBeMvIncsxDwV5egVAQ5tmKvjTAGD9kKrfzW9pm2PoYqEb8LSdnUbKv/nWCcymAgJh+IJZihyLUk5OsSSlL1U7/zOlbouQLTLjqIVsrLEFUTGRVI64wRerpeS7/EGvlay3DgpVYs3YplUw== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(376014)(7416014)(10067099003)(22082099003)(56012099006)(11063799006)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cbW4qLo/LHgAL5VSt0Nrz290Q8ChJ9JsdH8ZwkQcNGXOR9JL12FdPRxJFHmiqVZRNYFAiQG+Wrni5g53Bp/A/oV44l1sezxLIwLpmac97qHEPyM6yVaNAKz/yMShdA7IeXe74Sr89VuNr2aZjFuC+bRbdsaD+CR1FzB2uz/TSnUMXHspNtPBKBvuL+RWtcZkpi6R3LK/NghzVPQPHN0/oKMBmaJAu5JWmgaqsUFM9mgVjN33q1IppNGzYXPHY8c8pPxyRYRmQenUOlKM5XHIWXgHIW7ulb+x7tGcm6bYgxwao6QgEcIVPlTFR///5HYj5FI69B4J3UECpXl6GzU1JHp4hoo68rLb7Joe6wISeMoiAgPMUhFHwnI9rGT6KYcNoGLA8gCBZMBhz8LBGX7A4GjNYQwCjBB2ifQ01VJPqBLxeW5BF4lISCqd4QDjC3KX X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:34:11.1314 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f1d6643f-3e08-49c8-a3d0-08df0dadddcf X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6391 Received-SPF: permerror client-ip=2a01:111:f403:c100::f; envelope-from=Michael.Roth@amd.com; helo=BL2PR02CU003.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874477578158500 Content-Type: text/plain; charset="utf-8" From: Xiaoyao Li With the mmap support of guest memfd, KVM allows userspace to create guest memfd serving as normal non-private memory for X86 DEFAULT VM. However, KVM doesn't support private memory attribute for X86 DEFAULT VM. Make kvm_guest_memfd_supported not rely on KVM_MEMORY_ATTRIBUTE_PRIVATE and check KVM_MEMORY_ATTRIBUTE_PRIVATE separately when the machine requires guest_memfd to serve as private memory. This allows QEMU to create guest memfd with mmap to serve as the memory backend for X86 DEFAULT VM. Signed-off-by: Xiaoyao Li Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas Reviewed-by: Michael Roth Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- accel/kvm/kvm-all.c | 8 ++++++-- accel/stubs/kvm-stub.c | 5 +++++ include/system/kvm.h | 1 + system/physmem.c | 8 ++++++++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 83cbd120a8..cdc7554082 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -1627,6 +1627,11 @@ int kvm_set_memory_attributes_shared(hwaddr start, u= int64_t size) return kvm_set_memory_attributes(start, size, 0); } =20 +bool kvm_private_memory_attribute_supported(void) +{ + return !!(kvm_supported_memory_attributes & KVM_MEMORY_ATTRIBUTE_PRIVA= TE); +} + /* Called with KVMMemoryListener.slots_lock held */ static void kvm_set_phys_mem(KVMMemoryListener *kml, MemoryRegionSection *section, bool add) @@ -3058,8 +3063,7 @@ static int kvm_init(AccelState *as, MachineState *ms) kvm_supported_memory_attributes =3D kvm_vm_check_extension(s, KVM_CAP_= MEMORY_ATTRIBUTES); kvm_guest_memfd_supported =3D kvm_vm_check_extension(s, KVM_CAP_GUEST_MEMFD) && - kvm_vm_check_extension(s, KVM_CAP_USER_MEMORY2) && - (kvm_supported_memory_attributes & KVM_MEMORY_ATTRIBUTE_PRIVATE); + kvm_vm_check_extension(s, KVM_CAP_USER_MEMORY2); kvm_pre_fault_memory_supported =3D kvm_vm_check_extension(s, KVM_CAP_P= RE_FAULT_MEMORY); =20 if (s->kernel_irqchip_split =3D=3D ON_OFF_AUTO_AUTO) { diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index 32b4b07403..3d34e3b99d 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -143,3 +143,8 @@ int kvm_create_guest_memfd(uint64_t size, uint64_t flag= s, Error **errp) { return -ENOSYS; } + +bool kvm_private_memory_attribute_supported(void) +{ + return false; +} diff --git a/include/system/kvm.h b/include/system/kvm.h index 714b8c7b01..d29624034c 100644 --- a/include/system/kvm.h +++ b/include/system/kvm.h @@ -551,6 +551,7 @@ int kvm_create_guest_memfd(uint64_t size, uint64_t flag= s, Error **errp); =20 int kvm_set_memory_attributes_private(hwaddr start, uint64_t size); int kvm_set_memory_attributes_shared(hwaddr start, uint64_t size); +bool kvm_private_memory_attribute_supported(void); =20 int kvm_convert_memory(hwaddr start, hwaddr size, bool to_private); =20 diff --git a/system/physmem.c b/system/physmem.c index a4a6a4710c..b665cd3c33 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2190,6 +2190,14 @@ static void ram_block_add(RAMBlock *new_block, Error= **errp) object_get_typename(OBJECT(current_machine->cgs))); goto out_free; } + + if (!kvm_private_memory_attribute_supported()) { + error_setg(errp, "cannot set up private guest memory for %s: " + "KVM does not support private memory attribute", + object_get_typename(OBJECT(current_machine->cgs))); + goto out_free; + } + assert(new_block->guest_memfd < 0); =20 ret =3D ram_block_coordinated_discard_require(true); --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874495; cv=pass; d=zohomail.com; s=zohoarc; b=Q7l+jFEX3MfNQXaavHmLKyYVi0xtRDXBuydm0OY+LEV9vwhwIubJ+5S2HzZMCSMrEjoehT8P899Vmyk8mlANTIXrWrWZ26HDyisXGogyOKPlvryvVjzV9Ma6K8CQch+KRledtm6/o8zsTaMkkoEj6F7bQCr5Z1mpBUOOQrkK6RM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874495; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oRj3zg+9itdYyS6z7QNXQBDIItCdYPar+DU2LFF/qUc=; b=IQKKRuHMfWL3TCzBl8lFivMh5jWMhd4XIyHWJ/i2bnjVzdKhr/XMDk56YTZPDbFNMCyM16hfKOK7MlZZqN8BNrb6OGhQlqVUmn8qaVW4nzzeTy/SG2SrUuHPutY01cWQ4OFIDL3pnDzlzegXJQ1CaJBcfLdPqXvIhITtkvh3dWY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17888744956536.639749949589259; Tue, 8 Sep 2026 06:34:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vyJ-0003nP-3p; Tue, 08 Sep 2026 09:34:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vyH-0003n4-ES for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:34:45 -0400 Received: from mail-southcentralusazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c10d::3] helo=SN4PR0501CU005.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vyF-0005my-CR for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:34:45 -0400 Received: from MN0P220CA0016.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:52e::26) by DM4PR12MB5866.namprd12.prod.outlook.com (2603:10b6:8:65::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Tue, 8 Sep 2026 13:34:32 +0000 Received: from BN3PEPF00022BC7.namprd05.prod.outlook.com (2603:10b6:208:52e:cafe::2d) by MN0P220CA0016.outlook.office365.com (2603:10b6:208:52e::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.7 via Frontend Transport; Tue, 8 Sep 2026 13:34:31 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC7.mail.protection.outlook.com (10.167.248.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:34:31 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:34:31 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YkXJkZ1oG5HkXSWwGwnJyO/60E8o03R4E7xhSDAlbCJHVVjTfgkH5C10tcASEb3M2mesdBto6PIBErbAtvqoNGZWt93FCQfx6FsmZuX926tiTBeY3pYaRCqS3TZKA5gsS0LGzLzRh24ArH0hkda5ATi+uOCyg/EP3F7oPOKqe0P/SrsB701vXb/EroDAXyeRBywY2kU+/qYp4CdsGCLQVHgXNmZMXLsyKNMcLP0resdxmApi5ugpavd0RchSWGUljpEWogBm7llO6C4LyL0HBuOkJJabUkBow7rXdC0VFDFu7i8pBCJXBYbSoFR2frhWoPohhsA1cDPDa36qWt2cyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oRj3zg+9itdYyS6z7QNXQBDIItCdYPar+DU2LFF/qUc=; b=CBoTijMuYDoW3ZYZ4VrLg5Ci52CyOlle8hU9odN/hkPVRH6Khl/zi0aLzapwkaRplxLUDr1ELzJ7hssGSsVFtpg8thI4ks7oTRF2K4thRJt7hFAS0VNFVEjEPt3mzVx8N5HV8mlMArntBQSkskLFwaQSkkLfQ72EvJfPwm54SRYtGGz/HOQ4ugPrIZvZwVayleAdszPMM7OnxsMRSCihEdhvzYbfMwoRpmGrE7u1ppDp2Xw8RiCafcmZ3Y8ck8u6by/YL8lb6VqshXvd3qMv6CHDCTuKSglFLY3cILcGv3k+hrWH7HRmerQq3cFj4M+9qiqjQbSa0twago3LAfyUmA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oRj3zg+9itdYyS6z7QNXQBDIItCdYPar+DU2LFF/qUc=; b=VunEDgdXmkzvvdq9RVSKHl+9VPgYwmzfCp2pVhB/oaOapyouEXiE5K2+8EjEk9TYLaArWf1Y96zvajrwtNAJaBMaWQw1fqxiffQIMbCDXkrFV4KnvPecPsOQUEbY9nw2C59YjrXWNaMWPaTiDT4YK7n1B3crnqOnYEDXwl7SrxA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu , Fabiano Rosas Subject: [PATCH v5 02/12] kvm: Detect guest-memfd flags supported Date: Tue, 8 Sep 2026 08:30:52 -0500 Message-ID: <20260908133151.836685-3-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC7:EE_|DM4PR12MB5866:EE_ X-MS-Office365-Filtering-Correlation-Id: 16e9f05f-1791-4bfa-261d-08df0dadea0e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|7416014|82310400026|1800799024|36860700016|23010399003|6133799003|10067099003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: OlwJaSZfk5DkR1fE7lYVqr1jrALe43AKivakiOMf6SilXMBKeFsijy+Z8iTdUL/Px8jsNmljNWZUdcNLQIm2P5G2cXGDwVgBrmnLfxABBf8T0AF9fSYPaK+wrZDkwlX6Rf1zjQaFN7L5B0LrdHLKedArz86elK2bKIAI5mGje3wQoWZD8JgYul3hptEEKzRjPH6GGBMqG3S+zWRMFeXyjofhO52MXudJqmCeyO4hxBjKqJNR68xugiU2jfqj9v6Rbs93KD5tAhgu5CGOuDX7A4xcbJ3jFx/FdLJGRmTld2iLvup6szk6rMaZgtfB4zGf9ckstOFgS2SqE1SNP62WJ1gJMtRTcheU5AovZnbO9l632SObQHGCK+4RqbqijN1vyXIg3JBdMFewJ9Z8PRcWxh64gYZdqIF2KjrD397KCNhn+4ZHzwRVG02woWNd2occpJVQrzhlsRltJ6jYXNvLncQ+i39oq+ZHCAxm1ALMnp8rgge6gMC17w04lYDBzuod7ie812LPM5/c/RYP14juc0IrkXHwt6mrro0g2B6YsxRM6kmdaSsddXbYVlF7cuq/XQgtc1hU7AZbDtKSz4gMrDRZyV3tS4amPF83jBcOWgfzfgIh0INyINkLTJkux0BjwpctlAXvG38T0webIK1TtkYyPwIKPyuNDJS/djOxQqShcijkOiPwG1gRAtSlWaCq3jlF2RwLrfdHgrkNcENKqA== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(7416014)(82310400026)(1800799024)(36860700016)(23010399003)(6133799003)(10067099003)(11063799006)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iE9PW4kQIfyOMflLoEKAI0cjHBipXPwFVsQTyHAMZgW3sXPwi/1jkF3MLEedtWGBeXTFcEuh3HcViIf8FuAF0kS/lRc0iMuV6B8FC1KejCt8DlSevLOklqIXLdCTCTbKdBppaMiz3/a7YuH0jbJSzsdW6YQBd3dBEgSd78Tkx2KCblAm97oaW3gKy16R8qTvxibR2N6/WFuLEVMabunkIHFpeGkbanKovVuW73/r6xOMqxfsuYxL/LFRK+oJGTyBr2XXoViKN5ssT7g1BbZcCL7IeYTe+GsL/CW7KRAcnMuY2i2/Exy+ok1nUiWgb5Dx7PE2rtpHbrKc7jaq65BRNHnbCOHyhSpH/L3dyCry5a8TPZT0gwvyf7+eTniOpVcX1WLiBV6u4+3ySGNGNXjQz2qCMGHIHoxkKY3mhfbzLsTuBWEZ64jyeziG+ndQyXL4 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:34:31.6785 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 16e9f05f-1791-4bfa-261d-08df0dadea0e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5866 Received-SPF: permerror client-ip=2a01:111:f403:c10d::3; envelope-from=Michael.Roth@amd.com; helo=SN4PR0501CU005.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874497307158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Detect supported guest-memfd flags by the current kernel, and reject creations of guest-memfd using invalid flags. When the cap isn't available, then no flag is supported. Reviewed-by: Xiaoyao Li Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas Reviewed-by: Michael Roth Signed-off-by: Michael Roth --- accel/kvm/kvm-all.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index cdc7554082..120cab1e22 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -107,6 +107,7 @@ bool kvm_pre_fault_memory_supported; static bool kvm_immediate_exit; static uint64_t kvm_supported_memory_attributes; static bool kvm_guest_memfd_supported; +static uint64_t kvm_guest_memfd_flags_supported; static hwaddr kvm_max_slot_size =3D ~0; =20 static const KVMCapabilityInfo kvm_required_capabilities[] =3D { @@ -3065,6 +3066,8 @@ static int kvm_init(AccelState *as, MachineState *ms) kvm_vm_check_extension(s, KVM_CAP_GUEST_MEMFD) && kvm_vm_check_extension(s, KVM_CAP_USER_MEMORY2); kvm_pre_fault_memory_supported =3D kvm_vm_check_extension(s, KVM_CAP_P= RE_FAULT_MEMORY); + kvm_guest_memfd_flags_supported =3D + kvm_vm_check_extension(s, KVM_CAP_GUEST_MEMFD_FLAGS); =20 if (s->kernel_irqchip_split =3D=3D ON_OFF_AUTO_AUTO) { s->kernel_irqchip_split =3D mc->default_kernel_irqchip_split ? ON_= OFF_AUTO_ON : ON_OFF_AUTO_OFF; @@ -4760,6 +4763,13 @@ int kvm_create_guest_memfd(uint64_t size, uint64_t f= lags, Error **errp) return -1; } =20 + if (flags & ~kvm_guest_memfd_flags_supported) { + error_setg(errp, "Current KVM instance does not support " + "guest-memfd flag: 0x%"PRIx64, + flags & ~kvm_guest_memfd_flags_supported); + return -1; + } + fd =3D kvm_vm_ioctl(kvm_state, KVM_CREATE_GUEST_MEMFD, &guest_memfd); if (fd < 0) { error_setg_errno(errp, errno, "Error creating KVM guest_memfd"); --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874531; cv=pass; d=zohomail.com; s=zohoarc; b=n1JzclL8aRG/flDravd62H8DIzQxHw1NyfG3+7P5ZsIGuRxp3E1Hx13q4OUblEYTPtrrG61hSjtsqH1kaUi29XQVGZk6CP4D4g0kbwhm8lU1UtU3+387fAl4etbtcW8msW9RoQNOUsjkxZceQw9QZKH9HIJqq3/lhF0ph7uqdZc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874531; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XwjrVJV+f4mWJDGj4PcbteJ6Zm8Y2erJlIsN7lWaEuc=; b=djZCoA57RovKHLp3qBOeCurr4pPAPTamyv/WVn550sv8CCFsrvMB8m/fzt6ogT1sOyjF4DInF4F+rK+YWc2nC2Rogxf1D6wLEAPnud0tF8OXCkuWQ0xkj3v9Gn4WYpJ/V3bCi77L+x94WfkzgGUXrozmHZdsj11NuiHIu/tqcKU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874531387886.3340643935721; Tue, 8 Sep 2026 06:35:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vyp-000494-20; Tue, 08 Sep 2026 09:35:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vyn-00048k-IP for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:35:17 -0400 Received: from mail-westus2azlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c005::5] helo=CO1PR03CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vyb-0005wT-Ak for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:35:17 -0400 Received: from BN0PR07CA0020.namprd07.prod.outlook.com (2603:10b6:408:141::18) by MN2PR12MB4421.namprd12.prod.outlook.com (2603:10b6:208:26c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Tue, 8 Sep 2026 13:34:54 +0000 Received: from BN3PEPF00022BC3.namprd05.prod.outlook.com (2603:10b6:408:141:cafe::37) by BN0PR07CA0020.outlook.office365.com (2603:10b6:408:141::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Tue, 8 Sep 2026 13:34:53 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC3.mail.protection.outlook.com (10.167.248.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:34:52 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:34:52 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jHF6IT1ICyy2thr6VTMc7W6plBBlWb2SxiOe8CGV4RTr8UOvLNElk9uVthQKHqVL8NiK7zK9hu2v8U+CjAPLcg4K0949XO20csILZTUWCuolivnlzXXdHhoh6pl9J4u9+f+GWoQcGbQ96Fi3FC4Fu9MD1aeltQrzB0fEVZUP1h+87sbauZCskhEmAoV1yRwvo8XyMpUAe2GyB8B9SyVfzXw2onCaVJ/coE8UAL1A6P804NePtccvy+M+FalwVwtZRQOvd6hM/qrQbvUgnDKYyyvqbV32eLZGpldwldava+Xt9Onl5GM3YibYMlCHuAvS0o7sH37ASxAw6XqZArfweA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XwjrVJV+f4mWJDGj4PcbteJ6Zm8Y2erJlIsN7lWaEuc=; b=WJqV3SuaVQzBV32Tx7UCcgdaF4zmoyNS3p+A+WjFvEhsZlDD531Cfu8EzGzd4Vd/hVhYtzqT9QiO4Nf44MJjWRj8q5pyD9d//K/tMDdK2AnERzdWu13IswZDK8gMODjjiPSWUGyG5iqzKAE1XOSTs4BiFgyCSCEmKYo7IlVGzm8rnloTOqSP5Hb4rhoLJbOS72Ca5OXJBF3PTm3oxGBLbO9YUlY1KA3zrkRC1ACazzahGt5JjJis3dM2Xl1C64KLISqqza21NaoSQ7udJom7Zv4MgOqvEp5Db9qPvgd75ZFgg0z65Poz125vGJcq0Sjx+ncQOc7tMzdj+4ucLBSGuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=temperror (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=temperror action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XwjrVJV+f4mWJDGj4PcbteJ6Zm8Y2erJlIsN7lWaEuc=; b=ErNgbZ3n/etqfa+0E2OJdKX4VUY7Dv983GOxiwnr8VQZ33LkmvpZiujTin0f5yG7b64nMH8OwvbTz63PA1RfdG1ta3EiMYtbKjj99qouHQIGvX6wyZ4sQvs5nfzZWdXtsCgsar3GaspkXGCyN6ByJm6VNp7NgHUFk7aQ+3pkSaI= X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=temperror action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of amd.com: DNS Timeout) From: Michael Roth To: CC: , , , , , , , , Peter Xu , Fabiano Rosas Subject: [PATCH v5 03/12] kvm: Provide explicit error for kvm_create_guest_memfd() Date: Tue, 8 Sep 2026 08:30:53 -0500 Message-ID: <20260908133151.836685-4-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC3:EE_|MN2PR12MB4421:EE_ X-MS-Office365-Filtering-Correlation-Id: af43c3b6-f016-4eff-3b54-08df0dadf67d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|36860700016|7416014|376014|23010399003|6133799003|10067099003|5023799004|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 6/meLEeB/EGJTh2m3icmz3F6j5uZwQFHMSrvnSJrTDxsRekqlQwa6BOeA5EOPd9Ye0OPU5x60HxBsnB5FkcXL5ip8dQCs9wFwtU9EOE8KfttSV8E6iMMf/U1UC+QBogApri6ZbWxowBWEy64FnBhntQrpxj4M/xDyEzXC8SeVr/OGC5Ywt/AOy5fYMIUX17iO99ez+s+D46i5cCgLG4rArrRUV1I6J23nBtsGV0v/zXDbOAmzZaqXB9fa9s3QfGr0PicN8bVNAseiiSO8HvLbh5f1l0cp2FmHbyY6TFexrBOwhnb93Ck21ybrjxixBNDyxMw+hY+HIz8By8ZJ1nLVsv07BC0e3SwwDFvwoveH2+5u2uIuDAdDnsUceYsCZNHZ14XCMxmKz1FhQyHc02HLLAaioXfPWXjy0hSnN0+33ZhKa6IrejeAIEAdqZz8Z6hcTuSJ/fy8AwAVFtANCmxjcl2/UKTnyrxmsjvfCi8XZToTKs8o25MNyJD+TfukFSpgKz0DqXswXGICuh/b7i3WF6WDCFJWJ9vYAG1QMfAgj06slu0KcDW2hHyGB8eIoL5LFmLHQP291pc5J+LApjgbzkSoABjmyb8cRBMIuMB3KN7CN331DqpyysZdIL2CwnXcJlAc622ZcMaZoaXxUD2dvXpImcIw+prIE0Ymo+ocHAJt9Dk8bVxaavFfC4W6Dwc/e9syBGb/3nZmYMWIhS9MA== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(36860700016)(7416014)(376014)(23010399003)(6133799003)(10067099003)(5023799004)(11063799006)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5JkIzvodp9Nxin/mCjJRF1HDM0N7onwpYMoZ5jWqpxG9KcMHKSVGsLcRe+fm+pfi6gR40ePJUmct4BAYttlmkU5hFOx64HRmYwQqjjrUdmai8t46wCXvgRRClVUjQWKTn5qOWSvnGFo+wfgfMN4OYao+oPlJRsZBviU8Farvb24+K6e/QSkzqQhm/7PPKt2g0y2h3sMB/RVv2XBuGNJatw2GRmdmeaxaFVZRRDckpEqc/xkJDcchB8U9yzTNVbBV2Ky6I2/Wt4WpZqdzXArcHOGn/0W5seuoJJOX971yxsPkMnszSjnXvaQnTui2oDJvJFYfV6xTBPET/EUzHc1rWDQ5ABalEupr5TdBwP8LSNJ/eVK9v7i1HQy3sa89dnfb1QdpmDzTHbkq2MgDpvDGXDP8+QlYHQDkcWlYkR1KBnQOxWpBLTEozKSOK7mfeodf X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:34:52.4920 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: af43c3b6-f016-4eff-3b54-08df0dadf67d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4421 Received-SPF: permerror client-ip=2a01:111:f403:c005::5; envelope-from=Michael.Roth@amd.com; helo=CO1PR03CU002.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874535525158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu So that there will be a verbal string returned when kvm not enabled, or kvm not compiled. Signed-off-by: Peter Xu Reviewed-by: Xiaoyao Li Reviewed-by: Fabiano Rosas Reviewed-by: Michael Roth Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- accel/kvm/kvm-all.c | 12 ++++++++++++ accel/stubs/kvm-stub.c | 1 + 2 files changed, 13 insertions(+) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 120cab1e22..a851b8f628 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -4758,6 +4758,18 @@ int kvm_create_guest_memfd(uint64_t size, uint64_t f= lags, Error **errp) .flags =3D flags, }; =20 + /* + * kvm_create_guest_memfd() can be invoked from generic hostmem code + * where KVM might be compiled but not necessarily enabled. Because + * of this, check for KVM support explictly before continuing with + * any KVM-specific checks. + * + */ + if (!kvm_enabled()) { + error_setg(errp, "guest-memfd requires KVM accelerator"); + return -1; + } + if (!kvm_guest_memfd_supported) { error_setg(errp, "KVM does not support guest_memfd"); return -1; diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index 3d34e3b99d..acbd0785e0 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -141,6 +141,7 @@ bool kvm_hwpoisoned_mem(void) =20 int kvm_create_guest_memfd(uint64_t size, uint64_t flags, Error **errp) { + error_setg(errp, "KVM is not enabled"); return -ENOSYS; } =20 --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874594; cv=pass; d=zohomail.com; s=zohoarc; b=eitti54QRdOqposQ4JLxpPL6AEYZ5AoBjTtNXwxobzU6wuJzkQBrKrAWk3a4p9CjSMZ8ezXFJ4AP9dviE5tr/+8BJpNxxJP3GueI8+Wv0bVb1lYSKFFWyVMhn/L9aFpelDbsCKWgzYiLXml9XhBHq4jnZn848HCg2GiNSFXmWHs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874594; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZOH6FG1inEF95EbCicIU5bLbmk5LHYfnVUfKRVcHmfc=; b=HBYgtoa4nbMxqQ+0l1kFKTk4uZc2CbnkdnMKgyW7RIc+Fgh0vbNz6Tr0KGItkE/4A1wpsPXgkrfAV+O6GNiP7CETavi7atZfI/2CpF/JYaUFTkiIaogF/XprHCK54U8OeqT+rcg4WhjUi7XSZbU2JmRv80raxHCEYUu1DGktQzA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874594454999.7888044537707; Tue, 8 Sep 2026 06:36:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vzH-0004fu-3h; Tue, 08 Sep 2026 09:35:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vzF-0004dA-Gi for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:35:45 -0400 Received: from mail-southcentralusazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c10d::3] helo=SN4PR0501CU005.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vys-0006F3-K0 for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:35:45 -0400 Received: from CH2PR16CA0023.namprd16.prod.outlook.com (2603:10b6:610:50::33) by DSSPR12MB999214.namprd12.prod.outlook.com (2603:10b6:8:378::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Tue, 8 Sep 2026 13:35:18 +0000 Received: from BL02EPF00029929.namprd02.prod.outlook.com (2603:10b6:610:50:cafe::9) by CH2PR16CA0023.outlook.office365.com (2603:10b6:610:50::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.6 via Frontend Transport; Tue, 8 Sep 2026 13:35:18 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF00029929.mail.protection.outlook.com (10.167.249.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:35:18 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:35:12 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=E6TY7B8PTvRfKgsPLMxZCtEEhaewGcq0puSNRfWx5YxrG5pBN9iP0rA7l/q+zw3ngdx54eE7JnrJbJSCaC4vb9F6VgmNufHTFjEZ5o8U4xZ9Rmiy0E58iIj2V7QEP/wBSrPIgmAPdEMwXCT8ghObavZJ/q2dE/ByLzMbgX87znevdAeplSdefhjwgquaI1y10CTnRRK3ow11FAh5WcR5ALLtyK/FJPdejm2wK4+L1FD974fzXCu99pwWT2BLKWvhSw6gT4NmafXJBME0gE5+y/HDw69hnt4j3b0aqB1D137e4C/UbZe9yEETBDJcwykDnRKq2Iy3FBlALqrxpT/H3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZOH6FG1inEF95EbCicIU5bLbmk5LHYfnVUfKRVcHmfc=; b=rVer8BB2W2eLb940D6e51pfA1xnnVanSvO9taWvhSSebXEjawL16xohCnxz/sRUxa+Wy2mv6zmSVGlefPWKTXlKjeVNMHq9SeBN0yZe9d1SlnPI+vUuYTalzB0fNhsRlo9IVq49FJWUfHOIUSs2CCM3EDUArkVlFh7Eq36pNQTj4tSDnvyELVaCksVkwxFYI8B29fRcV8xln8OI35vxt/dbf4Cdqw54gTXPl9/5BFU+bc8SRD6MUGlp+2PryOZ4KDa/w75uQfSMWqdKlim6nTICoL1UUnFbRXBYf1EAy+ZnN4DUFSTUYXwpFmMPWsJ/RcgXcKPPdJOQlLw7HcFlxyQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOH6FG1inEF95EbCicIU5bLbmk5LHYfnVUfKRVcHmfc=; b=Oblt36zLH9Wly07tJsSFWBgscHo2ECz5e17YW0O25bk5cMSKSfeSMpU/Kj82ER38gYs2QL+50m+lUHrine5mwnsOSZnLYHCrOm5zurg/qHX2ik3+r5M+8w9dRoiBgqQ3JLgslFF+WSaOqPfqKu91g4l+IZtkLI7cElxkZRz/zFk= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 04/12] ramblock: Rename guest_memfd to guest_memfd_private Date: Tue, 8 Sep 2026 08:30:54 -0500 Message-ID: <20260908133151.836685-5-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00029929:EE_|DSSPR12MB999214:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ddfc4d0-c127-4e1b-e8b8-08df0dae05ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|376014|82310400026|1800799024|36860700016|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: mr90pHjTm1tb9ZNPGVEE7jJdYlYybGk8aoQNyotTxDJFtpHy2DVjudkc3hQ8EkKN5Ln13FWOGPBGOAxMTPbVbmIq8DvJ4CMM4ipW4OIHyNhPxh0InTPpI6hjMeVP4v5eX+QxCpKXTB/zoiU3zRsD6FVBdJPYL0Uw8G00CEUq/4MY5yRyhdfbF1cx6sGK07HZqIwLGZ9r7HvKjGFWkuVbPm7ZJzXI5VKWvtD9TCcGdK2oYwcZ4k56OEqp2f3sDU2Z+3VSksPtUELKoiaB5lAWpOzOxJgk4t7coE79UhHrY3lUpunxCK1XNCsF5c/w73Pe6SMGMPHxNTI393tuF356inyOwWY6WCNCUv0uk/LVBCvdNOv+C7VSIYn02o59O7cSoHwVGNKa2ZJwFXKzDDD10K3lpAq1mu9tNMI4P0DQllSosBCUXqYWad9CYMpvh7kdqm0lbFXAm4aJXEXpNUuhEMY/msAJfjrw5LHznx7CK17FaPkIEULoFHps1qcRfIyX1VB1/NjH90GdB9SFuCjkvY5h09RISC8l6Vuk6ZhlpeuVoq9eYVGAanY8WZtdJ6C/f9mREfqNI8L8o1hKRlUpUs3K8uWJH8ZrbaIEKsPLlpXzjlotg8Glsf+H074qJd/+7dFnjSNh7HinEEodo48pz9BaL5wPbq19XTg5xV6KZDhGVOcH6yGeRYGNt9OurUGs3ZSkxXytCPHZvMlo95eAKQ== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(23010399003)(376014)(82310400026)(1800799024)(36860700016)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mmG56f6srH0rlbyDPAJP+MypsUazAp0HGi+n7Ub9T0zMIvpsIQuhT7kd9atJ23Zsj153mRrTYQy6c385DfMUTjViuUWbv3cwCJ1YIsXp32++KFRiexVnfuTGy+GvOxRMVPia31SG6UCFJA5q60KnXS8dl2av75VxwzBgYAFtfoY666+zAq9v/9R7UkbdxBxy8eW06x1y5w9mFao+PUuLYy/9V1dyLwf4LEG/f2NDexAK9eHdxWuGv6UCdbw5Vr34UtJAOLSq+JhIBghYCtEtjqGO6GYufk2HzQxLfhPtxgGLywD/XV5mRw+Z8maoyBhe1hqissAAUYHhMjIU/nquWKhty0PNhEcIwhV96i922Tgqn4fguVNHwN5HRd8tth1Kkd9NuyCPVTQ7TrNSGO87R/H/nBf9YVzcLviOax3qDtiLcMosRTuv0O//3C0otiuv X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:35:18.4476 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5ddfc4d0-c127-4e1b-e8b8-08df0dae05ee X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00029929.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSSPR12MB999214 Received-SPF: permerror client-ip=2a01:111:f403:c10d::3; envelope-from=Michael.Roth@amd.com; helo=SN4PR0501CU005.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874596054158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Rename the field to reflect the fact that the guest_memfd in this case only backs private portion of the ramblock rather than all of it. Reviewed-by: Xiaoyao Li Signed-off-by: Peter Xu Reviewed-by: Michael Roth Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- accel/kvm/kvm-all.c | 2 +- include/system/memory.h | 7 ++++--- include/system/ramblock.h | 7 ++++++- system/memory.c | 2 +- system/physmem.c | 33 +++++++++++++++++---------------- 5 files changed, 29 insertions(+), 22 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index a851b8f628..6f3f619b8c 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -1729,7 +1729,7 @@ static void kvm_set_phys_mem(KVMMemoryListener *kml, mem->ram_start_offset =3D ram_start_offset; mem->ram =3D ram; mem->flags =3D kvm_mem_flags(mr); - mem->guest_memfd =3D mr->ram_block->guest_memfd; + mem->guest_memfd =3D mr->ram_block->guest_memfd_private; mem->guest_memfd_offset =3D mem->guest_memfd >=3D 0 ? (uint8_t*)ram - mr->ram_block->host : 0; =20 diff --git a/include/system/memory.h b/include/system/memory.h index a7e03fc3e7..aef555af80 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -1507,10 +1507,11 @@ bool memory_region_skip_iommu_map(const MemoryRegio= n *mr); void memory_region_set_skip_iommu_map(MemoryRegion *mr, bool skip); =20 /** - * memory_region_has_guest_memfd: check whether a memory region has guest_= memfd - * associated + * memory_region_has_guest_memfd: check whether a memory region has + * guest_memfd_private associated * - * Returns %true if a memory region's ram_block has valid guest_memfd assi= gned. + * Returns %true if a memory region's ram_block has valid guest_memfd_priv= ate + * assigned. * * @mr: the memory region being queried */ diff --git a/include/system/ramblock.h b/include/system/ramblock.h index 84624aca2c..0388d6cc6b 100644 --- a/include/system/ramblock.h +++ b/include/system/ramblock.h @@ -40,7 +40,12 @@ struct RAMBlock { Error *cpr_blocker; int fd; uint64_t fd_offset; - int guest_memfd; + /* + * When RAM_GUEST_MEMFD_PRIVATE flag is set, this ramblock can have + * private pages backed by guest_memfd_private specified, while shared + * pages are backed by the ramblock on its own. + */ + int guest_memfd_private; RamBlockAttributes *attributes; size_t page_size; /* dirty bitmap used during migration */ diff --git a/system/memory.c b/system/memory.c index 9760721e45..bd9e22ab7e 100644 --- a/system/memory.c +++ b/system/memory.c @@ -1805,7 +1805,7 @@ void memory_region_set_skip_iommu_map(MemoryRegion *m= r, bool skip) =20 bool memory_region_has_guest_memfd(const MemoryRegion *mr) { - return mr->ram_block && mr->ram_block->guest_memfd >=3D 0; + return mr->ram_block && mr->ram_block->guest_memfd_private >=3D 0; } =20 uint8_t memory_region_get_dirty_log_mask(const MemoryRegion *mr) diff --git a/system/physmem.c b/system/physmem.c index b665cd3c33..305a3febca 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2198,7 +2198,7 @@ static void ram_block_add(RAMBlock *new_block, Error = **errp) goto out_free; } =20 - assert(new_block->guest_memfd < 0); + assert(new_block->guest_memfd_private < 0); =20 ret =3D ram_block_coordinated_discard_require(true); if (ret < 0) { @@ -2208,9 +2208,9 @@ static void ram_block_add(RAMBlock *new_block, Error = **errp) goto out_free; } =20 - new_block->guest_memfd =3D kvm_create_guest_memfd(new_block->max_l= ength, - 0, errp); - if (new_block->guest_memfd < 0) { + new_block->guest_memfd_private =3D + kvm_create_guest_memfd(new_block->max_length, 0, errp); + if (new_block->guest_memfd_private < 0) { qemu_mutex_unlock_ramlist(); goto out_free; } @@ -2227,7 +2227,7 @@ static void ram_block_add(RAMBlock *new_block, Error = **errp) new_block->attributes =3D ram_block_attributes_create(new_block); if (!new_block->attributes) { error_setg(errp, "Failed to create ram block attribute"); - close(new_block->guest_memfd); + close(new_block->guest_memfd_private); ram_block_coordinated_discard_require(false); qemu_mutex_unlock_ramlist(); goto out_free; @@ -2363,7 +2363,7 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, ram= _addr_t max_size, new_block->max_length =3D max_size; new_block->resized =3D resized; new_block->flags =3D ram_flags; - new_block->guest_memfd =3D -1; + new_block->guest_memfd_private =3D -1; new_block->host =3D file_ram_alloc(new_block, max_size, fd, file_size < offset + max_size, offset, errp); @@ -2536,7 +2536,7 @@ RAMBlock *qemu_ram_alloc_internal(ram_addr_t size, ra= m_addr_t max_size, new_block->used_length =3D size; new_block->max_length =3D max_size; new_block->fd =3D -1; - new_block->guest_memfd =3D -1; + new_block->guest_memfd_private =3D -1; new_block->page_size =3D qemu_real_host_page_size(); new_block->host =3D host; new_block->flags =3D ram_flags; @@ -2587,8 +2587,8 @@ static void reclaim_ramblock(RAMBlock *block) qemu_anon_ram_free(block->host, block->max_length); } =20 - if (block->guest_memfd >=3D 0) { - close(block->guest_memfd); + if (block->guest_memfd_private >=3D 0) { + close(block->guest_memfd_private); ram_block_coordinated_discard_require(false); } =20 @@ -2836,12 +2836,12 @@ int ram_block_rebind(Error **errp) =20 RAMBLOCK_FOREACH(block) { if (block->flags & RAM_GUEST_MEMFD) { - if (block->guest_memfd >=3D 0) { - close(block->guest_memfd); + if (block->guest_memfd_private >=3D 0) { + close(block->guest_memfd_private); } - block->guest_memfd =3D kvm_create_guest_memfd(block->max_lengt= h, - 0, errp); - if (block->guest_memfd < 0) { + block->guest_memfd_private =3D kvm_create_guest_memfd( + block->max_length, 0, errp); + if (block->guest_memfd_private < 0) { qemu_mutex_unlock_ramlist(); return -1; } @@ -4269,7 +4269,7 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t of= fset, size_t length) return ret; } =20 - if (rb->guest_memfd >=3D 0) { + if (rb->guest_memfd_private >=3D 0) { ret =3D ram_block_discard_guest_memfd_range(rb, offset, length); } =20 @@ -4283,7 +4283,8 @@ int ram_block_discard_guest_memfd_range(RAMBlock *rb,= uint64_t offset, =20 #ifdef CONFIG_FALLOCATE_PUNCH_HOLE /* ignore fd_offset with guest_memfd */ - ret =3D fallocate(rb->guest_memfd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KE= EP_SIZE, + ret =3D fallocate(rb->guest_memfd_private, + FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, offset, length); =20 if (ret) { --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874583; cv=pass; d=zohomail.com; s=zohoarc; b=OMNaDgzxErr7+lERtZnJjBl+KQ/JCo/49qKyK4q+NILvbY1i0JDemh9L08sf+090GN9f3dMpp92V4FLLYPCg0c+fusXO+sFPW0OKmgaEKqfVuoCoAVfpWIEQHpWwxR507w04xMamGmMdDriyY4dar1wYxvXdliZE6iOor1VfDrM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874583; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wI1C/cMiyoMzLhrfhjMVmiB5Al0dSSDHI3H7WMhrxsk=; b=KOY38Rd+JKsECO5L257nTBLSno6R12wFao0/UwI4wvQMXCgP5EzMeUQFI/nMgRM5sl+JBv+3dIqd/NqKOGI7Npu6qhYK4YTlxrqEeB16UhhO30CbKha3LGTAx0j6iCyLiHDGegbV9gXaKbM7eQ5wfoLL5KTzEewyU1nSi/Sv0PQ= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874583215297.8968562187804; Tue, 8 Sep 2026 06:36:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vzS-0004td-6O; Tue, 08 Sep 2026 09:35:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vzP-0004oU-U9 for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:35:56 -0400 Received: from mail-westusazlp170120002.outbound.protection.outlook.com ([2a01:111:f403:c001::2] helo=SJ2PR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vzE-0006OL-SZ for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:35:55 -0400 Received: from CH2PR15CA0005.namprd15.prod.outlook.com (2603:10b6:610:51::15) by PH7PR12MB7890.namprd12.prod.outlook.com (2603:10b6:510:268::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.13; Tue, 8 Sep 2026 13:35:36 +0000 Received: from BL02EPF0002992E.namprd02.prod.outlook.com (2603:10b6:610:51:cafe::3b) by CH2PR15CA0005.outlook.office365.com (2603:10b6:610:51::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Tue, 8 Sep 2026 13:35:34 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0002992E.mail.protection.outlook.com (10.167.249.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:35:34 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:35:33 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EdwFsAJmjFyw0DL0RjVXnw8Pb+O5lRmuqfNuCwYEoZJnneKaTE1Ju0rFIgNbXIlpymdlAMSDTv/YjpA4cSulBh62ws1BQSzwfruQ8xCqsFcuD3BpEVUdAodLsVza4PrtPs+aER84/Sgq8gzjfVlqd1Axi3aiqgLHH92bZagyObIK4uIOOMmWdZOBd4GKQn39p0vQnJucO6U0ZkMQfOZ6xwB9dzd2UZ3MY1VQJ4EsjOv+Yg6g6URzDULw9D32kY5m+Jrh1nBbm6rewuDAvrjtqj/KItlQpeiKw2wmg8UhFeRlWaTXRuoSMVL/SoPN9vJhy6gXxaiEJEKJyMdeDd3w9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wI1C/cMiyoMzLhrfhjMVmiB5Al0dSSDHI3H7WMhrxsk=; b=zWDfb9IDFB0f7AXBWjm5yEZWwj95QPi/uvGvNbFNeTe6kb1KjGfP9d2wvUuqjeXgrvTeaVYzu3vGONiGcRPreveQVceCvWbNdDDV5rxXqGwngvtn1bA1/FEEtvH/KE1dJM42MHWuaHN0NpoK+Bkc0zHjL9Ts6GZD8+vGjbkp9bTyF+QGzJhRUHBmNcJj62kk6lQIVXPVgF/oAKJbTwd52Rcx/rpas1GJ9Rh7qg7/EjRzAf1iGfjK8DZZW+p1WAeb6JqwzneZOlH5q0KYl+5THdFW6fhQrzgU3/SAtrJDXx/+suhZIgh7zYSqxFHZYBeexA/dwle70PRtgW4AP16oDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wI1C/cMiyoMzLhrfhjMVmiB5Al0dSSDHI3H7WMhrxsk=; b=I23MgDAoWcH2ySttgFJ76UdCBP95zAkqVAjrcnDIbDsd8Ys2WOdxtYoypGBWbFQEBroplvqfmKpMv4PruwqGYtVwsYHK1fubIvSAsSDbC9Stxv7xgICr716nFZMi4K282bIGhRte+gW15OUPGdJc4YtmQNw6q/dOtgHkuS37tKA= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 05/12] memory: Rename RAM_GUEST_MEMFD to RAM_GUEST_MEMFD_PRIVATE Date: Tue, 8 Sep 2026 08:30:55 -0500 Message-ID: <20260908133151.836685-6-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0002992E:EE_|PH7PR12MB7890:EE_ X-MS-Office365-Filtering-Correlation-Id: ca009aab-1c5f-4ecf-9e79-08df0dae0f36 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|36860700016|1800799024|82310400026|376014|6133799003|10067099003|18002099003|22082099003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: kv+gYqAtafwhxcLxucKcIVit0em9TiLQgiwZT3XBYTteEiBnFOv//bJvUfX2JeHjeeRhGFR1T5Ucxzc41NfwZjkcweUR6IYIiiM7IzSdN4luQzQxCoOri3i+9v1YOPWLanCW1V6esbhVixkcrcfOZxkVPtAFHVX/ShpK/ZeEBKRKCnB9ro4qHSvk8rBirZJpTJXjTNP4XQInjvNhndF9SPmEafckxKdlukE43sr2h4ObRKAwCPndjXn0bXHoFyZ8IPRjhKc4zsR77woNHI2Vhiq2AhdoIlEk6Ma41GsYucxUFihdnh5F+PUlIyLueOmwFehHucVPHqN0X1Gx7Zdn9O2b+iXgifEDw0cZ3iEuUWB3PyV4Biqi3NM/dNG4Bh5X+glhkIKzF1WAVm4YP4chMkawvu1Op3NCM6a0O9T/qSvV7Mw4XW9EVrNtRh+cDQBgVJ9KUtxG0AFQo8gs5fGFsBAwHir1hhTKGvUVEIR3uJs/ufBBh672FYD13ZgT/diDfQLgql9VtY1Juj+carjcfEvpmzx/UUvE58N3glTsMg7pz0Qdw8NA70c1rz2Uo7s45TCAs6sF8pKMoIRMf+HGgNAinKg5+q85SfWp394+1wWchHZZ71EJEyO3ybLeT8uxpMWTPj8myzQZE488/k+PNOURDaWlUfedM570iETEl7K10kmx1uWQvu9klo/tE/9oPWyuay9VqxfhPGZJElo8OA== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(23010399003)(36860700016)(1800799024)(82310400026)(376014)(6133799003)(10067099003)(18002099003)(22082099003)(11063799006)(56012099006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9Zvw2uouVrYh2UuA6nVV1ElOZq49nwoji9KdBBJokrR5EkirB6GW1oQXHG4sF4Tt9G2ASXfRrRVJ6LKKSxTCc+s7CPI5LJN9yoX8SsMci/mmVO3IV7FGwdo3yFYvwXdMuh8/sXuUoHQ5vMai5UmnYaYcEZ6KoLzcx+mlFKg37L963HkbUaxEILyKzWGsFmnPVRZovorFEmt+qwTlCE11ZcQVGaRZWzJI2qWQ17uIZCJeyTHS8OiLMuY2QOQ9JNcLoOleCXgX3vgpFMsbfXF1+4BtBDNf0wnuBJnMCq2J7itFhl7lf6L1I4Z5dDSBluM2mYvMgDXIwHL6KN14qJpCK2z048oUoSnY2HclY37MOLC8N8fxMgZL3MYTKesrMM2Y17ydGhgq9fNMkGfGRS4tzPr33GONmrPI6l9TSoX3px2UT7bX/4fuZ5NiXoyw57QW X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:35:34.0165 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ca009aab-1c5f-4ecf-9e79-08df0dae0f36 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0002992E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7890 Received-SPF: permerror client-ip=2a01:111:f403:c001::2; envelope-from=Michael.Roth@amd.com; helo=SJ2PR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874586383158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu This name is too generic, and can conflict with support for using guest-memfd for shared memory. Add a _PRIVATE suffix to show what it really means: it is using guest_memfd specifically for private memory; whether or not guest_memfd is being used for shared memory is something to be configured/determined separately. This also paves way for in-place guest-memfd, which means we can have a ramblock that allocates pages completely from guest-memfd (private or shared). Reviewed-by: Xiaoyao Li Signed-off-by: Peter Xu Reviewed-by: Michael Roth Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- backends/hostmem-file.c | 2 +- backends/hostmem-memfd.c | 2 +- backends/hostmem-ram.c | 2 +- backends/hostmem-shm.c | 2 +- include/system/memory.h | 8 ++++---- include/system/ramblock.h | 2 +- system/memory.c | 2 +- system/physmem.c | 10 +++++----- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 8e3219c061..1f20cd8fd6 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -86,7 +86,7 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Err= or **errp) ram_flags |=3D fb->readonly ? RAM_READONLY_FD : 0; ram_flags |=3D fb->rom =3D=3D ON_OFF_AUTO_ON ? RAM_READONLY : 0; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD : 0; + ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; ram_flags |=3D fb->is_pmem ? RAM_PMEM : 0; ram_flags |=3D RAM_NAMED_FILE; return memory_region_init_ram_from_file(&backend->mr, OBJECT(backend),= name, diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 923239f9cf..3f3e485709 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -60,7 +60,7 @@ have_fd: backend->aligned =3D true; ram_flags =3D backend->share ? RAM_SHARED : RAM_PRIVATE; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD : 0; + ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; return memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend), n= ame, backend->size, ram_flags, fd, 0,= errp); } diff --git a/backends/hostmem-ram.c b/backends/hostmem-ram.c index 062b1abb11..96ad29112d 100644 --- a/backends/hostmem-ram.c +++ b/backends/hostmem-ram.c @@ -30,7 +30,7 @@ ram_backend_memory_alloc(HostMemoryBackend *backend, Erro= r **errp) name =3D host_memory_backend_get_name(backend); ram_flags =3D backend->share ? RAM_SHARED : RAM_PRIVATE; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD : 0; + ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; return memory_region_init_ram_flags_nomigrate(&backend->mr, OBJECT(bac= kend), name, backend->size, ram_flags, errp); diff --git a/backends/hostmem-shm.c b/backends/hostmem-shm.c index 806e2670e0..e86fb2e0aa 100644 --- a/backends/hostmem-shm.c +++ b/backends/hostmem-shm.c @@ -54,7 +54,7 @@ have_fd: /* Let's do the same as memory-backend-ram,share=3Don would do. */ ram_flags =3D RAM_SHARED; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD : 0; + ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; =20 return memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend), backend_name, backend->size, diff --git a/include/system/memory.h b/include/system/memory.h index aef555af80..932072c631 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -262,7 +262,7 @@ typedef struct IOMMUTLBEvent { #define RAM_READONLY_FD (1 << 11) =20 /* RAM can be private that has kvm guest memfd backend */ -#define RAM_GUEST_MEMFD (1 << 12) +#define RAM_GUEST_MEMFD_PRIVATE (1 << 12) =20 /* * In RAMBlock creation functions, if MAP_SHARED is 0 in the flags paramet= er, @@ -1119,7 +1119,7 @@ void memory_region_init_io(MemoryRegion *mr, * must be unique within any device * @size: size of the region. * @ram_flags: RamBlock flags. Supported flags: RAM_SHARED, RAM_NORESERVE, - * RAM_GUEST_MEMFD. + * RAM_GUEST_MEMFD_PRIVATE. * @errp: pointer to Error*, to store an error if it happens. * * Note that this function does not do anything to cause the data in the @@ -1181,7 +1181,7 @@ bool memory_region_init_resizeable_ram(MemoryRegion *= mr, * (getpagesize()) will be used. * @ram_flags: RamBlock flags. Supported flags: RAM_SHARED, RAM_PMEM, * RAM_NORESERVE, RAM_PROTECTED, RAM_NAMED_FILE, RAM_READONLY, - * RAM_READONLY_FD, RAM_GUEST_MEMFD + * RAM_READONLY_FD, RAM_GUEST_MEMFD_PRIVATE * @path: the path in which to allocate the RAM. * @offset: offset within the file referenced by path * @errp: pointer to Error*, to store an error if it happens. @@ -1212,7 +1212,7 @@ bool memory_region_init_ram_from_file(MemoryRegion *m= r, * @size: size of the region. * @ram_flags: RamBlock flags. Supported flags: RAM_SHARED, RAM_PMEM, * RAM_NORESERVE, RAM_PROTECTED, RAM_NAMED_FILE, RAM_READONLY, - * RAM_READONLY_FD, RAM_GUEST_MEMFD + * RAM_READONLY_FD, RAM_GUEST_MEMFD_PRIVATE * @fd: the fd to mmap. * @offset: offset within the file referenced by fd * @errp: pointer to Error*, to store an error if it happens. diff --git a/include/system/ramblock.h b/include/system/ramblock.h index 0388d6cc6b..1352ec1603 100644 --- a/include/system/ramblock.h +++ b/include/system/ramblock.h @@ -257,7 +257,7 @@ static inline unsigned long int ramblock_recv_bitmap_of= fset(void *host_addr, * @resized: callback after calls to qemu_ram_resize * @ram_flags: RamBlock flags. Supported flags: RAM_SHARED, RAM_PMEM, * RAM_NORESERVE, RAM_PROTECTED, RAM_NAMED_FILE, RAM_READONLY, - * RAM_READONLY_FD, RAM_GUEST_MEMFD + * RAM_READONLY_FD, RAM_GUEST_MEMFD_PRIVATE * @mem_path or @fd: specify the backing file or device * @offset: Offset into target file * @grow: extend file if necessary (but an empty file is always extended). diff --git a/system/memory.c b/system/memory.c index bd9e22ab7e..e2f0bd6928 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3622,7 +3622,7 @@ bool memory_region_init_ram_guest_memfd(MemoryRegion = *mr, Object *owner, Error **errp) { if (!memory_region_init_ram_flags_nomigrate(mr, owner, name, size, - RAM_GUEST_MEMFD, errp)) { + RAM_GUEST_MEMFD_PRIVATE, e= rrp)) { return false; } memory_region_register_ram(mr, owner); diff --git a/system/physmem.c b/system/physmem.c index 305a3febca..f6dff18bbb 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2182,7 +2182,7 @@ static void ram_block_add(RAMBlock *new_block, Error = **errp) } } =20 - if (new_block->flags & RAM_GUEST_MEMFD) { + if (new_block->flags & RAM_GUEST_MEMFD_PRIVATE) { int ret; =20 if (!kvm_enabled()) { @@ -2319,7 +2319,7 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, ram= _addr_t max_size, /* Just support these ram flags by now. */ assert((ram_flags & ~(RAM_SHARED | RAM_PMEM | RAM_NORESERVE | RAM_PROTECTED | RAM_NAMED_FILE | RAM_READONLY | - RAM_READONLY_FD | RAM_GUEST_MEMFD | + RAM_READONLY_FD | RAM_GUEST_MEMFD_PRIVATE | RAM_RESIZEABLE)) =3D=3D 0); assert(max_size >=3D size); =20 @@ -2476,7 +2476,7 @@ RAMBlock *qemu_ram_alloc_internal(ram_addr_t size, ra= m_addr_t max_size, ram_flags &=3D ~RAM_PRIVATE; =20 assert((ram_flags & ~(RAM_SHARED | RAM_RESIZEABLE | RAM_PREALLOC | - RAM_NORESERVE | RAM_GUEST_MEMFD)) =3D=3D 0); + RAM_NORESERVE | RAM_GUEST_MEMFD_PRIVATE)) =3D=3D= 0); assert(!host ^ (ram_flags & RAM_PREALLOC)); assert(max_size >=3D size); =20 @@ -2559,7 +2559,7 @@ RAMBlock *qemu_ram_alloc_from_ptr(ram_addr_t size, vo= id *host, RAMBlock *qemu_ram_alloc(ram_addr_t size, uint32_t ram_flags, MemoryRegion *mr, Error **errp) { - assert((ram_flags & ~(RAM_SHARED | RAM_NORESERVE | RAM_GUEST_MEMFD | + assert((ram_flags & ~(RAM_SHARED | RAM_NORESERVE | RAM_GUEST_MEMFD_PRI= VATE | RAM_PRIVATE)) =3D=3D 0); return qemu_ram_alloc_internal(size, size, NULL, NULL, ram_flags, mr, = errp); } @@ -2835,7 +2835,7 @@ int ram_block_rebind(Error **errp) qemu_mutex_lock_ramlist(); =20 RAMBLOCK_FOREACH(block) { - if (block->flags & RAM_GUEST_MEMFD) { + if (block->flags & RAM_GUEST_MEMFD_PRIVATE) { if (block->guest_memfd_private >=3D 0) { close(block->guest_memfd_private); } --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874587; cv=pass; d=zohomail.com; s=zohoarc; b=If5tEBci5EKT+D8XDIK37buEHJaJBYyWR6Bd4HCEuUaD/4abLxwGJrPsnEqv1WmFEu8nwzWtop82WUEaxPe1YwgVWgMoIRPXMLV3JUkej6uecyJSfkyzGS+OdJ3+ymv97W9+7vX8uPiGuK4iPyBMr8NTFsTrKEZcOqzID6yjmm4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874587; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cT2sb30k8nndeAiDaPM3+URxGm/8cRpvIUaM5Cz6IWo=; b=VKPwOcO3wy6UaOMB3abXYLJGca9sgBK91wUTLutaf1OUd4LeOtKvgI9l6RA2AvIKR4HAVqrVGGUrQawj0gSUb1kamiFpylqVUvBe2itC6RLycW0UScremRvMuEfw4GdVzJgvAEqh96Qqe6JO8NYojuwzzwhiFlYeUAyfhr81utY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874587138931.2195010727985; Tue, 8 Sep 2026 06:36:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vzj-0005ke-Gh; Tue, 08 Sep 2026 09:36:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vzh-0005el-KF for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:36:13 -0400 Received: from mail-northcentralusazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c105::5] helo=CH5PR02CU005.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vzb-0006bp-BF for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:36:13 -0400 Received: from CH2PR15CA0007.namprd15.prod.outlook.com (2603:10b6:610:51::17) by CH8PR12MB999204.namprd12.prod.outlook.com (2603:10b6:610:35a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.10; Tue, 8 Sep 2026 13:35:58 +0000 Received: from BL02EPF0002992E.namprd02.prod.outlook.com (2603:10b6:610:51:cafe::5c) by CH2PR15CA0007.outlook.office365.com (2603:10b6:610:51::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Tue, 8 Sep 2026 13:35:58 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0002992E.mail.protection.outlook.com (10.167.249.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:35:58 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:35:54 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BST/LfFSZwVyLKRQshU0IbuLt+6dUZzHnPCZ1jyhB4q0U8aJX1/BCFz3YIQm9Lx5ROTCk6JoPvp0d0PBhuwVtkRkf5nUWPV3n+I2srp8JdSEDnHh9Z6AO8pNQftyMncVTz98RrMflVSrefQRHcpP0wbO6LcjmjTkLamFCXVlILtlL507Fs6Da8iynWBOK3pl7WKhxfs3RcR5SND4DiunDQL+wOYYyAMpWreCrqLWwQ2lRd6kTA/2/INE8AY7JGDHinu7H0as7P3Z1BlucQKlB5XaJQ2omR5YXwsUMp87Ya5BgVeA7vtMYfhC3nDTYn78/dYKfJ1Cuwq2q8h340yO6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cT2sb30k8nndeAiDaPM3+URxGm/8cRpvIUaM5Cz6IWo=; b=Mngu/RCRWBRVTLtrAUqi7/XeLgapxI3SvoaieHQk5d5arcRWJ4ayn0GuXU5w18i4AQyCsClx5UzIsGB9uZ76DHZcSt2eMBuLCLfVoWjCojckZYhBJk1uI9NJVVPMNVUkGMB5YcFQGftkfPGaNisuzybOQaU/tL4vAiTtohhg4pNZERAIuLMTABmfCvq/H3CNLmzjLkEqQG4HLiE3WRA+vN22bpJ8iSS2rS7YYAg3fuHvoob8ta++t+9J4fGA6m91zvGVHsHYVlCVTa9vVUc2vCJLidthGJnF99kp579ZBD/M20WfbWHaDCXqNY/1u6sTVV1cvXQvZgZ9w1Dc30vEQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cT2sb30k8nndeAiDaPM3+URxGm/8cRpvIUaM5Cz6IWo=; b=ESPaJK/yoh+NG/0ib9GyXgUkE+BRz3ZEAqzI0slbiN4RE4jMhV4w2ztTCV+4Z64i7GyxQTgGWtTf/w1vv9tbrYGroG6KdLlaKvn8sMQ7qF+lS9tS2uArWnXCRKly8yY22lmkj9C5oc1TB52/ghqqQb8ndDmXYaBe7JeWEsu9fFw= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 06/12] memory: Rename memory_region_has_guest_memfd() to *_private() Date: Tue, 8 Sep 2026 08:30:56 -0500 Message-ID: <20260908133151.836685-7-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0002992E:EE_|CH8PR12MB999204:EE_ X-MS-Office365-Filtering-Correlation-Id: 036d5060-3a5e-434c-834c-08df0dae1def X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|36860700016|376014|23010399003|10067099003|56012099006|11063799006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: f6s/vFDRr7Jiwwt7Ks51G2ZUac31tjoNJmXYgKqV/e4KrCAtkQsC8yxrftQ+4zwTQscEMGixot3FLEFB07eYtZTmqBx35U+Y/lyD9DAgwlXCRV1dWG3+nvoHIm3Wy8V8EU3C/eNNvg4LMft0d5TSru4bk6bw+rg5B21zKPjGHoZ+tsL0+7d01Brkqr33E9UacqIyIl1ajfxvAwlS1BlWFPt8VrYkerYE+xo+wTXLO7R5i8FXwWkUvIMIzT58bwkUfZO3hxGxDMEhk5/9mEoBKpeTO0Y3LqczFm/IYvzHOefVsDW9hBUIFatCoq5c+qSebCCSWiAoT614pHcarcUl0KevlbbVz6InYML02EsSdoZB0Y3nnoC4/nUotvTERXaD7VXca9CkupnytgrphngLfl/jKKdtdskDnYs3A5zrFCWri1mfbyqhVSOKEUXvfw9ysaHTPcBKYLcp4c5SiUkFiJzvk8Pz4Wn/QKUHS6xbAZ7OuYd1l3Mx0HwqA3HlFd81tJG/jwn0b7OxpX1apPlsYHGRtPaTSfMLCIEeDm8g+8xjIyXgMTymba7mHK/BGV9fbctgkG0Q6XvEeltjnWMWHd8T9F+KVFPeNa8yOkRsYaLqw0UKFCpPR8VUUXH6aNsnSfGfBlpUzBD9BDaUiBYhlxxmNoD9vlr9nRmi7PCaFT8cxFOOLg9TJZ+Fv2YWpUXf0my184yeMKCEZfYrM+hZXA== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(23010399003)(10067099003)(56012099006)(11063799006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Oux+kjJtwYVcOP873I6khtUxTq4ATLRyWJnreYKitmT3NBkHF2aTJkeGB9H9Aw61OIcVaLG5Sh63/N5tR3IHiM/LmTmOxKMR9mfu/Np2kz45f3JFCs/tL21qh1BmJ9EbTOu2QIpjg1fGtk1+UFV19YuPDX9dBVPvgVcAdimPTvg8co1jnPSRjQO4Kv94zc1KMPvM9GlnGmRTz+1hUHS04bB6/K61Gfj5wecZ93UbjN+kzlgIUq89teb5VROBrOq3rm0GpuOswsHiFqsZR1VRCEPJoA54IbZbH8Os+eejloUgDQg9vxerNQC8tqXNdZbTkzSJ/sLFmR5p75aqMbH7bcGKBs2GjGarNoywubYKj5i84ZwZMKZtXJDLMOdSpwchAzz7cLD8kCUZQzfy0pjlgbTM1lPrcCg2yLUXd4TqZ0VbTdzcLFgWHw3kPIqOwHN/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:35:58.7163 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 036d5060-3a5e-434c-834c-08df0dae1def X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0002992E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH8PR12MB999204 Received-SPF: permerror client-ip=2a01:111:f403:c105::5; envelope-from=Michael.Roth@amd.com; helo=CH5PR02CU005.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874589815158501 Content-Type: text/plain; charset="utf-8" From: Peter Xu Rename the function with "_private" suffix, to show that it returns true only if it has an internal guest-memfd to back private pages (rather than fully shared guest-memfd). Reviewed-by: Xiaoyao Li Signed-off-by: Peter Xu Reviewed-by: Michael Roth Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- accel/kvm/kvm-all.c | 6 +++--- include/system/memory.h | 4 ++-- system/memory.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 6f3f619b8c..70605a8d10 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -792,7 +792,7 @@ static int kvm_mem_flags(MemoryRegion *mr) if (readonly && kvm_readonly_mem_allowed) { flags |=3D KVM_MEM_READONLY; } - if (memory_region_has_guest_memfd(mr)) { + if (memory_region_has_guest_memfd_private(mr)) { assert(kvm_guest_memfd_supported); flags |=3D KVM_MEM_GUEST_MEMFD; } @@ -1741,7 +1741,7 @@ static void kvm_set_phys_mem(KVMMemoryListener *kml, abort(); } =20 - if (memory_region_has_guest_memfd(mr)) { + if (memory_region_has_guest_memfd_private(mr)) { err =3D kvm_set_memory_attributes_private(start_addr, slot_siz= e); if (err) { error_report("%s: failed to set memory attribute private: = %s", @@ -3372,7 +3372,7 @@ int kvm_convert_memory(hwaddr start, hwaddr size, boo= l to_private) return ret; } =20 - if (!memory_region_has_guest_memfd(mr)) { + if (!memory_region_has_guest_memfd_private(mr)) { /* * Because vMMIO region must be shared, guest TD may convert vMMIO * region to shared explicitly. Don't complain such case. See diff --git a/include/system/memory.h b/include/system/memory.h index 932072c631..96ab920e7d 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -1507,7 +1507,7 @@ bool memory_region_skip_iommu_map(const MemoryRegion = *mr); void memory_region_set_skip_iommu_map(MemoryRegion *mr, bool skip); =20 /** - * memory_region_has_guest_memfd: check whether a memory region has + * memory_region_has_guest_memfd_private: check whether a memory region has * guest_memfd_private associated * * Returns %true if a memory region's ram_block has valid guest_memfd_priv= ate @@ -1515,7 +1515,7 @@ void memory_region_set_skip_iommu_map(MemoryRegion *m= r, bool skip); * * @mr: the memory region being queried */ -bool memory_region_has_guest_memfd(const MemoryRegion *mr); +bool memory_region_has_guest_memfd_private(const MemoryRegion *mr); =20 /** * memory_region_get_iommu: check whether a memory region is an iommu diff --git a/system/memory.c b/system/memory.c index e2f0bd6928..b520cca1a0 100644 --- a/system/memory.c +++ b/system/memory.c @@ -1803,7 +1803,7 @@ void memory_region_set_skip_iommu_map(MemoryRegion *m= r, bool skip) mr->ram_device_skip_iommu_map =3D skip; } =20 -bool memory_region_has_guest_memfd(const MemoryRegion *mr) +bool memory_region_has_guest_memfd_private(const MemoryRegion *mr) { return mr->ram_block && mr->ram_block->guest_memfd_private >=3D 0; } --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874610; cv=pass; d=zohomail.com; s=zohoarc; b=AgPbFPIw+CKZw/QTbXHQok7N13CKHwekGqRvMxl6ZtlsUvmYlwwZUq6KUUwUgrBP0k+B+x9ERIN0d01d1dILbP4ulPbHbpOQ1gbvnQ10yyF+jNqtJNK/U1JViraEVmFhYd7C4rCamp9mt4cXqsZhjUSI4f3C0AcEb8QxA+qzzwo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874610; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Nu87Hx3zUOrMFjP/ynpQZtBZmzleqgnG5yAtLT/HR7k=; b=m+jZO9j0TBW18Q2pXF8jHwvouwItqA8pM9KYx5wTK5800ZCNXy2fjrqOzNdQVjIJ5Z6PpnTbogzyhVOxkfwVvEqWpeDsOHPzXNoQNoK6Sojt4MAwOcYWsIrdGqBLBeESWHaU68EGyvMZGbW+/h+TO780fgGLyXDw5ogaSJLYu3s= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874610697253.72429430592547; Tue, 8 Sep 2026 06:36:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3w09-0006eV-1A; Tue, 08 Sep 2026 09:36:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3w06-0006a5-FZ for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:36:38 -0400 Received: from mail-centralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c111::5] helo=DM1PR04CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vzt-0006md-8y for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:36:36 -0400 Received: from CH2PR14CA0040.namprd14.prod.outlook.com (2603:10b6:610:56::20) by SN7PR12MB7022.namprd12.prod.outlook.com (2603:10b6:806:261::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Tue, 8 Sep 2026 13:36:16 +0000 Received: from BL02EPF0002992A.namprd02.prod.outlook.com (2603:10b6:610:56:cafe::43) by CH2PR14CA0040.outlook.office365.com (2603:10b6:610:56::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Tue, 8 Sep 2026 13:36:15 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0002992A.mail.protection.outlook.com (10.167.249.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:36:15 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:36:14 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ECGTwYmIat1MtYutlaVZQHzSYrb9akAbZUqO6meJcOj45YSvJOBkw3CWswABsM3q+AS7YQ3Wb8ImcQbkF7uXhITYid9gmMU7tGeFt/AzzGoIjBA6HP/iJ2zO0Bl2WN4GwLFU3XRv234RBWzu2O0rHCXVJ0wCILBTtFUV+euN6KicQiINu4CaV75AHVMh5igc6mz5sBLtnultpc1QQI94+Nf22Sr8GSWqOu2JdSj3ja0lsldIeJTX3iUgTRBuFOYyKd/iCe3j8WrEUmQyVOoki6mWhPRrGKspRbH5uqBgHlVrZszVBVDlrhha7OILDfLeV2qPiKDXgqFhNOMgOjlxwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Nu87Hx3zUOrMFjP/ynpQZtBZmzleqgnG5yAtLT/HR7k=; b=d9jUthJTAWSYbP9Ir+jDRUeF4jr3fpQ5K/O0bva8SoQdSrW7Tf8vH0YUErKvnLzTNkGX7OinGzZueE0vR9xcHxOLvj5Hpeq/Vlj52ak57kY3bmDtYn21WUiyF8ARjwZhafxZwjznz9gCmGrNM9uvWHCUOqZv/BRluF+ITaQ2jLiJyN6ZtM0mAgxk93q9iOpk4yxMjdUqKwvpxE8En8UXLqwJeSWB7s05bRdMeqonfCTmr3escT5nRMKpBTzzZ/ofUKGyOlrdy4hoiFVqQMdPB1FU4KPOwlECtVavdDed2C+8MVQ54OtOQHMuCJ9J+C3h+Ny0TkSKnTkvd7al7VTfUg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nu87Hx3zUOrMFjP/ynpQZtBZmzleqgnG5yAtLT/HR7k=; b=pT791DZU3J3SCdlzScFnHkKo3WA2j8qx9jEY4SeNluuJZx7rQdK2Be32zNKcUjVsNz/P40fGfrFhQvwjXUZwszqxrlqM0IaVIdmKtEchhEqa2WrE4qTIcXuvfe7LidzPjqBHkzk1dw3QKNnGAdJlrq+T4IITsP6WHN/G0oJUmVU= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 07/12] hostmem: Rename guest_memfd to guest_memfd_private Date: Tue, 8 Sep 2026 08:30:57 -0500 Message-ID: <20260908133151.836685-8-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0002992A:EE_|SN7PR12MB7022:EE_ X-MS-Office365-Filtering-Correlation-Id: cc6797b9-3343-4c43-3e22-08df0dae27cd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700016|23010399003|82310400026|6133799003|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: +uOSs/SzbNnpgwPj72je3UVso7w6AMLsoZD5canhS09cqL+E3ruVzq/NVCjLGvrZfc1MDW16km/QvaymtPratF1VEf7W+sJmi6kcJrBU7tLjkHRrI78exxDrUwIUuj7YWfAAQ88DNt7xKQix9QchVgY2YUhPEfot1sbfUlltrx1fkkioj94FfinjCSKJGuxgRkxlDd39mvnvhj65W+UOG+xc7qLODa6mphwu23hvJUzsKzPjQtEQy2QUZj6loiPowGW5PqMDgzToM983NkRr5w0z3rcSR8njfpcY5mqeQRQLWUNyL148z1ekEI1lCwqbwSGn5EJiKc1AEJ5SWGSDW6lWzMZ6JXhk/VpWvazW4by78W3ZpoIdUYQt9JiRRQ7tzeOvbPHohQYMOKBFKxwBBGzST0XJXklpPkaCqSKMFcskvNSUafdQlMWDFHnK+ZRSnDHzBNfefjqqnLxfNteA3VxN0rbnsT1PpPE980PJvv0NNo7mYehw2Lx2O/u8ih4UKTPAtyPOwIJjfajqBNuOMWDZyTgjrsvH/x1tB6lMJOaNiEA8y3+uDgJzPnz8jX2/5fpeb/nOYDhE8N1U0C8vaoakXkdzThK5uBdypltsJotynhqsxYiiooVe83LDPnvTxnk05Nde3v4A0PgkvXQJHIVIr2oMIMvpenWLOtFfJPBgSPtRUUxuW01eXqxV0HBuYwZ1lP12ghXPmle4n3Sv6w== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700016)(23010399003)(82310400026)(6133799003)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mcOP64npq4fEhRHW4TLqWZYu0yPZBYJY4uBrXvVQqqPc3c0OSDT1o3Zavvd7eKZapP/oBueH6RvoDpYF+7FEtJnyjFrkqMaAlLRspC/W+p7YaGbMKYeh9UEOf+hMbu+/4Lzm+vWiUzjEL0WNPfHq9Mp0seDO2zexlljpy9150TuvVYSOJCz7XoOGnk/opgsIyKF5RxZPwZNMdB236hmWC4E7J01y/sAnrN/a2vTUYoWDo0Hwl+Vs2F2iacuQbOV+XAP6UxfIqUhBjTIM2OqRdLdacxcYerCMLttRj0LeqIs8bJuKQ0kBLB0esmjPYjoZqP8EYJCmXkgfyGl6cwoF+y97jB/22Ic6V5eoSC2n4wdXK609jeMXziz2HGMlw5YAKlv+9v2wZoo6tbmksEk/R1g3ZARoirbkxQoEeSXEJgcss39oKQ4/6/z3Hrl6fgyt X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:36:15.2695 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc6797b9-3343-4c43-3e22-08df0dae27cd X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0002992A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7022 Received-SPF: permerror client-ip=2a01:111:f403:c111::5; envelope-from=Michael.Roth@amd.com; helo=DM1PR04CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874614174158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Rename the HostMemoryBackend.guest_memfd field to reflect what it really means: whether it needs guest_memfd to back its private guest memory. This will help avoid conflicts when we introduce supported for using guest_memfd for shared guest memory via hostmem. Signed-off-by: Peter Xu Reviewed-by: Xiaoyao Li Reviewed-by: Michael Roth Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- backends/hostmem-file.c | 2 +- backends/hostmem-memfd.c | 2 +- backends/hostmem-ram.c | 2 +- backends/hostmem-shm.c | 2 +- backends/hostmem.c | 2 +- include/system/hostmem.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 1f20cd8fd6..0e4cfd6dc6 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -86,7 +86,7 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Err= or **errp) ram_flags |=3D fb->readonly ? RAM_READONLY_FD : 0; ram_flags |=3D fb->rom =3D=3D ON_OFF_AUTO_ON ? RAM_READONLY : 0; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; + ram_flags |=3D backend->guest_memfd_private ? RAM_GUEST_MEMFD_PRIVATE = : 0; ram_flags |=3D fb->is_pmem ? RAM_PMEM : 0; ram_flags |=3D RAM_NAMED_FILE; return memory_region_init_ram_from_file(&backend->mr, OBJECT(backend),= name, diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 3f3e485709..ea93f034e4 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -60,7 +60,7 @@ have_fd: backend->aligned =3D true; ram_flags =3D backend->share ? RAM_SHARED : RAM_PRIVATE; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; + ram_flags |=3D backend->guest_memfd_private ? RAM_GUEST_MEMFD_PRIVATE = : 0; return memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend), n= ame, backend->size, ram_flags, fd, 0,= errp); } diff --git a/backends/hostmem-ram.c b/backends/hostmem-ram.c index 96ad29112d..6a507fad77 100644 --- a/backends/hostmem-ram.c +++ b/backends/hostmem-ram.c @@ -30,7 +30,7 @@ ram_backend_memory_alloc(HostMemoryBackend *backend, Erro= r **errp) name =3D host_memory_backend_get_name(backend); ram_flags =3D backend->share ? RAM_SHARED : RAM_PRIVATE; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; + ram_flags |=3D backend->guest_memfd_private ? RAM_GUEST_MEMFD_PRIVATE = : 0; return memory_region_init_ram_flags_nomigrate(&backend->mr, OBJECT(bac= kend), name, backend->size, ram_flags, errp); diff --git a/backends/hostmem-shm.c b/backends/hostmem-shm.c index e86fb2e0aa..4766db6aad 100644 --- a/backends/hostmem-shm.c +++ b/backends/hostmem-shm.c @@ -54,7 +54,7 @@ have_fd: /* Let's do the same as memory-backend-ram,share=3Don would do. */ ram_flags =3D RAM_SHARED; ram_flags |=3D backend->reserve ? 0 : RAM_NORESERVE; - ram_flags |=3D backend->guest_memfd ? RAM_GUEST_MEMFD_PRIVATE : 0; + ram_flags |=3D backend->guest_memfd_private ? RAM_GUEST_MEMFD_PRIVATE = : 0; =20 return memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend), backend_name, backend->size, diff --git a/backends/hostmem.c b/backends/hostmem.c index 5dd5fb155c..d54d9091c3 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -290,7 +290,7 @@ static void host_memory_backend_init(Object *obj) /* TODO: convert access to globals to compat properties */ backend->merge =3D machine_mem_merge(machine); backend->dump =3D machine_dump_guest_core(machine); - backend->guest_memfd =3D machine_require_guest_memfd(machine); + backend->guest_memfd_private =3D machine_require_guest_memfd(machine); backend->reserve =3D true; backend->prealloc_threads =3D machine->smp.cpus; } diff --git a/include/system/hostmem.h b/include/system/hostmem.h index 88fa791ac7..dcbf81aeae 100644 --- a/include/system/hostmem.h +++ b/include/system/hostmem.h @@ -76,7 +76,7 @@ struct HostMemoryBackend { uint64_t size; bool merge, dump, use_canonical_path; bool prealloc, is_mapped, share, reserve; - bool guest_memfd, aligned; + bool guest_memfd_private, aligned; uint32_t prealloc_threads; ThreadContext *prealloc_context; DECLARE_BITMAP(host_nodes, MAX_NODES + 1); --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874657; cv=pass; d=zohomail.com; s=zohoarc; b=Rv1qDjEPQ69XOO+y11NyFE/Tqmp2NSOuhGzq66Zt/CYe32xKzzQaLWg+rSMk0jdB25Qj2C0MN2DvQ/vKfDVCEb0F1tDvDIdwbUBy5byRHnz/tUBD4ejTufutgPBnv0XN21SILh9kI0Ncjji0eFryg1CKX2qxrhZRKfurhKjN4RQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874657; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Mi1R2U0EC9eQn6Bpw2M9hrIFFv8JWZpTwXDx2Je+Jc0=; b=c1seXe+je9Wv7PHKRlH/K0/vc7/Zz43NZvOzrywdkIBZqVJf6OIKMupeDEW5GeHWyb/kA0fT9LGjwd+rEeBrkaH/r1fiiwi0UkyK0k/YESoNlGzUXOoT7sap5quLs2y1++mgGp9+lk7A1GowZPMUzQ8Lpm3W3/EvXyhqcDjeXgU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874657894565.4667630128978; Tue, 8 Sep 2026 06:37:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3w0x-00088W-52; Tue, 08 Sep 2026 09:37:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3w0t-000882-I6 for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:37:28 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3w0G-0006zV-5I for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:37:27 -0400 Received: from CH0PR04CA0001.namprd04.prod.outlook.com (2603:10b6:610:76::6) by CH9PR12MB952423.namprd12.prod.outlook.com (2603:10b6:610:353::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.6; Tue, 8 Sep 2026 13:36:36 +0000 Received: from BL02EPF0002992C.namprd02.prod.outlook.com (2603:10b6:610:76:cafe::21) by CH0PR04CA0001.outlook.office365.com (2603:10b6:610:76::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Tue, 8 Sep 2026 13:36:36 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF0002992C.mail.protection.outlook.com (10.167.249.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:36:35 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:36:35 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vC8xdCWPFS6QtV1c00GmnsILfWQJ8FfbGP5+txbiS5V4WB8nDWslIiWQ51WjD2rXrxvzTWBqTAtIITaJyTHZHJfc6Qb8Suqcnum8x5mWCuKbmhEKEPnEpbEbVlhvbZCEpRublP+mncgagPN63gD6d/tL3CvhkwrJrrTfd5WuU0QsoQ4X4xKsp6GXhf6LUEYLNocXQn8HeVW4dm+OH1RRfSbNnvN3kwPMdw7qC8Qz2uyIjIs85xeqkiRBJpad2bhUZBS0nw1hEEj9YDUVVxW1V02Ong09BU4OiJBQmDXHHgq1kpAiPpqv83zms4htHEy1u0e8ic1ujqSZUqJ1zsw94g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Mi1R2U0EC9eQn6Bpw2M9hrIFFv8JWZpTwXDx2Je+Jc0=; b=Fit+6HqSz4P5Nzf71I2ai3shmjprYVFaxE3Be3VF15Iv5oFcvFR2zBit68zTRxdHJIcbCeMzAj2hhTIentEVu7Z4BN+abBemxjzowR504JWLrgGyoq208JU7YBMvgxvywNpu5j4rz/X7UJebUic88maVP6nzgUuOg8KMa4O9Rg/O4dQIR0lxwH//doq3oI9QU+JpmA4IX/ecfkMtXQrVYgFyG1Xyq4MgUOfeKf9XK85tkBmNfykHFBBGElFbYBxxh6/1IF8Pip8jTIruLHUWs+/TRpLxKyPYYcbyJfnC/awub97Xo6ea3+TXmLgKs2CY5IHMR1V6TWfj7iPzF9MjfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Mi1R2U0EC9eQn6Bpw2M9hrIFFv8JWZpTwXDx2Je+Jc0=; b=1GF0/Lxtzyr1Cnt7GEZvLtYyAcEsWpYWba4BDO11lNzV9FE4NWebh2c4uUEUMhX4/Wl2cp4J0045SWVi7XpUSA/A8Wcb2V5TzmtrSbyDH7DKDYBeYROEtG9lNPLMyRhG0crbBSaJJQ/D7a0f0eAk8hRfBwFokeko8oNFg6Cnme4= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu , Fabiano Rosas Subject: [PATCH v5 08/12] hostmem: Support fully shared guest memfd to back a VM Date: Tue, 8 Sep 2026 08:30:58 -0500 Message-ID: <20260908133151.836685-9-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0002992C:EE_|CH9PR12MB952423:EE_ X-MS-Office365-Filtering-Correlation-Id: ec7f7756-e9e4-4232-2ce3-08df0dae340a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|23010399003|376014|7416014|36860700016|1800799024|10067099003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: +mZWDDHW70gOKrtGiNk++A63sd7BV1iMFF5kZhw95RFn86hy1j5FMjMChG1t7eABN11S5l5evOyJo6KdwWAHqsONd19M6oZy7JQ4/J7Lx5aQ+r6axfH6piAVFlKsLP8zLumRNrao0pIk4+46MjBUelcl5C8/0Dfff1oA3LnXFCKG+FM/p6NAu0oq8VcylEITsYQjVlpJbrVK3taM2jhIu95pu59AOhcsCW4AtVckAlmvQA2u4X2U381oV6QppLUwyRqBRqKubyMu1ZQfUdT8jKsL4HvWTmCnVoynh2rRlhnA8NwCtnIF9w7m1NmHtxuKeXThoHaoqsP7FXY1P/cSKOglhl0l3eRm4sJ1o70h+J6b9k4nmV9R5tBKCtBIy6fO+NvQhM/LpFKE4CaXYh1FhTVoOsZPgL0izKkv3IXGrf4q2/Cy2/e9S9THWOwMaxEIMIC1tV7juJSRR4dlpZtd/KfZ7WmXJI3Xd7+9tqFBHaJ99ciOwsCcK4RxXdSDGXP3eLCwho0iTm4/T0HFvsMYZbeiZigedyjm63tE8DDdynVuPh56rtbJDSTZCgclYN1jtbgC9jQHZs8r3KfdXA/y+pmFeRYYkR/qedPTGxi2idCH7A0rZyDoYX2gfBOIcEV/QY0J1hOijcoK4Omhpd33/4lmsSbKRGM+YQ42C1cbS/AovL/2ZqCahq6GHz8usdlMYvYBpoAMGGB4WM7yJXy4CQ== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(23010399003)(376014)(7416014)(36860700016)(1800799024)(10067099003)(11063799006)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6Tg6wUwko7fmh56oIkuq3cZS03C0bwic7pqouQkDh2nF68l+DG7pZ/TIcqHGca/l6XP4r0aEq+KMuWEDqGV61JgPvaVr+Z/KOhs1H2/9D0NkZPwYN0k6iwWGFQcqUCVAH1lGaA63wf0vT1i+FFIGJfphoPJGp/SEcmX6ahi/+p88nixL42CvVTFCVRaZqPmhcihiEiVePxpKkWgPGxPnRwbAdpgR1zllWgW6YcR/4Wu/HiBQGU0U/4ej32VLWAI/gxKda48UufuJgk4TwzBiBD/XL0lhcGKnaBVAooXxQ8GlfReWQ8EB8pGXbLcnP76ydxHA/CqNJLO01FTwy/nCqop9xDKELhyYHzG7BX+eq26inlUyShKeaEXgwCv+iN5Dz1zebRknXqi2PgHnE4qrrkuTpEeQO8xlMPz1aZENxmK5tetu7DCsHJs/a7feYpqm X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:36:35.7968 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec7f7756-e9e4-4232-2ce3-08df0dae340a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0002992C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH9PR12MB952423 Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=Michael.Roth@amd.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874660464158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Host backends supports guest-memfd now by detecting whether it's a confidential VM. There's no way to choose it yet from the memory level to use it fully shared. If we use guest-memfd, it so far always implies we need two layers of memory backends, while the guest-memfd only provides the private set of pages. This patch introduces a way so that QEMU can consume guest memfd as the only source of memory to back the object (aka, fully shared). To use the fully shared guest-memfd, one can add a memfd object with: -object memory-backend-memfd,guest-memfd=3Don,share=3Don Note that share=3Don is required with fully shared guest_memfd. PS: there's a trivial touch-up on fd<0 check, because the stub to create guest-memfd may return negative but not -1. Signed-off-by: Peter Xu Reviewed-by: Xiaoyao Li Reviewed-by: Fabiano Rosas Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- backends/hostmem-memfd.c | 58 ++++++++++++++++++++++++++++++++++++---- qapi/qom.json | 6 ++++- 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index ea93f034e4..6576331441 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -18,6 +18,8 @@ #include "qapi/error.h" #include "qom/object.h" #include "migration/cpr.h" +#include "system/kvm.h" +#include =20 OBJECT_DECLARE_SIMPLE_TYPE(HostMemoryBackendMemfd, MEMORY_BACKEND_MEMFD) =20 @@ -28,6 +30,13 @@ struct HostMemoryBackendMemfd { bool hugetlb; uint64_t hugetlbsize; bool seal; + /* + * NOTE: this differs from HostMemoryBackend's guest_memfd_private, + * which represents an internally private guest-memfd that only backs + * private pages. Instead, this flag marks the memory backend will + * 100% use the guest-memfd pages in-place. + */ + bool guest_memfd; }; =20 static bool @@ -47,11 +56,31 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, = Error **errp) goto have_fd; } =20 - fd =3D qemu_memfd_create(TYPE_MEMORY_BACKEND_MEMFD, backend->size, - m->hugetlb, m->hugetlbsize, m->seal ? - F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL : 0, - errp); - if (fd =3D=3D -1) { + if (m->guest_memfd) { + /* + * NOTE: guest-memfd ignores seal=3Don/off because it always + * implicitly seals the FD by definition. + */ + if (!backend->share) { + error_setg(errp, "guest-memfd=3Don must be used with share=3Do= n"); + return false; + } else if (m->hugetlb) { + error_setg(errp, "guest-memfd=3Don doesn't support hugetlb=3Do= n yet"); + return false; + } + + fd =3D kvm_create_guest_memfd(backend->size, + GUEST_MEMFD_FLAG_MMAP | + GUEST_MEMFD_FLAG_INIT_SHARED, + errp); + } else { + fd =3D qemu_memfd_create(TYPE_MEMORY_BACKEND_MEMFD, backend->size, + m->hugetlb, m->hugetlbsize, m->seal ? + F_SEAL_GROW | F_SEAL_SHRINK | F_SEAL_SEAL := 0, + errp); + } + + if (fd < 0) { return false; } cpr_save_fd(name, 0, fd); @@ -65,6 +94,18 @@ have_fd: backend->size, ram_flags, fd, 0,= errp); } =20 +static bool +memfd_backend_get_guest_memfd(Object *o, Error **errp) +{ + return MEMORY_BACKEND_MEMFD(o)->guest_memfd; +} + +static void +memfd_backend_set_guest_memfd(Object *o, bool value, Error **errp) +{ + MEMORY_BACKEND_MEMFD(o)->guest_memfd =3D value; +} + static bool memfd_backend_get_hugetlb(Object *o, Error **errp) { @@ -152,6 +193,13 @@ memfd_backend_class_init(ObjectClass *oc, const void *= data) object_class_property_set_description(oc, "hugetlbsize", "Huge pages size (ex: 2M, 1G= )"); } + + object_class_property_add_bool(oc, "guest-memfd", + memfd_backend_get_guest_memfd, + memfd_backend_set_guest_memfd); + object_class_property_set_description(oc, "guest-memfd", + "Use guest memfd"); + object_class_property_add_bool(oc, "seal", memfd_backend_get_seal, memfd_backend_set_seal); diff --git a/qapi/qom.json b/qapi/qom.json index 4a9b7f9088..909add4299 100644 --- a/qapi/qom.json +++ b/qapi/qom.json @@ -771,13 +771,17 @@ # @seal: if true, create a sealed-file, which will block further # resizing of the memory (default: true) # +# @guest-memfd: if true, use guest-memfd to back the memory region. +# (default: false, since: 11.2) +# # Since: 2.12 ## { 'struct': 'MemoryBackendMemfdProperties', 'base': 'MemoryBackendProperties', 'data': { '*hugetlb': 'bool', '*hugetlbsize': 'size', - '*seal': 'bool' }, + '*seal': 'bool', + '*guest-memfd': 'bool' }, 'if': 'CONFIG_LINUX' } =20 ## --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874690; cv=pass; d=zohomail.com; s=zohoarc; b=CcuwYWCAJ1MXXVjqne4jfrFAey6DLHhkVFX8xeOWDGWY75xpDUx74D5fNo8oSsENNwVTRiQlmZrPEKCVqfUhFkNdorliNavVKSQVxsMN2L2qEJ4FMFOmfsCfcmpTyzS02a4OqqISYFTo0KS7kGjXbuV0HT/76ZU7L03vBYZacp8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874690; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RNFIR1j7CWAvkxWBZt0h8hV2ibRbAQ9Ag0GZySiziN4=; b=E6Z6qmuv6mOWX95YDffUubxoIlCfOblSn2/IcBABmXhAgSf8trQCIOiM7wMClcWef03OJ/RnrY8m0gtsUb83sdSj/l7+WUTyYO6uYbJWpZQSq01KVy3XZaqeGh2NHdQGq8+h7mXDijusKNu5CAmnE365C+PpZ4ppvhwiJ80y9NI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874690573200.8349405110364; Tue, 8 Sep 2026 06:38:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3w1Y-0008Uv-25; Tue, 08 Sep 2026 09:38:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3w1W-0008Uj-Hg for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:38:06 -0400 Received: from mail-southcentralusazon11011063.outbound.protection.outlook.com ([40.93.194.63] helo=SN4PR0501CU005.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3w11-0007aL-RP for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:38:05 -0400 Received: from BN0PR04CA0078.namprd04.prod.outlook.com (2603:10b6:408:ea::23) by CY3PR12MB9702.namprd12.prod.outlook.com (2603:10b6:930:103::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Tue, 8 Sep 2026 13:32:28 +0000 Received: from BN3PEPF00022BC2.namprd05.prod.outlook.com (2603:10b6:408:ea:cafe::44) by BN0PR04CA0078.outlook.office365.com (2603:10b6:408:ea::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.6 via Frontend Transport; Tue, 8 Sep 2026 13:32:28 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC2.mail.protection.outlook.com (10.167.248.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:32:27 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:32:27 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZSa0dWOmD2MBwuo1uyAPgnzMIoQCY89DqwOz60NkVg+y0QPOgqKsDCzUEnPJXC6T33WEXRPBW1XwbDvVSqFFVVdQZ6R0NoUernm/mf0isqT+W5XP47cMEqvL7shA85DW5XE6juBLEcoYrerTEoJLtaJd2RYj8hTMrFyI6V2UjwNulbPo/PAxt1S6KOjtLNFgw95kJAdTfEp2YcJgCgVjHaxJbR4B7ikMJA/bl2aXp38ltki5z0Yo0hBD2u3YpQPVqQLumLm0eXZt2q3veTPfs5v7D0L9Lufs0p1On3sEvwr594CEZmViergdELhCF2fUS+ht1DcS1jT51M25zl1pOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RNFIR1j7CWAvkxWBZt0h8hV2ibRbAQ9Ag0GZySiziN4=; b=TpWGiAVzp9G0cCdlLZdyYAJomHS0PGP88MTokZ97qNIGLLFu4v9fvGfRKlOpSvabm26E6eJoAKlZz7zLp9SBJAHfFOCfVEfi5sxDHuIaNPts82Gv53hBuyi8gLrUWI9RhPLREPwJLdSO9XZ1AMlwQ2y7T/uuLCL3TRO3tX2sMphJAcxyQjXYmnMu1ZklMNU044pJLL4HdDKsUWEn/PmKmdPa/aL67Ujuc9U0IGEFoI/RUmoKhPcstkOCcMo5s2WzsArDfR/lHkr07mEyppOskRquhs4B2uyKLuYwKIn3UlBnPFzoSQq4NwBToEGPmUmdUVbQO2CTor4366C6xYrDrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RNFIR1j7CWAvkxWBZt0h8hV2ibRbAQ9Ag0GZySiziN4=; b=iLlgdHfv2PAwnXNUuVlljqgM+qu4YFkPTfp1xgJs31vOxNpvDS4U+z95HtFP+//km8cJK8V3jlIAOmOhAhFLHftOofL9bgedAwbduMh9m3TtLpGbqDkdhlfZ1SgoQbbPtyhceTNe2cPkkCvC+PRbDD1glPTMdrSM12diuW1vvTo= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 09/12] machine: Rename machine_require_guest_memfd() to *_private() Date: Tue, 8 Sep 2026 08:30:59 -0500 Message-ID: <20260908133151.836685-10-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC2:EE_|CY3PR12MB9702:EE_ X-MS-Office365-Filtering-Correlation-Id: 691e1e09-4981-4dcd-66ed-08df0dada036 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|82310400026|1800799024|36860700016|6133799003|10067099003|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: SZdV4hMA+Mrs9plyELOe68PPGlAbcWWGl/wXjU91RbAGp3muXxB4nbAR4cjgykxYwea0TujF75mSHXMON2bV3qzJ9AyrCYPXI+fB+vX006n89z1APVhEaQbVv3WoYCu3zhLIzluD00l9jVNoYpIUTnNt+5DHeVe+4F8eKelTZzWDV6HtS+bE4OCj6d+ByKParefS8z0gZeru4lRFoIZfK+lZlGukT9GfjWyKKqkwGydnOHoKHaVootPyNeVOME0mnKkBKbQgSrCdHBVYbih0DDLOA67Nivx1i11zaOfMkpDOO6XL8NL5LOajvEfUSXq4LmjmbkZv4CARMzyqSVRuAp2IA7KlkVnYy99Uusx+uE3hJ60pndbIv6GcEQn6wLS5SZynMSXTYyemx6k4g72raBuGsOchynliRl89tsWEDWP4K8WqssoxEiPRj9hoye/Ot1TzP6gYXTTsGDrdA+tVQ4PccdbkIYSDPVF+0xPIa17FTkryAuW81jPf+Z8jMA5BBAbLZ3KVDrgPq40tJMV9pBw++IKiuZvVRtRzwcxtyOEXRw6VsMpKaPd7QCIcUKo0Ruc8PeJaeYynkK74RNcwpKFSMxXr0BXRhC209ohCGTugZ8fvBrjGIQIbapswebRiWQi8ucG2v1zsJFg57PHIlPzUMZ88T7xi4gPMO6TDNbM6r0YQKd+oDQH2Xy+6QCMw86Hag6E3cl687ZsBbYzZXA== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(23010399003)(82310400026)(1800799024)(36860700016)(6133799003)(10067099003)(56012099006)(11063799006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: A5DOXP0D0YH8MjBRr6JGHCUpWr7cVfteMBEdbzUNM+1a+u03gVYTVpRAsqmdm4jGOSV+wLzE6nz/E97N0SseEe2tDBBPMONOCCdFP7VYLVJjgDUdY0UYiZy+eJxoB5P3BzpFJHMZvPs9dA6jVMGu+/HGRkGWXwxyc+aYgBoBDdgfJqoPxUeFMny7zNoL/QlibPn6C4qrX0f82pnYTKjfKe9MPj75D2/6HUDtPb0X7S4+G3Fo2un4eKvk4GOeFXWaPbwU4Bcbxw2qH+BaF1T7N5Su/LIcUfcVLi2pv1RXi6GRlKgn7chQ02ps3ff+USnUY938GM2ZYMYBFYdS4B2+Zehsn5zT9ImvlxNEGraUpzmiIYl/UjtiMxT+IvdVPZiZpNU9idSEZX/x89T+vefa1HVQYzq80Kw79ZZ9tv9UVgKz/WX5pmagh9M76zjK6bqB X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:32:27.7889 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 691e1e09-4981-4dcd-66ed-08df0dada036 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY3PR12MB9702 Received-SPF: permerror client-ip=40.93.194.63; envelope-from=Michael.Roth@amd.com; helo=SN4PR0501CU005.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874693029158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Differenciate it from fully shared guest-memfd use cases. When at it, add proper brackets in kvm_handle_hc_map_gpa_range() otherwise checkpatch may complain. Suggested-by: Xiaoyao Li Reviewed-by: Xiaoyao Li Reviewed-by: Michael Roth Signed-off-by: Peter Xu Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- backends/hostmem.c | 2 +- hw/core/machine.c | 2 +- hw/i386/pc.c | 2 +- hw/i386/pc_sysfw.c | 4 ++-- hw/i386/x86-common.c | 4 ++-- include/hw/core/boards.h | 2 +- target/i386/kvm/kvm.c | 3 ++- 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/backends/hostmem.c b/backends/hostmem.c index d54d9091c3..0cc5adcd38 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -290,7 +290,7 @@ static void host_memory_backend_init(Object *obj) /* TODO: convert access to globals to compat properties */ backend->merge =3D machine_mem_merge(machine); backend->dump =3D machine_dump_guest_core(machine); - backend->guest_memfd_private =3D machine_require_guest_memfd(machine); + backend->guest_memfd_private =3D machine_require_guest_memfd_private(m= achine); backend->reserve =3D true; backend->prealloc_threads =3D machine->smp.cpus; } diff --git a/hw/core/machine.c b/hw/core/machine.c index 8939ae1666..469033d6b3 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -1337,7 +1337,7 @@ bool machine_mem_merge(MachineState *machine) return machine->mem_merge; } =20 -bool machine_require_guest_memfd(MachineState *machine) +bool machine_require_guest_memfd_private(MachineState *machine) { return machine->cgs && machine->cgs->require_guest_memfd; } diff --git a/hw/i386/pc.c b/hw/i386/pc.c index e9e4fc262b..9c2d77e494 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -873,7 +873,7 @@ void pc_memory_init(PCMachineState *pcms, =20 if (!is_tdx_vm()) { option_rom_mr =3D g_malloc(sizeof(*option_rom_mr)); - if (machine_require_guest_memfd(machine)) { + if (machine_require_guest_memfd_private(machine)) { memory_region_init_ram_guest_memfd(option_rom_mr, NULL, "pc.ro= m", PC_ROM_SIZE, &error_fatal); } else { diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index 1a41a5972b..4a7694c131 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -51,7 +51,7 @@ static void pc_isa_bios_init(PCMachineState *pcms, Memory= Region *isa_bios, =20 /* map the last 128KB of the BIOS in ISA space */ isa_bios_size =3D MIN(flash_size, 128 * KiB); - if (machine_require_guest_memfd(MACHINE(pcms))) { + if (machine_require_guest_memfd_private(MACHINE(pcms))) { memory_region_init_ram_guest_memfd(isa_bios, NULL, "isa-bios", isa_bios_size, &error_fatal); } else { @@ -70,7 +70,7 @@ static void pc_isa_bios_init(PCMachineState *pcms, Memory= Region *isa_bios, ((uint8_t*)flash_ptr) + (flash_size - isa_bios_size), isa_bios_size); =20 - if (!machine_require_guest_memfd(current_machine)) { + if (!machine_require_guest_memfd_private(current_machine)) { memory_region_set_readonly(isa_bios, true); } } diff --git a/hw/i386/x86-common.c b/hw/i386/x86-common.c index 8f9419e7d3..dd526c561c 100644 --- a/hw/i386/x86-common.c +++ b/hw/i386/x86-common.c @@ -1036,7 +1036,7 @@ static void load_bios_from_file(X86MachineState *x86m= s, const char *bios_name, ssize_t ret; =20 /* BIOS load */ - if (machine_require_guest_memfd(MACHINE(x86ms))) { + if (machine_require_guest_memfd_private(MACHINE(x86ms))) { memory_region_init_ram_guest_memfd(&x86ms->bios, NULL, "pc.bios", bios_size, &error_fatal); if (is_tdx_vm()) { @@ -1106,7 +1106,7 @@ void x86_bios_rom_init(X86MachineState *x86ms, const = char *default_firmware, bios_size =3D get_bios_size(x86ms, bios_name, filename); load_bios_from_file(x86ms, bios_name, filename, bios_size, isapc_ram_f= w); =20 - if (!machine_require_guest_memfd(MACHINE(x86ms))) { + if (!machine_require_guest_memfd_private(MACHINE(x86ms))) { /* map the last 128KB of the BIOS in ISA space */ x86_isa_bios_init(&x86ms->isa_bios, rom_memory, &x86ms->bios, !isapc_ram_fw); diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h index a436d48c8e..7925f0451a 100644 --- a/include/hw/core/boards.h +++ b/include/hw/core/boards.h @@ -43,7 +43,7 @@ bool machine_usb(MachineState *machine); int machine_phandle_start(MachineState *machine); bool machine_dump_guest_core(MachineState *machine); bool machine_mem_merge(MachineState *machine); -bool machine_require_guest_memfd(MachineState *machine); +bool machine_require_guest_memfd_private(MachineState *machine); HotpluggableCPUList *machine_query_hotpluggable_cpus(MachineState *machine= ); void machine_set_cpu_numa_node(MachineState *machine, const CpuInstanceProperties *props, diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 1eeadb99ad..a72b6e6b74 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -6488,8 +6488,9 @@ static int kvm_handle_hc_map_gpa_range(X86CPU *cpu, s= truct kvm_run *run) uint64_t gpa, size, attributes; int ret; =20 - if (!machine_require_guest_memfd(current_machine)) + if (!machine_require_guest_memfd_private(current_machine)) { return -EINVAL; + } =20 gpa =3D run->hypercall.args[0]; size =3D run->hypercall.args[1] * TARGET_PAGE_SIZE; --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874435; cv=pass; d=zohomail.com; s=zohoarc; b=M4YpSEjHyd2d3Rrc6NwafnTPHck/NMCRY7DApTFFolF2uqDE3MKi3Iu59QttEATVya2Llvu7dSFiQ2HjYisE66qrQ+Gx18WRukfnJerzwlDj2qh8V4M14+Hc1F5XrXJJtSMwIg9JlWxwJBI8z4MwrsAgCwF0zUCdsGCp9LYSRJ8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874435; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=n18q9NARWvNqXHIjFtVCkB0MIbImgO9OOwnPMbRshp4=; b=hhy+MSXKvxwc9OlEwnov/yMCWVSM0urN/0Keb94TD09oyyTk0RByB24KTEE6E1fT3m8kJ/YREpQ5c2P8BYHf7Rt9jDSBfgZYUdeszckJ/JsODHnZc+T0QYIvYzXDZRN9norIZwdPrDcnpuPIwvApbrMM4He+ij7SbnKHecDBxRA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874435641603.767927178373; Tue, 8 Sep 2026 06:33:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vwg-0001id-8M; Tue, 08 Sep 2026 09:33:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vwe-0001iF-BD for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:33:04 -0400 Received: from mail-southcentralusazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c10d::3] helo=SN4PR0501CU005.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vwb-0005Sy-V1 for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:33:04 -0400 Received: from MN0P220CA0008.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:52e::7) by DS2PR12MB9638.namprd12.prod.outlook.com (2603:10b6:8:27b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.15; Tue, 8 Sep 2026 13:32:49 +0000 Received: from BN3PEPF00022BC7.namprd05.prod.outlook.com (2603:10b6:208:52e:cafe::6b) by MN0P220CA0008.outlook.office365.com (2603:10b6:208:52e::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.7 via Frontend Transport; Tue, 8 Sep 2026 13:32:49 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC7.mail.protection.outlook.com (10.167.248.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:32:48 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:32:48 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eLJC4aQrvxPgrXyhbeZaKQ0QKZbZiqPf9wgrW3M5nV+kcUqDi8X8S33wIlxikMOvjLI2tF9MoxwcUW/PQAshvMmh25RqdBq1svfb3Yb7+c0c12QRH7umdVpNwAl8UvU5KQbN8BFkCFwHJTsj6SwJTOMMN+MvcZBom5nmkF0HhW1dJVgpjmIDb7omu1Y0GZL//xIwiM+rCkcMaLdK5p9QvuAX8tu/lmr8l4zv5YcuqoWZNun39OaPOgibx5/OBBPWMTyZtxED9iyNjZR5ebPRf7+QebBeBrJ2DFW4yF/+JoKMnUOiuc1+SSNuQteaiBw7/UTHN33Hhs9buuMGFXy9sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n18q9NARWvNqXHIjFtVCkB0MIbImgO9OOwnPMbRshp4=; b=JRQid1Q+/mBRg46sswG7AsHMFLzvvcxo/5s0ybUVZNh0/CTSj/zQi3gTqDKchVZZ0tFsXAEVavS+WuaOFaaY5n44p9Va8kgGyZHsBBgdGvF3WtSMeWZoKSSW9YgEgYWt+Rf7rya39A/Smd6gaCnsn/X7ZZ2iA7xFm4K3kLKfOprRnEbp6gdqlx0pCIoJoZhy2/IpWUogjEXNmkta8cNd7l4unDtoImtmR/iz0kVXyOlTz5oe+V9+dnWFR+Ii+eTmrC9n5PjyKXBFp07lsDRU940MoHajuhn8ekwRSI9jCcPVh6VBxRsRAeJ9q0CXBB5rQNdWPSehIaxssRNX8aXAzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n18q9NARWvNqXHIjFtVCkB0MIbImgO9OOwnPMbRshp4=; b=Hgd25v/rR3Fa984FgrpyuhZZYzza6Jm5+Xv1IWwjuuDPD03QEIqqFrnk5isdjCIlIt8pqezSDOrimADdM4QoH+1uW20chSFgW2yiQdgYEIVO9yT3Dbaw0a75uFet/tCPwlm5yx1Ek6Lb65dQtOCKCaEitEN7ptNGg3d7zGnfdpo= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 10/12] memory: Rename memory_region_init_ram_guest_memfd() to *_private() Date: Tue, 8 Sep 2026 08:31:00 -0500 Message-ID: <20260908133151.836685-11-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC7:EE_|DS2PR12MB9638:EE_ X-MS-Office365-Filtering-Correlation-Id: b5290e3e-493e-44c5-f30f-08df0dadac80 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|36860700016|376014|23010399003|10067099003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 0w7plO82MfR1Pvquzt93P5b1G117/tdI9lLhISdVtKHOTm3NBcwyykrkUmc+eu56NRXavuX1i+WNObTlT+EjKIJP6fVfawxodEFQwTjrIhSaKDu101RJ52z8Ik+NmJKfWcpz2NrueDpE7/vcmMkB0PLERMu7HP0yBmj41MEJXvmgeRFLJDTzaQsbhdBIaQvUmY/n2nt5TbSSPRxKyQa/NufjNm3a1u5vJbWT6PuXUypLmbkf8ey3gl+n3KC5O6XPH4BN3/m+L/ut7/6J2xjnfkfsdEozzGgkaFNbOU8+3XC/1iu9Y6+Wcq3YsW/8SVdS1acO4Pcdg8LFrV79NxgcB34krlMBF4NL0TgWOF+NRN4twNTj5ZMvhTwzL/zJNQdfgB5Z41AvOJu7HY1etdUWDmbK1nX9315ViAXMJxjQw/apzyTMp9OB4bfP/TwgivIu7k/aRtjzlNXX9zJLU8j72G9Fe4AFVRb5LqKDqyOU5QFuy+FshhFQSMqZ3GbhRd4aDRtl4D7UBJHMqiwFeUJvyxfISIi049bgZDT2dW3RRiR4paUrwMjXro6CjUHx9SkS9esgt/pob0KBiUGhUAaQpPPR+epJacEvPH8SAgAYI5Z7fBHuM5f4lot+wfWD3nTBWfM6WUZKCjndyCPveWQ1pSlUlVi3VdsWyXQqS7M+/BNuhs8Fx+LewWqI7NWCrTGYH7XwrR+3PeeRehTstsJPgQ== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(36860700016)(376014)(23010399003)(10067099003)(11063799006)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Cf1UOBTS85Ou7wFCLIFAtwPGVvYy3FNbTgJqvVbr2marA4mj/EieY+VMstIYO5Pk8ekSjKuJ0IsSOHHOwWi7zTl4k20PKGrtcBkg8NABwB5qwZfzgK9mEQZ/GCszStyLuW59/lYqU+BPWP0bviiaYY1AaZtLQC8xbhRAtggLvFJ9mGyefd5poo2iAUEusBtC7JBuhOZG0bKD8Y9JC5IHyDeWW6DqbVVWqcWzkdnimUYef0qKO87FUBkwo7+2KcTR5UfLd98NzI5b3OmrvTLD2cgLPWDV78ssFnxLWt4K6gppeZJBM2dx4Wic9dClQ8vth3Tqkqx5/GV8vomBxwjKwOyxeyM8gPUroJeIfjIT6TAdE8e/ircIWU3r/FMrtYKb4K2AF/36LbA8juYPv85WF2LitbciHJjZp3rqjzukcbHvzvne7GcqbO7IJvygWDmP X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:32:48.4109 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b5290e3e-493e-44c5-f30f-08df0dadac80 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS2PR12MB9638 Received-SPF: permerror client-ip=2a01:111:f403:c10d::3; envelope-from=Michael.Roth@amd.com; helo=SN4PR0501CU005.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874439017158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Differenciate it from fully shared guest-memfd use cases. Suggested-by: Xiaoyao Li Reviewed-by: Xiaoyao Li Reviewed-by: Michael Roth Signed-off-by: Peter Xu Signed-off-by: Michael Roth Reviewed-by: David Hildenbrand --- backends/igvm.c | 4 ++-- hw/i386/pc.c | 4 ++-- hw/i386/pc_sysfw.c | 4 ++-- hw/i386/x86-common.c | 4 ++-- include/system/memory.h | 10 +++++----- system/memory.c | 8 +++++--- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/backends/igvm.c b/backends/igvm.c index 7b7bdc72b7..228d332f42 100644 --- a/backends/igvm.c +++ b/backends/igvm.c @@ -259,8 +259,8 @@ static void *qigvm_prepare_memory(QIgvm *ctx, uint64_t = addr, uint64_t size, imr->mr =3D g_new0(MemoryRegion, 1); if (ctx->machine_state->cgs && ctx->machine_state->cgs->require_guest_memfd) { - if (!memory_region_init_ram_guest_memfd(imr->mr, NULL, - region_name, size, err= p)) { + if (!memory_region_init_ram_guest_memfd_private( + imr->mr, NULL, region_name, size, errp)) { g_free(imr->mr); g_free(imr); return NULL; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 9c2d77e494..1e5b23d7aa 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -874,8 +874,8 @@ void pc_memory_init(PCMachineState *pcms, if (!is_tdx_vm()) { option_rom_mr =3D g_malloc(sizeof(*option_rom_mr)); if (machine_require_guest_memfd_private(machine)) { - memory_region_init_ram_guest_memfd(option_rom_mr, NULL, "pc.ro= m", - PC_ROM_SIZE, &error_fatal); + memory_region_init_ram_guest_memfd_private( + option_rom_mr, NULL, "pc.rom", PC_ROM_SIZE, &error_fatal); } else { memory_region_init_ram(option_rom_mr, NULL, "pc.rom", PC_ROM_S= IZE, &error_fatal); diff --git a/hw/i386/pc_sysfw.c b/hw/i386/pc_sysfw.c index 4a7694c131..3e0b9e1d28 100644 --- a/hw/i386/pc_sysfw.c +++ b/hw/i386/pc_sysfw.c @@ -52,8 +52,8 @@ static void pc_isa_bios_init(PCMachineState *pcms, Memory= Region *isa_bios, /* map the last 128KB of the BIOS in ISA space */ isa_bios_size =3D MIN(flash_size, 128 * KiB); if (machine_require_guest_memfd_private(MACHINE(pcms))) { - memory_region_init_ram_guest_memfd(isa_bios, NULL, "isa-bios", - isa_bios_size, &error_fatal); + memory_region_init_ram_guest_memfd_private( + isa_bios, NULL, "isa-bios", isa_bios_size, &error_fatal); } else { memory_region_init_ram(isa_bios, NULL, "isa-bios", isa_bios_size, &error_fatal); diff --git a/hw/i386/x86-common.c b/hw/i386/x86-common.c index dd526c561c..ffe9cc90b6 100644 --- a/hw/i386/x86-common.c +++ b/hw/i386/x86-common.c @@ -1037,8 +1037,8 @@ static void load_bios_from_file(X86MachineState *x86m= s, const char *bios_name, =20 /* BIOS load */ if (machine_require_guest_memfd_private(MACHINE(x86ms))) { - memory_region_init_ram_guest_memfd(&x86ms->bios, NULL, "pc.bios", - bios_size, &error_fatal); + memory_region_init_ram_guest_memfd_private( + &x86ms->bios, NULL, "pc.bios", bios_size, &error_fatal); if (is_tdx_vm()) { tdx_set_tdvf_region(&x86ms->bios); } diff --git a/include/system/memory.h b/include/system/memory.h index 96ab920e7d..027ca81bd2 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -1358,11 +1358,11 @@ bool memory_region_init_ram(MemoryRegion *mr, uint64_t size, Error **errp); =20 -bool memory_region_init_ram_guest_memfd(MemoryRegion *mr, - Object *owner, - const char *name, - uint64_t size, - Error **errp); +bool memory_region_init_ram_guest_memfd_private(MemoryRegion *mr, + Object *owner, + const char *name, + uint64_t size, + Error **errp); =20 /** * memory_region_init_rom: Initialize a ROM memory region. diff --git a/system/memory.c b/system/memory.c index b520cca1a0..b3b678617b 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3617,9 +3617,11 @@ bool memory_region_init_ram(MemoryRegion *mr, Object= *owner, return true; } =20 -bool memory_region_init_ram_guest_memfd(MemoryRegion *mr, Object *owner, - const char *name, uint64_t size, - Error **errp) +bool memory_region_init_ram_guest_memfd_private(MemoryRegion *mr, + Object *owner, + const char *name, + uint64_t size, + Error **errp) { if (!memory_region_init_ram_flags_nomigrate(mr, owner, name, size, RAM_GUEST_MEMFD_PRIVATE, e= rrp)) { --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874450; cv=pass; d=zohomail.com; s=zohoarc; b=HjkIkM4DBPxcQY5KFzd+xvlM9NT4BrCUjKhTDNISRvYmJ/4YHnDKbQuoCE6BEh+m9Aqw9PUoSRk/js4DSa8GLfI9AJnLI0b23Z32kNNqE9KNW+EA0cqfYUJVECLwZlY0IkwRpSWQkgxA6wZ57tcgrsD6jnx/CbTnrrHGyAg89kU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874450; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hqQwY9FRIg4cBhSUC4LtnUoO8da849dF5czoKqjNDhM=; b=bAIhuUi0/jvjWpOtnVrmMQ522mpK6jBym61zAc9I7/s+iA4NCL0pE5UdqwhAH2TfMHgjAkiK7W+8xePsS8liZfhUNjoNPkHJj87UB/f0Z1vYpaXagKz2WbCTKeHLHieDk4qXlsst0pKy77IuNAkVDWzK+OmKCBuezwPzWjdeRfY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874450667561.5090858628811; Tue, 8 Sep 2026 06:34:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vxX-0001uL-E6; Tue, 08 Sep 2026 09:33:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vxT-0001td-V0 for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:33:55 -0400 Received: from mail-eastusazlp170120007.outbound.protection.outlook.com ([2a01:111:f403:c101::7] helo=BL0PR03CU003.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vxQ-0005eZ-RA for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:33:55 -0400 Received: from MW4PR02CA0030.namprd02.prod.outlook.com (2603:10b6:303:16d::18) by CH3PR12MB9124.namprd12.prod.outlook.com (2603:10b6:610:1a7::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Tue, 8 Sep 2026 13:33:34 +0000 Received: from BN3PEPF00022BC4.namprd05.prod.outlook.com (2603:10b6:303:16d:cafe::39) by MW4PR02CA0030.outlook.office365.com (2603:10b6:303:16d::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.6 via Frontend Transport; Tue, 8 Sep 2026 13:33:33 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC4.mail.protection.outlook.com (10.167.248.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:33:33 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:33:29 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ia82m7N/0ZJg0Vbg9FAbrdi2MFECSCNsyen4vnga/pl2iHNPLUdfMv/ac2YSONeGQVZuEEPHcjC1zhz/PvPvWj4yzVTmOwbamSgYO7eLVMsBRIqq3W7bCeUttjd9pSwn6y8B54LilIWtdkil8FxBUx9hJOXGU0Uztmb/uuebpBni0eI2Q9HBqBmgyTKG0Ela3zQY4cJPuO9cHd81AqEs3YyTCvDdiaFMxccyXtDOWoLyPtmJJpoXclgDssusNqBg/61QQO5U6I7WhbXNcrekKZ2UtCrZcCgZAfMOABVPdZz3QOtusqMeyJfmpoAS4eKarV0hYD9KyRYaeSZUwKUjBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hqQwY9FRIg4cBhSUC4LtnUoO8da849dF5czoKqjNDhM=; b=UWgDVwCg/fCBe5LEcBjLuabjqMzodHELvv3NjU0mtyXwTKXWiBFcl1NXo7NhgLDdyRH8xv5fVR1eCdBBbRSPpuQ8KLxvOFTbXFckJf+o8vok65D/4n0rMHlAtitW8bfz2i9zZoQ+NVTv03EfrLq/+vrCWAAHXl/ZAxnK+vgTukoWCYWeVDKCdJ3RnJseeLWRQ5DNk/HCkHAadCGy3rfpBYIDfi/TziDBkS+wS4dncT8gRSe7CfJNQMXrRjKXyRvYNh64SXl+xn/L6yVIez/h16LEGBDqWfzbdUR07l7TyiQO2Lccfq5KJKjVq/83lMc/ZW0mH5WtIbfaUcF74fED1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hqQwY9FRIg4cBhSUC4LtnUoO8da849dF5czoKqjNDhM=; b=qhNwJGhCme0IfGMxHShp0sGHUrpu5YEqFiImmcgG855Nyw/E+pf35cwcJsa2OdNE03aHKEOgWVHpZNwQA+GZSzEkgX0KPd8Twk3WzJ8yiKW2S/5iNpo/Y/GUX2G8bQ0HTjxHs+P3F267nIZU8qZ4gBamFPXRy97N7RMhScMEV00= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu Subject: [PATCH v5 11/12] tests/migration-test: Support guest-memfd init shared mem type Date: Tue, 8 Sep 2026 08:31:01 -0500 Message-ID: <20260908133151.836685-12-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC4:EE_|CH3PR12MB9124:EE_ X-MS-Office365-Filtering-Correlation-Id: 127e490f-c4ae-4b97-ceaf-08df0dadc786 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700016|376014|23010399003|1800799024|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: yuN1jkeEKzjA0AZ+Vj0mG2N9nEs0tGdqSfJSwz++lxF8bd0bJlkOaKB4PPNgs0ZEzSSUPFTDWeoQKigu4y5x3bOZSoVX1yVHHasGDJM4AEkmAwiDBehgsXVXVE5PZJ/v2hMQ0ZZIKSzpkWmgbkgHAhLuGFJKhZeeuTzSS9tF1mbMUuoZBi0oTQFlSjHgCco+qqcvUUQuV6aKckzEnebKFQgBW5tvNi76cy1vpSUflJdtjkjLOOoePQjCYC0jknKthneLWOYzGdqjWpWJDuwOfCtWK0zJK7yFSe84li+enJAff/AjOaJw5o9mwBR8C7rrnhcOcovwAcco4ktL7j/Zqv/yoXCE06K+hvgzK7Wempt/4DGQLMxCX9TmgRM9GvoF4Mc3IBZ7DJLyNpSyEuCNYad8HIWgPbO7KhLyLRdirgMWbjYaKZAWnUnm7nBmleFUNpLf958yDMvmqXBkjHHnUI8+i3O1wBgnv++aRhCJdMfLzotp2ZtEBNo+x+HoKVg49SNKhZ/LsU70HoY7+Rz6uweo7x8bfbPV0ClRAvrvyCQvseAYzv9WjcCsE1+4mubIVG6vHMyRtu5Z8HSLjBUFAr6f3/I3rQNHB/hom5Au6gifGgUqfoD10Wg4eXSbf0BgzuPTel1XBa/J9472G2DpBJAhqa5mH8ZWL+S+90Pr/Xwj6ITRysxDUNRKelKw8NPG8mcMcx/GchKTO/fEWRzM3A== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700016)(376014)(23010399003)(1800799024)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /I5OVe7BBORuHU8X9cRtHQanX3qqa/4D6NkIQHGUf5utBAR6zop3yGwxzYfPGZr+19krR9VCYPvGT2M9rENv7X2orxztfQ5qn3TJ4TsGdGhy3nxCjxhlISE85fpfCDV7j0n0ng1dUp9EAUGUpT+d/+I/jP7y80tHojkLSQ0lM9VOWM9niq8xth7mexZTyupzhZyPK8FmAe+J/C92N/e65RAHv7VGvfP/DaHH1Usyiga0CVAPNf7x1X9TO2dCx0mg6NDZ0PLaKwnXV15pm646TlhIgl9mXaGfsmD2mfFvJ5F920+UE33D5lCQXipv7Ez6e1/bjcWpdQ4nZ+yfSjXCaGvMBol5gmeyB1bB3+uxa2dtolR0ypraLg59V8J7dGu/8PVviD0nJ1X+vV4hH+tFZ/wVDfMA4qCQmuh+eOVbUthA96CnMSmIPsUwsBxr2C3K X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:33:33.7448 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 127e490f-c4ae-4b97-ceaf-08df0dadc786 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9124 Received-SPF: permerror client-ip=2a01:111:f403:c101::7; envelope-from=Michael.Roth@amd.com; helo=BL0PR03CU003.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874453082158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Support the guest-memfd type when the fd has init share enabled. It means the gmemfd can be used similarly to memfd. Signed-off-by: Peter Xu Signed-off-by: Michael Roth --- tests/qtest/migration/framework.c | 60 +++++++++++++++++++++++++++++++ tests/qtest/migration/framework.h | 4 +++ 2 files changed, 64 insertions(+) diff --git a/tests/qtest/migration/framework.c b/tests/qtest/migration/fram= ework.c index a830b96f41..b7aef6b21c 100644 --- a/tests/qtest/migration/framework.c +++ b/tests/qtest/migration/framework.c @@ -26,6 +26,10 @@ #include "qemu/range.h" #include "qemu/sockets.h" =20 +#ifdef CONFIG_LINUX +#include +#include +#endif =20 #define QEMU_VM_FILE_MAGIC 0x5145564d #define QEMU_ENV_SRC "QTEST_QEMU_BINARY_SRC" @@ -296,6 +300,9 @@ static char *migrate_mem_type_get_opts(MemType type, co= nst char *memory_size) case MEM_TYPE_MEMFD: backend =3D g_strdup("-object memory-backend-memfd"); break; + case MEM_TYPE_GUEST_MEMFD: + backend =3D g_strdup("-object memory-backend-memfd,guest-memfd=3Do= n"); + break; default: g_assert_not_reached(); break; @@ -444,8 +451,55 @@ int migrate_args(char **from, char **to, MigrateStart = *args) return 0; } =20 +static bool kvm_guest_memfd_init_shared_supported(const char **reason) +{ + assert(*reason =3D=3D NULL); + +#ifdef CONFIG_LINUX + int ret, fd =3D -1; + + if (!migration_get_env()->has_kvm) { + *reason =3D "KVM is not enabled in the current QEMU build"; + goto out; + } + + fd =3D open("/dev/kvm", O_RDWR); + if (fd < 0) { + *reason =3D "KVM module isn't available or missing permission"; + goto out; + } + + ret =3D ioctl(fd, KVM_CHECK_EXTENSION, KVM_CAP_GUEST_MEMFD); + if (!ret) { + *reason =3D "KVM module doesn't support guest-memfd"; + goto out; + } + + ret =3D ioctl(fd, KVM_CHECK_EXTENSION, KVM_CAP_GUEST_MEMFD_FLAGS); + if (ret < 0) { + *reason =3D "KVM doesn't support KVM_CAP_GUEST_MEMFD_FLAGS"; + goto out; + } + + if (!(ret & GUEST_MEMFD_FLAG_INIT_SHARED)) { + *reason =3D "KVM doesn't support GUEST_MEMFD_FLAG_INIT_SHARED"; + goto out; + } +out: + if (fd >=3D 0) { + close(fd); + } +#else + *reason =3D "KVM not supported on non-Linux OS"; +#endif + + return !*reason; +} + static bool migrate_mem_type_prepare(MemType type) { + const char *reason =3D NULL; + switch (type) { case MEM_TYPE_SHMEM: if (!g_file_test("/dev/shm", G_FILE_TEST_IS_DIR)) { @@ -453,6 +507,12 @@ static bool migrate_mem_type_prepare(MemType type) return false; } break; + case MEM_TYPE_GUEST_MEMFD: + if (!kvm_guest_memfd_init_shared_supported(&reason)) { + g_test_skip(reason); + return false; + } + break; default: break; } diff --git a/tests/qtest/migration/framework.h b/tests/qtest/migration/fram= ework.h index 941cbd7102..10761f6e28 100644 --- a/tests/qtest/migration/framework.h +++ b/tests/qtest/migration/framework.h @@ -34,6 +34,10 @@ typedef enum { * but only anonymously allocated. */ MEM_TYPE_MEMFD, + /* + * Use guest-memfd, shared mappings. + */ + MEM_TYPE_GUEST_MEMFD, MEM_TYPE_NUM, } MemType; =20 --=20 2.43.0 From nobody Sat Sep 26 20:00:17 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1788874460; cv=pass; d=zohomail.com; s=zohoarc; b=F1Ygc4sMEhzgh1qVEyoLEsyva4lLtF3kotoyZxkx07gPSJXPSV6OHqakzf/+ecSGYVCS9oC1jfmsiqu8MS6KoQlkFYLP99dZQfDNLUe4lCMGJZilFtSr0O00GK2QV8/fcHYp/cAJ/HTQv9H+NjYBTVyONaUnf3mLeMo9wLQ+RnM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788874460; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HSTCCE6BfYc8QrNONzuGB+zj+mnTqlqFaqy3Qctgdy8=; b=PRTk/rxbuBc1SV7qutLEu/gBABN+CFqoeh4Rtn3rb6G/9W7zt7mHxyJd3TrFRakPYPL/7Dm8Bzy4yiKWmUlI72+Yryz5Dz95uMHE8wRCcVXb5ec5NEPzLxLMPnXKrefJE5vCZu+uZvDDjeUTGhp8aAvDLs3AflH5HuC4EouMrks= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788874460079643.4622508301178; Tue, 8 Sep 2026 06:34:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x3vxl-0002M8-1I; Tue, 08 Sep 2026 09:34:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vxg-00028K-Ik for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:34:08 -0400 Received: from mail-westus3azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c107::3] helo=PH0PR06CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x3vxc-0005h2-Le for qemu-devel@nongnu.org; Tue, 08 Sep 2026 09:34:07 -0400 Received: from MW4PR02CA0022.namprd02.prod.outlook.com (2603:10b6:303:16d::15) by MN2PR12MB4487.namprd12.prod.outlook.com (2603:10b6:208:264::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.14; Tue, 8 Sep 2026 13:33:51 +0000 Received: from BN3PEPF00022BC4.namprd05.prod.outlook.com (2603:10b6:303:16d:cafe::82) by MW4PR02CA0022.outlook.office365.com (2603:10b6:303:16d::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.15 via Frontend Transport; Tue, 8 Sep 2026 13:33:50 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by BN3PEPF00022BC4.mail.protection.outlook.com (10.167.248.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 13:33:50 +0000 Received: from localhost (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Tue, 8 Sep 2026 08:33:50 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wrf23gJSG24rW1geGNHzDr31wZAvnDaf9IVslK7OmMrFS3oygwDE++8o3uYmne1zKqb7lmdj8XCP83CjawF+yCtAow9cd4GtrsVo4Muv0vGu7akiuBi1QtOE8SvKH1hS2bnFC80Jd5XU26GSYfLCw5l40+WdfjfzJLEngLXhkbnzeJP5jRCQyXYpxF6VlsWhlgHyu3II3WwbZ+eSj6TfU5gr4NCwyj8uBZyR6TJhkF+nuDd9uy9+T01He2IPwDlSACnlSd4WhxD9KF5EIIFua09JN8UhGHc7asY8Fb9CsCPi/F+GYgAq2ZiFiyIBmCRKYwtAN6TE4NRYQl0KFjrFUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HSTCCE6BfYc8QrNONzuGB+zj+mnTqlqFaqy3Qctgdy8=; b=li1ASY3Bz0iladXLBINwywaeQLap+fwFoCS9zIUaTaP7CxVFlLW6ssOSA4w8wugTYCZh1R0jEPhL99880X1gjrs9NdUiovezaIMYpL9PrNTclglCsEBp38PD2wzVD94ropwaNO07DLUK/JOc2rsL0ydG1nZ3h5mND5RNjjUOLFEqh7vwtmq4WOWlLCvV6BrhKtE40mFT6tODSfwggNHFKI3HMXK+93NaUDGecHLfP776xN0yoTcbKGGkwVOP7vCRz7EiE05zW1oAhCwgSGZ63idZp8T7yqXBrsMF4vDEwh9febPu5HwfBoCjaEZYmSuX8IQ6zc3PQKv5XGu53HNklw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HSTCCE6BfYc8QrNONzuGB+zj+mnTqlqFaqy3Qctgdy8=; b=jRNbtxj820iBXtxBjgxDR/e3R69ymPGVY8fXTgbny7fq0PWqYC6W0+uwLm9WpquUpsHIdpC0TAj8V0OoYFDLR6zu9dUVHS1cJbqGzAAgUv3W1My6ncWxm4JoHJ/EVp12o3LjW0Cg/43/+TVqic8hFt0nN+3DwbC0Ywq2Ru9cR88= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Michael Roth To: CC: , , , , , , , , Peter Xu , Fabiano Rosas Subject: [PATCH v5 12/12] tests/migration-test: Add a precopy test for guest-memfd Date: Tue, 8 Sep 2026 08:31:02 -0500 Message-ID: <20260908133151.836685-13-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260908133151.836685-1-michael.roth@amd.com> References: <20260908133151.836685-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF00022BC4:EE_|MN2PR12MB4487:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d395de2-b3a8-4071-e19b-08df0dadd182 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700016|23010399003|1800799024|82310400026|7416014|11063799006|56012099006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: M60EFubtUdLwOFEgtlLTsdJXhgyRMWG1/nL1BTfq0PmIjaouysGzQ6QptK0mvaHlqAFkuEM/hm08Wx9tMxXJqm4MgdvsPMcdiO/uouSHGVgrtfxQQZiBgZrJ8GKLbmV9dUGesEqiltsBdj9xd4OAcCYpDHc6xk96qbAmjkfj5LTaG6gRjNrPoPnGpDn7Tq2p4+o/GquhfrojezCtSY2mt2dtbRFY7jf7BS+U2ZpAJ3oYOFEAjSo499MjFtLde6yQVMdlA0rFto7ZOPfQIXf/ZFqlnXoe5/P8QWVzhdVJuu9wKsE2BWX0sK8/Gkxx+t/994KiQbf13jfG/Er/aeDIdVP+pGdyfdGDKsStNJcKbtRxy9Zk2JAgjxSMMSHP/HCz4G8cbApqo37hWIt7eh1VzApAmonWvCYRU69/Yjx2jRRxhRAfjqBQB+SO1HNHk/Ori3UB+0jHN2ScCsRnRHonfFbauyNC8wfzQxqzbQdyMO8L/8/nNlvAEhph6HJFUqBn5J81H7Omgp3BEUQY7PLgpOe6TDhlAxULD6fjq+70Anp8G1Q+yX+ljuFjTJdUQPO7YLm4AfJSBzlsxF6eLCMyIf4OTOO9hOQhtkC7Q5ib71UT6vxIah4EivUNtQHR6Fwwt+NpZpsuX6Vzv8PAYhkXUQ/CoAaUN577clwIdHfl/ggJJBTSdI4ol1Jreu2oqsBsvP4/9x5A9VyRZ56Ws9amAA== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(36860700016)(23010399003)(1800799024)(82310400026)(7416014)(11063799006)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: b6WFeXRd6FT9Jj8JDLdaB1gbTEA6sU4N4gBzuxHq84Fo8SJ3D46r2hCJnLTijX95BCkPsA7t3oRUsIIzPP1+Qc5hugu1Eyg9nKhy5uIEaAqYtdNhTQsYLPyyHduh4MTG4QzXbKLNuKKJGJBj/t7xHmVFKPl1SsyFSwWQFJ7aAW4oV6Xft3SrHJk00eAfu+YkRGGJ1YIlAC92I/trwoIzNx3IJTIYSekc9GOipcVTlG4GndtmrXYAmEV+Crl8hm1VgaL4tAOZfa10+3ECl2ZyV653HTOM3wKYTGc4OSfnnLLA+EjJRoFz47BtmM7kEPT5zqI9K7Hw/HQo4YAAI969h0uoIDESwrRGn5WuAOvN1WaHFnGUi3GEJoW82aAeIgARWaAR4iRuwDAT+J5EtY/QAQx4dYyoVlwfBC5mKqJFONhklfTbvd3J7vNKJjkhc0/h X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 13:33:50.4965 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2d395de2-b3a8-4071-e19b-08df0dadd182 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF00022BC4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4487 Received-SPF: permerror client-ip=2a01:111:f403:c107::3; envelope-from=Michael.Roth@amd.com; helo=PH0PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1788874461110158500 Content-Type: text/plain; charset="utf-8" From: Peter Xu Add a plain tcp test for guest-memfd. Note that the test will be automatically skipped whenever not supported (e.g. qemu compiled without KVM, or host kernel doesn't support kvm, or old kernels, etc.). Signed-off-by: Peter Xu Reviewed-by: Fabiano Rosas Signed-off-by: Michael Roth --- tests/qtest/migration/precopy-tests.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index a23d51126b..d57ffcac23 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -182,6 +182,13 @@ static void test_precopy_tcp_plain(char *name, Migrate= Common *args) test_precopy_common(args); } =20 +static void test_precopy_tcp_plain_gmemfd(char *name, MigrateCommon *args) +{ + args->start.mem_type =3D MEM_TYPE_GUEST_MEMFD; + + test_precopy_common(args); +} + static void test_precopy_tcp_switchover_ack(char *name, MigrateCommon *arg= s) { /* @@ -1108,6 +1115,8 @@ void migration_test_add_precopy(MigrationTestEnv *env) return; } =20 + migration_test_add("/migration/precopy/tcp/plain/guest-memfd", + test_precopy_tcp_plain_gmemfd); migration_test_add("/migration/precopy/tcp/plain/switchover-ack", test_precopy_tcp_switchover_ack); =20 --=20 2.43.0