From nobody Wed Aug 26 07:24:40 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=1786566201; cv=pass; d=zohomail.com; s=zohoarc; b=XvqFT5Ggi6vlXkv9mfG53kdF3QdWxK0pcMEKpOFz89KV08Z8uQpuzdhfXDv7V+sUcTCReGsajRJxOJSM4I1J9pjIj1ZvBB/4qY5CRcDbLg5VRcSFxHq9Aw/qCBsp2sLZOgEEZ745vWopVCtOb2fqxuNaMbUk5r6wpN+7mg6BmCg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566201; 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=HMAQLdR4S0qexBe221Ejud4O0iSt1b8JnENnEYkTSj8=; b=FXCUddG6uDIsjMH3UhD4Jo2lHfAJH7hxP9GAMZn8wq+VXTgV75ePqT7+raecOeP6hFyP5akGginoH7BWMtciOLsxZqxcmEqQQ6dQ1DlFDHgYsymGpDnuG2PXvaDEXVRpoR4cHETrzdow71TAdufDjcx0GKXOGH+9gcfc1Da1uuk= 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 1786566201840776.4111438375427; Wed, 12 Aug 2026 13:23:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFTp-0001bK-IV; Wed, 12 Aug 2026 16:23:17 -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 1wuFTm-0001T2-1V for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:23:14 -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 1wuFTk-0007KJ-DY for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:23:13 -0400 Received: from BY3PR05CA0003.namprd05.prod.outlook.com (2603:10b6:a03:254::8) by CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.14; Wed, 12 Aug 2026 20:23:05 +0000 Received: from SJ5PEPF000001D4.namprd05.prod.outlook.com (2603:10b6:a03:254:cafe::af) by BY3PR05CA0003.outlook.office365.com (2603:10b6:a03:254::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.339.3 via Frontend Transport; Wed, 12 Aug 2026 20:23:05 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D4.mail.protection.outlook.com (10.167.242.56) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:23:05 +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.45; Wed, 12 Aug 2026 15:23:04 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xPy7G3kMN1U9lVxwIg3kJVvzOFbz9JorbD2z2MqHs1Two2ttiN7E0XOjSQ0gB7ZEEBxs4Pn+0zcFu/2vzc3qAZwBTog5CcNIUPSyETTprQTh77lGT15EZgbZvILnK68KDzJPuhl4MKgiysSt8VIhMFeewrWZOyHOEiCGbnNjjB46IJp1fZIIyEvM1dgO2SYW7iRk4ugl5vqo9r5oaPjSgC5RGv3vKFByxCzn0Bx6Vxk/pYbVCbr2r/qRiUhfx2Box/v1ks//gKooi+tXZcgNeDY3hEmscvqHid5Xcxn2M6SoDgeH/Hhto2ND+mj7EfkoH30I5b9nbA4DvuHyXt6XUQ== 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=HMAQLdR4S0qexBe221Ejud4O0iSt1b8JnENnEYkTSj8=; b=fEn+anGOLeZpdUZ3Pzi5VBHazozZyZD2cEvraLoRiAU01Pn0Joh0ikT7rWJ1aRuXvZ5Ei/DMhDetwCHJGQmQJ03oDTo04GSvw5OZW7r8RI+T/O1aF2u734OJq5vSjoJrSU7afgcgldJxuoz/VZoYfjXNIiaubrWQma7Vke7QSFr6uh/sjOIwFWhOiuusC1BCf/wSlkitrHSLHUggSB5NY0i2xVWt0NBlAyQEP+7255VIiA+7htlETAJOrtC+JowDAN31PG5CKRgr4NNSQhSZHiS10EvbO+tOFZkt8riTp2mbG8JN0r/Wb/oVWxpqkkJ5RaRySyACupgKUeKsiwDUbg== 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=HMAQLdR4S0qexBe221Ejud4O0iSt1b8JnENnEYkTSj8=; b=iVYT2ZnS/ollwrytpuCYa+A1YIXlTnv0J7MecTfGlas4+BvacowBKfzPjJeKqjljk8DJKDQ0MdRPtmBlGD3DEcrtV7auzXAKaONdaGV8oOe3VxrfZfPs912t809TlhC+b5qMMjvUwo7M7oQ2gyK49Qe/0VpJG+UtUhHcr5eo9Jk= 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: , , , , , , , Subject: [PATCH v4 01/12] kvm: Decouple memory attribute check from kvm_guest_memfd_supported Date: Wed, 12 Aug 2026 15:16:39 -0500 Message-ID: <20260812201938.198915-2-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D4:EE_|CH2PR12MB4294:EE_ X-MS-Office365-Filtering-Correlation-Id: 8968c704-4a5b-466d-00a9-08def8af8413 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|376014|36860700016|1800799024|82310400026|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: s3jG0oq0RWB20HQE+mV6NAZx1aMm4dXa5nuwtQuAQzGcjfiXOTmJeDTaGZNbd2lGNg0Zt8HSPdrd/yl7CjfhZFQKLDbSr8gLJ2hyCVGB9vOFRDvpm7RmNZov8UhmtlpEIEP0VPDZl6WvLVsPU3sxMlLjudd9NuMF47TrVrONvwF/r2zVgS0qUGLB2pm0v05mZN/NdN+ikLGBDSpFh2VCvPygL5yGdx1tIbOzMoBLSQWdoM8TlwtZagvvXtcPaQM5bI3iT8UtG40+bCOg65IiJORzduNDUk87ivpqeoerA1Z1UZZecya31nMnbMOzubPTdKmN4fqyRSV0ipqNJnRrTRDERVi1RVD0YNJJedIpP1C5uNEKU8Eym2HNMiRfdXcGtPc+xvUD2znzyrR8B/vvCZ0w3D0XiNxddYd4HfKz0995uq7uy9od43HmKe7Kaw+VGyuIkWFBMIRw+FKTmlH+nkqdA1jfSHfk/dwTv7Jelntw6Y+JxUduS5uKhuvXjXuCiCovllKbcqu/nghQSAaHpv3Wgeqi43mv1KNAs+gkFXcZ6yvpifxKdJUmQUolSDs0ZhtPvnFR29B5gM7k1UeIOa6IBC5lyJ6yw8DE5ny2uWCuF6SG593PzFcyvWMRUhD9lyOoKmx338E25y/bz7Bs1vnsLpNcUMZNK74+38zn5cmHMojKbjGRSmI13KqjcfeDNgRMw0IYKLUdZNWJVJeU6A== 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)(36860700016)(1800799024)(82310400026)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Tb9BjfXRRVaVF51idkudP3wHn2HHSRjhl5xkJQPfKD7MWFkRXPhjHsnapWWqIAItZlweP9sToxKPDwKr/Sb2NEBfL2b0LXpuKQwevShZ1YL13AbeqBrotYlN6JPJAinCDpIRCK7X2Zq5ljpMR/JXUhsaz/3Lqqr989CpBlUBUMI+GZ5UNruOCdWkKGDtaupEsZdhyajO3CqiDl3F1kwvrxiU4aLro6+0pcANRXEIbXx5TU33ZdXbqpRP4syhz7pQdN6tcEzvKFQRjqp+P6oudjA6ZCnIBYgbpuB4fztFDwn8TJLCfk+F251LX9r5kmPCVKloJdRfH51DvWULQq80JnRjUhJkAVhvJhLpVeEYu5rb60HqAz+B9nahp9mqFglqbLdvoX6cL1Qqc+Xe83PP7mtjkSi1nmlmYJNEbKGP6XpWvrPNdQSMZMTicqpF7uM+ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:23:05.0629 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8968c704-4a5b-466d-00a9-08def8af8413 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: SJ5PEPF000001D4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4294 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: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566202803158500 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 --- 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 c21ea92915..406338f165 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2192,6 +2192,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 Wed Aug 26 07:24:40 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=1786566226; cv=pass; d=zohomail.com; s=zohoarc; b=dBg65VXA9BgOZgcf5bQtkc8uIlI9lZRFKDm2xOceatQjHGfAYQxnGixfxNRKwkrirx3titnjuYwPoHbfVTVpNdlYJ4Sh11qRBV4gRsoMPBBYBbHryOHIW57LkSTTWTZB3CMdLFLcpicUndhC2OuuzKxvwhBYsm29KRYlkgNe+C0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566226; 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=UFVo8YSk4tN1H+aZsCy9oHH9/UiHJ2/23fLmNVdotAdHkxx3n8TOOiLfxqza8TSnbxKfpIBkz4QCtZDQ8VEmNnOwcUdd+D2lE23xRm0DxSi2ETg30bVprmxhNWPXDNGr5Ywubwes5wU6/KUrwMSPHmkfH4yoqpIV9De8w5c9PAg= 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 1786566225992387.4966705314059; Wed, 12 Aug 2026 13:23:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFUD-00023z-2N; Wed, 12 Aug 2026 16:23: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 1wuFUA-00023D-SF for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:23:38 -0400 Received: from mail-westus3azlp170120001.outbound.protection.outlook.com ([2a01:111:f403:c107::1] helo=PH8PR06CU001.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 1wuFU9-0007OL-17 for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:23:38 -0400 Received: from DM6PR06CA0099.namprd06.prod.outlook.com (2603:10b6:5:336::32) by DM6PR12MB4251.namprd12.prod.outlook.com (2603:10b6:5:21e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Wed, 12 Aug 2026 20:23:27 +0000 Received: from DS1PEPF00017098.namprd05.prod.outlook.com (2603:10b6:5:336:cafe::73) by DM6PR06CA0099.outlook.office365.com (2603:10b6:5:336::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.13 via Frontend Transport; Wed, 12 Aug 2026 20:23:27 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF00017098.mail.protection.outlook.com (10.167.18.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:23:26 +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.45; Wed, 12 Aug 2026 15:23:24 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k1qAovWd2nDRVOSl/nmTBKj/Ms6PmeH53vzLbFO8eUKlnwofeSoO7JOUIOAiwI90LLHIaQPXEWf0Tr76pkNeja727KobMxiC5szBpXceA8EmZpCu22g9E2qYbNdL9Vvk17Zrxe0b+btHJ/EyvUwxd587vbJ+j50toEQ91wImKkhGmFhDikYyhMXNO3X6h0brFgcFOd3T3ZiSxi06H+Z50IIxr1zFLI/1nytbGhsFM2UATzc/tt6Ch8nHQiAgz7J5TMLJYKBe3nzlOp/UF4KSWsXTmD/QUuK7WePmfDdboQg2X0byVXFmCcvuiFz18rp1Sn9bgL4NVMOraGuW7SK8wQ== 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=EuSe/++7vvvjQQA7jnOl9OQ/9ra+UVdCuMhPBlPocyh0bkZvPF7hdGfY0Cj4PKUisVlLCkE2OUpeltbC1rXquwQ46niclVljeT3Ixg7+vbY1PwQW21CNAVAPLprxiSsYTegjDKkWAdp9wAwX1Ix7bHHPhrNzc4RUWGBMl079jMXBQyfJTMQ7WT8khQO3oBEANWUxLv8qC1iiki2mTaY2NgjKXXT/PTTiO68f98LeZN3SqGzvx35rvVICknkUPlESYH9vZfxUZX3Ta9+A9p1J1GZV7LGyoPEhWLmreUlgdbDJ+sCSm/MeNSpadXotDWwwpWE+rhaQnJH9kJ8FA/kr3g== 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=rMLZnOewM9avw+dwQ0nwYzd6CGbsAxY5WBTK5boOlmvLw0Osk/zv6xgFxZmRS7mXv8JF/7U5F1b9FJePmoV4+rmTJGQNh0EkVz9Zx78jW4hRy62vyt/xtlyeN9zB5EFRWDNcmgl1+TVMbqed/FaMNIBExaGszjvjLclYrVwHe6g= 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: , , , , , , , Subject: [PATCH v4 02/12] kvm: Detect guest-memfd flags supported Date: Wed, 12 Aug 2026 15:16:40 -0500 Message-ID: <20260812201938.198915-3-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF00017098:EE_|DM6PR12MB4251:EE_ X-MS-Office365-Filtering-Correlation-Id: b6b850d2-8cb1-449e-15b0-08def8af9101 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700016|82310400026|376014|23010399003|22082099003|18002099003|56012099006|11063799006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: 0NQjlrhNTZfh2I4VfjR9UvehSU2zDlcpJRoD2d20hieE+ZsZlEppTvk97C9+7jlNKaT3pWrjuLoUmMB2qhrU8+H4jIR+31PeWr9rA5uQTybbwY9mfeF047wnOvjqrH+BwZzDzt4T1pQrHHfxAH17cXF8vbri3JuSC59/rhibIsh2raBdsx5KiRbPNFPIumAVy+TCgyRp0gTPIzBEWn8jSO8XDlRNu/mZ36DmI2y6QKxw8HZ4ajsmbPQFmZ+GF5d5kok0m48yXD5uvH/MFbSOq4z9gooKtCQAL55bQ6l/AneHgT/+4Lh+8n60msllGn3daV4z6xjQHMO0tSS1RyclJ0ScW9WsTiaWAxGzzrY8wc+w44kg7jn/tn7li0xPT238T9vixSzop8EipzVIivrmQj3zx4suhSwShOtSFm7gidmv2VHyuS/NYIUqk6QIK9Z2eMOP4Mzs2j230WWni9Jm5t3/VCeCP64R0gSVPCxCsTYzpXxDgV2jUK7TpA0ZAWg5GxuJmjLVhcmbDwHJ1ppx/bPvSK3VOnmvnn4IYSKPWbULFWGt8S1LymFSHfV+ZVzv6pN7YWjHeAtUwntV3CDTU3n2VBGzTEfB1V/mdHf702QjvHhm5QtEEJE7yiPOw9pAP+ShAD6FHkM0ARPWNlPq53//ItMWtweq1v62WITSHYrlZtGbrvhHr5kZNsFnfF6MX/FMVbqEptumWeZSiOYAmA== 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)(36860700016)(82310400026)(376014)(23010399003)(22082099003)(18002099003)(56012099006)(11063799006)(6133799003)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dUDdKCmcPE4zShSed526q00gv02sqRNU9Mx6Tc73aZseG803e42XcaGc2Wsp1Ep9ED0Qbykncm+uuEtLKPC2CVw92F16/CttwQG8NtP2sU6hw4YJZcNtwnTv9o6Tb4f4o2Pfs3FDwSuFC4H4nOwBG1nRttDr0n8yW172E6jiBFVrkwBXxiyaKRuPYhWRYEYGDh/A3tVzrkNVi2MTpuwA/UgCRZHJtA+cbMQtZcbu5wtlyCeRTRQen7MI1VDFcD5qwAlr+IOy23LC7GO49NSTEexIwKd3jQdC7ir9lvcbVb2GSgeL0EpQspKmLr1QVsn7D/P2/7ewYtUzNQfmixiOMk3iI8w0MFNibYqrMKgvRoLeCGpaIZbAhOiPs7GPvVw8vg4XoCjZCSpr+KgjXEYohgm7r/JHaSGGZgvzLx0/ppMcsgHMpmakIwWyX85joSxF X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:23:26.8208 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b6b850d2-8cb1-449e-15b0-08def8af9101 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: DS1PEPF00017098.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4251 Received-SPF: permerror client-ip=2a01:111:f403:c107::1; envelope-from=Michael.Roth@amd.com; helo=PH8PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566226821158500 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 Wed Aug 26 07:24:40 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=1786566241; cv=pass; d=zohomail.com; s=zohoarc; b=j+vgTp9YttJdSK3Py4Aedy9xRMecfzqHhHoQsncARejf0MDvBwWmL9KKy1RgQCDLaYMd0FRFdeE0IOpjv3S8SMLZg0R5hXtJRiE/DQSXz4sDV2d9y+yYN1YOORqqKMaVkrW7zIHkZL9mcrnQy0o6dzRfV9Geam1GAIjnacUgbpA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566241; 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=2UhXH2seGXK4l/2t8984R8APX/c2CsV1O1RZAW+n3fI=; b=OiXf2J8QcWaOrzZotu5NL7MVfv6ewH+KzzgRG6yt+mFIbaNa3lVPJvADceDCwi4lQt8NoNq9LEtHXTnliLLqkPqAd4EvQl8I5Hqwe3C7ku0X4Tz4ix0bl3uAl5jb0R9SmVdo93THVDHi3xGqeKUsYyiAubJTIMmsX6urXujRJxc= 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 1786566241172568.5405826013525; Wed, 12 Aug 2026 13:24:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFUS-0002GS-GE; Wed, 12 Aug 2026 16:23:56 -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 1wuFUQ-00029Q-Qk for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:23:54 -0400 Received: from mail-westus3azlp170100009.outbound.protection.outlook.com ([2a01:111:f403:c107::9] helo=PH7PR06CU001.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 1wuFUP-0007Q3-1B for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:23:54 -0400 Received: from DS7P220CA0084.NAMP220.PROD.OUTLOOK.COM (2603:10b6:8:259::14) by IA1PR12MB6090.namprd12.prod.outlook.com (2603:10b6:208:3ee::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Wed, 12 Aug 2026 20:23:47 +0000 Received: from DS1PEPF0001709D.namprd05.prod.outlook.com (2603:10b6:8:259:cafe::af) by DS7P220CA0084.outlook.office365.com (2603:10b6:8:259::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.14 via Frontend Transport; Wed, 12 Aug 2026 20:23:47 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:23:46 +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.45; Wed, 12 Aug 2026 15:23:45 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XvRJMgaRty5sn4Fopk0uwHD/ivVgIyfDcP7F/SesOZZxPr0l9770hInty3bwb6OOVX+VU/IbUrmLXpRDyW0FRVMoipzV1/C87mlR+MZKirol93LJe54EGwwi183ouP22v5kZDVTZxBP1ztVrFR/nJFdNjywAkH17lwEUoZ64eW+hfdPukPQXy0V86VuEqIYiNZ1OgZlTVwGER1uXQufPwJjpn2ABtu47FxTjBpN8BB/Wb+CG+D75ks3pU/rRUT5TgbX106T6CAFuDTSj6OBLQP+/KqMCOaRKMTHweIvjgCczudBbPJW5e2cLsNvZXondC0h+rZbR2UmkZfDHWNL2ZA== 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=2UhXH2seGXK4l/2t8984R8APX/c2CsV1O1RZAW+n3fI=; b=F+Z3M+f+uPk3Qd5UT7drvnvNovG7oJv7P/H/m+o+LUwBAlYyiKtqungPYEAY7Dnw9lA6oSOC5/v3XlawClilpk/t+0ekt2M3NQu53D0QERMIkZzszzI9NdELKGfS4fgieG4yTtFu0RcFwt/vf90a6bVsB8hcrrjbVRIuuUmoC1yFjDSHAcMnaEuf2LLPZMfSHjo3OoYdUGFyd284PQzb/GiDlYZFQFiOz4m9uOAoAhHMN8p6MHyQxUmHPrRJqjskx2/gSWXIWteY7NkhKQIRQHUKXjxWQ5YgBK2JFHKpRsr4l22zeu5E7lR8/HyV3IYYJuharg72BwVRyj7ngoThgg== 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=2UhXH2seGXK4l/2t8984R8APX/c2CsV1O1RZAW+n3fI=; b=MWXjE9/DnO3VlqB8YzyqvYJa9bnhVTzIgF8Fl6gzzJvLPZf4H+DlwES+0OGln5Eh6tN97RI+SupVupcS5tkbZgPIRulV6DXoM1dXb0Kdp5HCfewnIhXi3bDz5EvT9RoEoZyCGY28c+KD3zGNxhsa17JJO8VF81A9qVqwiZSun6Y= 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: , , , , , , , Subject: [PATCH v4 03/12] kvm: Provide explicit error for kvm_create_guest_memfd() Date: Wed, 12 Aug 2026 15:16:41 -0500 Message-ID: <20260812201938.198915-4-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0001709D:EE_|IA1PR12MB6090:EE_ X-MS-Office365-Filtering-Correlation-Id: 95b8b290-338c-47bc-93ec-08def8af9c94 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|1800799024|376014|23010399003|82310400026|10067099003|56012099006|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 5W6A0lit9OwO8BsrnfGpXD0TdYmIPAHctJstxP87ur3CYVTxhCeX5Ep6cMWdrIm6N9ZezRKC2/yzIctuiT5Z9TPkLC1zzYE/q3rZekzNPJD36Zgl9ErW8bBcPaKc6b80ykJWB1XfDaabI9Ewd216Vl6IKNape6edDx25u8r4cJsQqypl98yH5ZOxvs7xE5Qd+tIXJc5zLZgb0icW/WCbzLICVHTCGxg+vRn4MPQPoM9SMaJMQAW+xlHWzYbhpbiaBnm9hMSFGCScfn76QNlsjtqI3Yl3Bn2eE/9FDc0HyBdGYGroa8ro4ogqy6vq+WCKo6MSVCsyYtEvRnD1nmcPOAdNPq3gzRurgSWeGi9cvGvflevqAY2yo6D5CrMcN16pCkuuArq6pPnt7OXLhq6Y0+G1S8g3jrYkvae5Olz4LKtsNPKOJYkLNJRXDLXPjsT0m6KuxtxdDjiyHM786hDKYQtHXp+Omx79m0XzXpDzQ7/2XcY2vP3dLXqC1FiUMuIrttUrikDPDaXPwILpByqqWHeGvl2JHtvpkYMqecnX4SKHHfwAAg7yGNaUNuy2Hh6aGlTd4Z9NTxZ2aWirFgIA1fKj9S2CfodjmF1hRIE6WocdPM7PXTe/8kI8Z4YYFDPwPgjL2g4a6pQi92NxqCzyUrYfhJ8wKBprLcF5jdNqz1RzYyGx5vWnwFk+ZlYCu2uKiaIcHKLHZbnNWJJO6RWdAg== 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)(36860700016)(1800799024)(376014)(23010399003)(82310400026)(10067099003)(56012099006)(11063799006)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kz3IDZeAauvahPVdkXlg6umkwgHY++cK+1jHdBbTWOQmCuzKblqDT9Ipx036I67hSJt2rE4hDW/u+H8pfun9z0ECj8Qg2bKKLupyzrHV8x3BDWYN4W4z3gR1nZJVl8gVo+2GT8fWCU0wlLjOZMinQIxv4CduL640+CGvp9J8xVvmhPAMGhlsiy0qNlwWlkALUP76bFrNz3N4RCdxMoQU6AxvJcUTbey74DDpMqCdGrbU3CCOBUg2BRn2yFI/u+n0tv+viM+VbZ3ot94FUH1qfIvYtRlf8Xi9sMK1rlEGvE6Ri2kPkvm5x6AyL+K/mHceNOrXa01jfyTWyZnP5suelb7btdTwAob2kRyp2m3NBIXEhEd7rYIj4JLKk3YvEX3STslXmwr596O00GXINCB8RvrOUUMRACoHg46LKnaMxxjLq9tXt6LebXNONfrtxHlx X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:23:46.2346 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95b8b290-338c-47bc-93ec-08def8af9c94 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: DS1PEPF0001709D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6090 Received-SPF: permerror client-ip=2a01:111:f403:c107::9; envelope-from=Michael.Roth@amd.com; helo=PH7PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566242875158500 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 --- accel/kvm/kvm-all.c | 5 +++++ accel/stubs/kvm-stub.c | 1 + 2 files changed, 6 insertions(+) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 120cab1e22..bda2e25a66 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -4758,6 +4758,11 @@ int kvm_create_guest_memfd(uint64_t size, uint64_t f= lags, Error **errp) .flags =3D flags, }; =20 + 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 Wed Aug 26 07:24:40 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=1786566274; cv=pass; d=zohomail.com; s=zohoarc; b=ma3DNDkzHS0NkMRt7Fanu7FBuTyW8UhAYrF/L26TtyEhF+EI/tuHhsIt2xL90697RVf6AqDWMim8goHUTAshQfWeud6UMgG5EzNLtPR8SJaaQHPQemrSnt4TMhLlT4LErcfYhGQpTeIw46LcDkWQ95EmO8ydIl2B943ZOQxy5hY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566274; 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=Oe2G99J+i/mgeIG3G2qjaIi+SFwSw1VMfoKCdISxIYc=; b=RATLikJA+EnMRCb8ReUKHCJy0MzWayMzqs2UOOjhrvTZrto2jp5fwX2V291Q3of2FydT9Ngr0Hm8fq3VgIWjItaRjfVLUww++sQvUyU141QmFA8HCrYr6RnuouKS2vYdQTKv5xdc70eJMK773qCShH9MjyJdZHJfHUdM/9rOUBY= 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 1786566274890195.96214327884456; Wed, 12 Aug 2026 13:24:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFUw-0002jA-GG; Wed, 12 Aug 2026 16:24:28 -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 1wuFUm-0002f6-LP for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:24:16 -0400 Received: from mail-westusazlp170100001.outbound.protection.outlook.com ([2a01:111:f403:c000::1] helo=BYAPR05CU005.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 1wuFUk-0007So-EJ for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:24:16 -0400 Received: from DS7P220CA0083.NAMP220.PROD.OUTLOOK.COM (2603:10b6:8:259::15) by MW4PR12MB7190.namprd12.prod.outlook.com (2603:10b6:303:225::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.13; Wed, 12 Aug 2026 20:24:08 +0000 Received: from DS1PEPF0001709D.namprd05.prod.outlook.com (2603:10b6:8:259:cafe::32) by DS7P220CA0083.outlook.office365.com (2603:10b6:8:259::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.13 via Frontend Transport; Wed, 12 Aug 2026 20:24:08 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:24:08 +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.45; Wed, 12 Aug 2026 15:24:06 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uhx3ZoeZ8oLeslOMEuqlebRmQesC7hpjlgqSVBY5/7a9CnAvaT0/KZc0EpapHuFGs0Bn8ZM4pHUVfMi8byXZkJiAFYumXboDVu3JlzKzuvWxG667Cc+c4Xafja9qrFDZdN5cQ4mXxsHDCBdVXEvkedoDW/A9jvistHrbnTaE3zkXHVtzW/1CqGJCIwWUI6yf4r3jG3+gJ06z4EMEc+exGsbbqlI7/ecLy/E0L4+nwj3T/YrUQX1sAN7OmILfcpO6IQMz8e60ird81pjaKPH4QDMAleOLpdqUg5JcOZQnIRi83ef30Q4fh7ocC/HivOme/H/Gq2A/8LQVAbepJ71QVg== 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=Oe2G99J+i/mgeIG3G2qjaIi+SFwSw1VMfoKCdISxIYc=; b=qGp5i7rh0Y47+MCYxeRIXEsGfejX4UFc2khq1Otq84s2wrREIjXk/ByIp6ZnNZCI40+c+fEOgJRIFMRB6U6PRI0Vr0BEKZGCoEzL5HYtTV9kQE8D1DxRtG1MrO+6MfhUByXXy9vjncFkPHqL7Jx64DHEstjF/e8Nf4v/pdt03a2L243yXFwv+cazu5aqks6askUB1vAMkPO8rdFBZPINtA2pMN+uOFPhytzUK1kNnjOo86HuNMFExIJnSbOFzOE1hRM/dtumv3TH2LT3bdPNyWsEmY5LWZJPOnjwiczx2PiX/tlMTLKYT+qqfQP16ynaEbjPImkM3xk0jf/WYRT49w== 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=Oe2G99J+i/mgeIG3G2qjaIi+SFwSw1VMfoKCdISxIYc=; b=aIBoFqThur8p9IDAZGYCvBfXNkxrAV8+zEp/I0R3EQW/VJH9DpNekILCahrmKPtZZkBbz/K6oFPJa6GKKFPpk7qv4afv99rdxUclC9ccNuKSZBNsIyE5mIWJII1NDIje7Mw7eEhr8RlcMPqdCH+nV9mmK7hi3noHPOdczDrppbU= 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: , , , , , , , Subject: [PATCH v4 04/12] ramblock: Rename guest_memfd to guest_memfd_private Date: Wed, 12 Aug 2026 15:16:42 -0500 Message-ID: <20260812201938.198915-5-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0001709D:EE_|MW4PR12MB7190:EE_ X-MS-Office365-Filtering-Correlation-Id: 6123b132-a742-4f83-d00a-08def8afa9ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700016|1800799024|376014|23010399003|10067099003|11063799006|56012099006|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: uOvDf1QzM6RAdheYzu4eaheZU/6r5wmur2Et72tBmbESY1CrvuFNDuQg0CRUEvm/tDHuglaJkKUN7D5eAiWEllARY/QUl2RuzgueEJBvfgpibQ0SsJneUNb8BoPoe5SvcdW1jodfb2gYSbtzn4KuFgtxnnLB8IoNDQL3AvWKCcTezb7H5rwYOLLAKKdRycJ81k+h93l2f8udG1MhmVlAskRV3EjgIOJOWkATecuiGGvlBIkCAJZJ1xIRMogAd6w+hKyQ2oOn5ycGrPdMZ2JAIVSsLEnwIxX1EP/Xrtl5QLrv20hrNLpNBuU8aKzgy1xYD6sOEUhg6iwaRmI1ETVOYAjOeHslitKRRGyLoKHUCmk00NVNyn6B+4E6/qzv0l0G/3jQPQ0Rif9xppMh6RcbsPJliBldwuXLrheYv03TePInBHeDe25F8vu2uudRo7ppympmJUI1Rz5A9AVGDBePSB3Lodbv7DH/jcKdnVdFJEV57d2bAg+6bex91ngkm0CspwclJ59hhpo/IDCZ6tciXz46zCFSas1z7BZmDk/fHNEocLFcUkfgeDV/eh4dty8evclrdMY6QeRPL0VxIn+5+PBsuSPX9qSgE+LCzGN237+Tl4DWyK10+VGdXv/Lx3aldHcuo0xZSDWNvFlI11Jev+5vFWFKZUYWt9DCTBGymf3OXeb+ezL+I94xGNSkgP4gXNUZ0mWYWcdRQpg6n0LoUg== 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)(376014)(23010399003)(10067099003)(11063799006)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qMbJdYLyj7StlNKFy/L1sfAm/1sRB8jm4Uajgd1kONDCxiQEhzonD90TgSY/VmFvWYTSCOxAOeL3dGiPJ7UafWEoVOOjxcVhkmHJisuXz2WGlGlTH8mAMUR0jgsPZ2RtEVvBv+JK729k4ysgjNSS8S3drWyNaThbMHdYBT4WyBr4bhtwVIUb24mBdSn58FUlkrKmuM7S6bJdZQqik0j+zVu0WXn7pfLgMzD4VOOyxLy9mxHLQ53OD7TTu9r1AUoxyJpe96/jvBxy9ro003btfIdNOLeJgirfmuevQGInsr4MFJsvN6z2fe/MB4ccflEU4lWotJZIYike5IzeOm05DJ4C/VCv+6F7chIoBm1QRDEZS6ut/Yf34Yc89yKXaStkKsOBfkmbuQtV3IV1qjM5V9ZFRNi40islBSjYzSWwm94yb16HQ8fbRqp4d9WU+7IM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:24:08.6457 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6123b132-a742-4f83-d00a-08def8afa9ea 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: DS1PEPF0001709D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7190 Received-SPF: permerror client-ip=2a01:111:f403:c000::1; envelope-from=Michael.Roth@amd.com; helo=BYAPR05CU005.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566275123158500 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 --- 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 bda2e25a66..3afe491242 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 2192fc9bdc..96b0a0a444 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 f0639287bf..8ed5e10710 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 5fc36708ec..4e6d54148e 100644 --- a/system/memory.c +++ b/system/memory.c @@ -1843,7 +1843,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 406338f165..b979518bf6 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2200,7 +2200,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) { @@ -2210,9 +2210,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; } @@ -2229,7 +2229,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; @@ -2365,7 +2365,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); @@ -2538,7 +2538,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; @@ -2589,8 +2589,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 @@ -2838,12 +2838,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; } @@ -4227,7 +4227,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 @@ -4241,7 +4241,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 Wed Aug 26 07:24:40 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=1786566300; cv=pass; d=zohomail.com; s=zohoarc; b=bqj9+SKUUv8riOZvy43MNJxQnexBVpgxdeqv8OLH3XuPO44+5oyRVD8KW8d5Wn95PDYMWjNjrwjYB8g9eCyjL8Hj/kKPeE3FUf+FDcv0rJNXCwX4p4ab1kWWz85b+gxcefanzvArjK1rm2jIAN3SUV3DcXJT+5UyEjngC3f97iU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566300; 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=ueFaFGi2Tjduu4z3TYgh8q8yn7Kv3cK8T2FNmvEAhoc=; b=ELg2XtoKqQLxBhoWRY1Hfl7bFlobYkjlSpzaZt8YTVmSNwYbmozWAP7PNPQiTol4Bit8TlxGUJTbcXgRtJF/pk2EC11i76nRXOMBLI+0FqpecuLm4XMaWDfevRa+GJEbLfTlzhqzpFjQnffFNpRBZJRV0v3RwDL7iCemvT0QCmc= 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 1786566300565867.8877939608212; Wed, 12 Aug 2026 13:25:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFVH-0002ol-90; Wed, 12 Aug 2026 16:24:50 -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 1wuFV8-0002na-AY for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:24:39 -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 1wuFV5-0007Uw-WE for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:24:38 -0400 Received: from DS7P220CA0084.NAMP220.PROD.OUTLOOK.COM (2603:10b6:8:259::14) by PH0PR12MB8823.namprd12.prod.outlook.com (2603:10b6:510:28e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Wed, 12 Aug 2026 20:24:27 +0000 Received: from DS1PEPF0001709D.namprd05.prod.outlook.com (2603:10b6:8:259:cafe::73) by DS7P220CA0084.outlook.office365.com (2603:10b6:8:259::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.14 via Frontend Transport; Wed, 12 Aug 2026 20:24:27 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:24: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.45; Wed, 12 Aug 2026 15:24:27 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wSnanTkkxfZZ97tjqvTLZwsU5vqq9CqApuRE8I4S/EC9R9fcSUGVX18V0dAzl2mThVc4CCUVA7Yi//G49A/T6UTTXvc+VWXJsyQD9s0fkQZ5TVJz2u+GfCsRZx0vsNHroxAL40/MbE6s/I4NAGVvhCQBOX0k91MSSZYIdpjTRpKStsTvqt2gbuAjPac44YIzq/EHfKyM0SDDH6CW3LZ/jveKR6yPhStcjM7xPULicGJCTHMkIMwHLd3c4DQWhtsTpZum2JzXWMt+1IQ3kI41nwdbIMwxhL19/+msBtDToM09A11gZRfxZqprajevO4Mkgufvk6O3xpWyJjTsWqgG3Q== 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=ueFaFGi2Tjduu4z3TYgh8q8yn7Kv3cK8T2FNmvEAhoc=; b=IlJ4jw4Oh/pt11yvKXwk/EeUF+hC63VzrcGtOCWjRilibAni5JjWYlxBxICdK/MjI9x92WoKSVdAy8V3FNfZvFlx+5DXFq+9QUirDJ09BQn2Krz03mrOmd3WYNpb/kCBEZRwwPWRvKDw5Y5IxvtmlXud2cDgH4ZW5Aq9rXNS/ZOraz4SN5DXlDtn+PrQj04DG+f4/Wti8uAy7u//bTOqlvje36/zNMeTjebsohWmXKEa9B8ZkCYC0LTxIucFW2+oDTg10QeeN0nVDY6e9Td7tjnKfIVUtGWLiy1h7l+kB8rho23xEHcSYBnXSvOXDqef0TF3Z2iObDw6ycocO1p8kA== 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=ueFaFGi2Tjduu4z3TYgh8q8yn7Kv3cK8T2FNmvEAhoc=; b=aNj0ZOKDPGJiJeJ+x+Gd4VJRr7FADzLLdlIIoEcwTJhqvJEgiHjo5CWyW9y/58KMsm6pIMC8p5nOfXzNz68C661H27l4ssLHORzUh3hrIprWTte7nQ+4fCMjqV57Vhj5jPHWxPVuTxtWq4Lkk8u1qmUpGBnV1UZykRk+xzXDQH0= 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: , , , , , , , Subject: [PATCH v4 05/12] memory: Rename RAM_GUEST_MEMFD to RAM_GUEST_MEMFD_PRIVATE Date: Wed, 12 Aug 2026 15:16:43 -0500 Message-ID: <20260812201938.198915-6-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0001709D:EE_|PH0PR12MB8823:EE_ X-MS-Office365-Filtering-Correlation-Id: 2cc1adf9-2df1-4c76-fe9b-08def8afb54b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|23010399003|376014|36860700016|18002099003|22082099003|56012099006|11063799006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: nYLtffIaKLkNXrfGvWF9nDYo3zj4WWUxoh1s0SspiEzVl/5OPClMX7CY1W7ZGg7rpjb9pRNBA8MWKo4+PK4lKrBDEsCJYITNUUKMtIr6sLkdXbHBlLIPWq3TeLzAxL4WX4ohNnqqIVYJM3pCfIPRpppAViRrpW5ytTi6lFYLoH7+/LoP3ibo8RRHQnrsgGXA7eXx1wGgKsH7+BkHWjgsXbfplZM3YUcSIJyUaAACXlyXT3uV6K5/dX3VsrlJlo7UXqlBkTg+hRJuiBNp8F6S/aB13zK8tzVRU6Wv+jNgMTiStfzw23+NZvNJc2g0JxPviXlEahl1yMsC+3HwyCdpH145ZHjNap8w1DMq/0XvXm5NhVOIwGKsncBBqhol1k4n7zOfIBaZTV1DEKNN8jp+lgCrRh/KLqV0Y48g0UDbUD79v4BqNfjnik9kyS7wHcNTahvAYn4bREdvFdGdgP3gtTNpMmRyU+2F6R+fDtM3W6KfwLKwqWSQjwxGI3eR/1hTqOrTM1Zlq5+xZR8mPmwJaeLy6Ni/b5PbwHOuGU3o3rhwZ6tWlOwD5CmHK8b3h2Bw/stb1Qx8BccZX/F9ywWNBidqpUA1qkxuF3VhaqmKbshzkqkNIe3MAG64vYZ1wY6yDLrBM1YDiKATrV05xov8NrJJqDYinKAMW09v40vAmAjEL7HRzB6gIJguYcjFIk3ArVpljnX1OT0941OoIURcWA== 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)(23010399003)(376014)(36860700016)(18002099003)(22082099003)(56012099006)(11063799006)(6133799003)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GOizrCXrxOGNSjZm+rcAdZ2Qr6n3PMDE7rc5RvjUug7JSBZ9Z8lIKenjNRbQgAowahtg5D+UFHgUXlz8f8+FZ8syEcIcv3c7V5Br/CK3sabtM5+biBKPF+RjQWBamZ9zj7dVdvfMIuOAVbuy1mvI0TWdUUAAJl+BzghAD1EDQ7+mWQ2k163XCanI9nlrDIDU8+kUWj0YZvDERdZpa73iSh6Jxfq3W6rKvn+DZvFQHqnTlXI7ow+fOHWy2xYM9VKkKYpuNI78leRWr+h8wHvKBQTOHJsLDlR+G+uOx+oMKndl2ktkiGQMbrK8YdNeRwV/LclKc3wvoBztqDwEeJwWa1PXWK0c3c8ujGNakaVh3H9JP7+WZtiD5mcbErPL95zX92uupC4trIBzJKuLlxwBC0GKE7229HEcDMFL3qzRPr74JsJUU3mdmSfrSyId2sUs X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:24:27.7001 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2cc1adf9-2df1-4c76-fe9b-08def8afb54b 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: DS1PEPF0001709D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8823 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: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566301628158500 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 --- 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 96b0a0a444..e960738af5 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 8ed5e10710..4550a19a3f 100644 --- a/include/system/ramblock.h +++ b/include/system/ramblock.h @@ -251,7 +251,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 4e6d54148e..84dcd9954e 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3660,7 +3660,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 b979518bf6..3a7a1a8b16 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2184,7 +2184,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()) { @@ -2321,7 +2321,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 @@ -2478,7 +2478,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 @@ -2561,7 +2561,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); } @@ -2837,7 +2837,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 Wed Aug 26 07:24:40 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=1786566313; cv=pass; d=zohomail.com; s=zohoarc; b=ALwKMkQZLbaahwm/KtFq1qTVnPiZv79A40Xo/Dxe+CIPFj2WA23B5vDszGoXELxYUleRx4tgNkt/cg2V4+tJ4jBMiN0Orqj8YqQQ+MR4h7rsQsde+UY5C26KhWptkptgI5j8YpMPuS7n+7m4ORujbyS23Bu7JKrtvt70ZTkRgoQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566313; 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=7DG17AqRxESqyT0eS+8U8ePdeGlFNHKiXQpNcxKoNqY=; b=LnbGq/TT0WRhBIWYM/VAqwHWtAKJvbomlJ3o5zNpHzJklbAjP2+gyaElz0qSYo0zj/u5b+HnVwFhBKOuM6ljpYF0t3asLyfMWBaqwpkJzQGxk87PwmrDjtEVIFg5SyjtrSuv0M/pzeivruQLasTRcqyqIRoObP+99j29yIKQJIo= 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 1786566313884770.4401972405695; Wed, 12 Aug 2026 13:25:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFVb-0003KV-J7; Wed, 12 Aug 2026 16:25:07 -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 1wuFVV-0003CA-Gv for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:25:01 -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 1wuFVT-0007WB-Hi for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:25:01 -0400 Received: from DS7PR03CA0149.namprd03.prod.outlook.com (2603:10b6:5:3b4::34) by IA1PR12MB7592.namprd12.prod.outlook.com (2603:10b6:208:428::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.14; Wed, 12 Aug 2026 20:24:50 +0000 Received: from DS1PEPF0001709A.namprd05.prod.outlook.com (2603:10b6:5:3b4:cafe::f) by DS7PR03CA0149.outlook.office365.com (2603:10b6:5:3b4::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.13 via Frontend Transport; Wed, 12 Aug 2026 20:24:50 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF0001709A.mail.protection.outlook.com (10.167.18.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:24: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.45; Wed, 12 Aug 2026 15:24:47 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mIfW9fuNOL0sTHKVeWjsZ337DdzdBwtFc+QZyeimyk8jxqj5s1rMPI/k0HFHrjRggUKWDdxDehkjuf//qlL60yQlxKwGgEFJyqZoVYrnx5WQF3COl5eL8dSOOjZnmcIszeGS8k8OXGxD9LgCCH9NjAGg4NsgCCdcr5yCkHTqz9ywkCQKAx6xBccSkuJRPcTPBVLobw87jRxXW4ouU3g/OPMeRlPDm1kh4jIqkze/r71KjaRlKONtIR98nIyryi3eBJWoYJpuf3QHO5Qm3SIH5uwwOOxf5ipuNf+fR2uO65UqIK1+KXakFv8UcPGcmNsWSPwSe/dvkfi/LwdGoZ4MZg== 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=7DG17AqRxESqyT0eS+8U8ePdeGlFNHKiXQpNcxKoNqY=; b=Obnj05hWDfs4mUo9ItMs5vymd8zz1may7rvPVqyiFIDoBg33fMlkAiumSFRtMDgXM5nPbfumJY5+gGbIMIRAepikRiYXeV74Z6fkqHhFTcEiFDI0tTnSIpaHwtM/7HVV01Ad3OrDlZ5firrcbM2M8984I+03SHmCD53WuuSOg5/5JelFrupbWNTRlpiEH3vzZLwYi5C+YxclRAwHBsGi+He8DUn+mohSvpm13gwesBk753GKDtikSQDnqsDEH7iRtBlkEcZEW9ZeiLThPFxoZL2nxaNyJYjaTSIoHtWiIpw7K8r2Y6SNLp9Q9v3iUUStXzPcT/6gMUSZRp4P4YlbFw== 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=7DG17AqRxESqyT0eS+8U8ePdeGlFNHKiXQpNcxKoNqY=; b=DmGgXaDRcXvg4ioVA3q5zVstuf4hEgpxS2MnHNhEshdYBUT0uPb6kvui/uixInkwLJIMejUSPNe85W21KVuA52xu3FcS6kaI3M9IMeJFytNp0GTB6tauO8LiYsqkaxaFebk0RYNWprXzVvzESUfj1VTZEPSYbS5hpKSIlu90q8I= 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: , , , , , , , Subject: [PATCH v4 06/12] memory: Rename memory_region_has_guest_memfd() to *_private() Date: Wed, 12 Aug 2026 15:16:44 -0500 Message-ID: <20260812201938.198915-7-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0001709A:EE_|IA1PR12MB7592:EE_ X-MS-Office365-Filtering-Correlation-Id: 90e93684-09dc-4fe5-c61b-08def8afc2ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|82310400026|23010399003|36860700016|18002099003|22082099003|56012099006|10067099003|11063799006; X-Microsoft-Antispam-Message-Info: 94HJIJyf/8YRjdI6Gn+3s1KEYv/YbW1GUX8iozEUJnNu/E4k1uYexs2JV6NzN4B16I7/QO8a1bpzMQZq2s+/kPi3yP+QxTicbW1J8TajYoHeDMB5oz5L/Fqh8uI5TYUgfDW0LWG6KHBPloNTjcISuVjnDZcMRLFCdLVMkxQwkY4ZAykbr0IdiL5JNu3wsoJDaeFSHlX++LYG3eVkHV2v7qaimgDGcYEaWen4EuXxIfM+wPZybq6xvQb7cNSoTOjAgnL+oe4tHTwQrAzKwXlk1gnycf+SeMKlQzV5sZfmxSoLPQWaZfFtjeBXzRHo082adm2RsmPCYfJlISWvyBlLgkSTC9XDqEujLteB+U0vk1EpSvP+Gsa2qsGZ7WJgQrvQvQiPwsITLDOHXLD5MhO++9vPFqY0PxMqwdPgzVJxnId400TAwgDNwC1uoqXao9AZw58iFBqH/ODbtjYDokMxataP9E3fUP3TIWo3BSjU7Do6HWvIXtJ+QGnG28b+LUH3H1Xn4crjRrzbqkdIkMcV3QpUvP6iwk7MvIfw294X7olVmc2pcLunFetWNsk5KrhCH7KDhoDQ8H/Zy0Nv9YeRLgZQsdmAtwlu49JNRkM7RIs20imnVB8u49NsZ7c3Et5VH/oXjn1a41EJWfFmZWfCseQVe2aXFzEC5fTOUA0/djDSjhCahD+bzmHp6kIV+fY+6dxSgYrlI03z4dNHkvxXIw== 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)(82310400026)(23010399003)(36860700016)(18002099003)(22082099003)(56012099006)(10067099003)(11063799006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: B3s5NplI9/hXG7PzOFTC+Sc+OE4hjJQn50YOhXy0ltIqUGUMvfVDz1DecDnNDyEHXOiDlz1XL4FVdFlYtj60pR3JUQnM7Q0bn2lpG4pkI+dmh6ulU1g0XVMsKf6eBDv2VLXbXb5Qd9vAeSeH/UVVhcm6wK3l/wxZMouhbgOQ6OhyLa+L0gQnXzq+nsFO90u4o2stiVfoGBskHYScQaNeWaHAp/QmXYGRc0ZbXOCMGZlJ3g5bqYHrdGYUVSJa2bLUFlTRfYadAcUkSxDTzH/vChZo5cqJpxh5zRhiYJlzodSVNR1kuVzNyQOm3N0HwIvkpbsZdenG8BhqzQIKQJhMi+jjY8LKOUhN2IhwYRXCXQQSAzGZBR16eBkNHXf/0SC5gSZas/36Jo4wa8QKfOSyEe5cdpx//t4VesLBX0+MYuXqrW184/vQRnN97maNnju5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:24:50.5796 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 90e93684-09dc-4fe5-c61b-08def8afc2ee 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: DS1PEPF0001709A.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7592 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: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566315303158500 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 --- 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 3afe491242..9e73c84f7c 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 e960738af5..e3096699ba 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 84dcd9954e..db52cfe90e 100644 --- a/system/memory.c +++ b/system/memory.c @@ -1841,7 +1841,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 Wed Aug 26 07:24:40 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=1786566348; cv=pass; d=zohomail.com; s=zohoarc; b=OYiMezGh6B8H/SHMAe2PKS88QfhUneUBA8o5GfTgPD6hFmCo4VdWTpnF8H4bNPkA8At9PTn9xjvyB3VCjl7+bv+lSR7ydVGWLWeXwbDnRewXJFxrK95iXe5p2yjrsW+lEh8hH7lX8CwwMKlT3FYaBkyjUgOi0srOo/qugANq+cg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566348; 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=T+GqLplkRmo0deA43PUxotwMAAYpNjQ8/YbVwRNcgrlAfJKi6SIJ0v4SEr8KMVEzJuRCnNGaT5RNnbOWUmDV5fRkkMlf3X0+e7vdMgJXuO+ehA4UivtrFeLbUl3TOYUU8FjZ99zY+c7CnTYcSH2rHag6p6xS6SoitusE4aEWPrc= 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 1786566347863377.3748592925532; Wed, 12 Aug 2026 13:25:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFWC-0004EW-PF; Wed, 12 Aug 2026 16:25:44 -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 1wuFVv-0003xK-Nw for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:25:29 -0400 Received: from mail-westcentralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c112::5] helo=CY7PR03CU001.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 1wuFVt-0007kb-Nk for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:25:27 -0400 Received: from DS7P221CA0005.NAMP221.PROD.OUTLOOK.COM (2603:10b6:8:25b::14) by DM4PR12MB5892.namprd12.prod.outlook.com (2603:10b6:8:68::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Wed, 12 Aug 2026 20:25:14 +0000 Received: from DS1PEPF00017099.namprd05.prod.outlook.com (2603:10b6:8:25b:cafe::28) by DS7P221CA0005.outlook.office365.com (2603:10b6:8:25b::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.14 via Frontend Transport; Wed, 12 Aug 2026 20:25:14 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF00017099.mail.protection.outlook.com (10.167.18.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:25:14 +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.45; Wed, 12 Aug 2026 15:25:13 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZYbkZhGqeweRSckr1CqxyRcXZsa9Bpg610mmhLaCWgw01IBFyLCm01FKEl+VVHX4KM0lVBf18Vmurz/4fuZisc+hwfkWL0FxKTkE4ydI4xpQDzEE0keW3uFu19ORn6k+MBAvMnpmkSNIiF5MflGcqpnIVkjUOiR7fBLEfysdgD7ePAiJpVgSCEwDB/QpiR91khJrAUx4erfSwfkmCVUztgkQF7Zu8JLDYWiG8gSQUbTheLHpfrAhyu91+uP7HO4jm8zr5coor0VnsjiX74LQebFmsAXDtLnUcX6SJDNiZV+vOiwidY3ZA4DZKfk8JWqhkG3AOZQ5PznZqGsbUOgAVw== 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=eI+IIqirhyA49Mw3ki68Iw+Ftu7WYp9w+IIrsc7cCdlWgYxNNjIYF0j5m9i+aEqg2rHA3nRDPaFmAHd6qW97HekJaHzvyq5IVFYF2UQDLSKcaDnlumwsmIsHxOlvaBLSoXEzZWH5bPB3Wmt4+V2BnTyNHX/ngDIn6XfHXiRLxx+gbfzgT3HdBp4vOKoKa3sFrHWKFuSQyfyaYXTnKNNc86zjAcnIYZnU07Ciu5tEku/pMIbAlRdvwEBPmTgkOQQuP9UL++ZXNqMkOe7qYIBI/WHL5SLevAEcgcxuDM9kprxwLMTnN30QVHxKIbvYFHvHNR0MEoyW0b+7xLy4AReAAg== 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=iQ+7TGhv3o2G5VpX60CoLPC21In7s/7DJ5Rj6mf7yGViul8YbHzIspgGieylvi9w61G7gKaF8sLO/CWQgtfNeJY+pkr8SZCv57ukxsQ0ulkyQLqzm4CdXQ6v/5vayGxOmF0S5rdPKLeYTjydh2mzEgifzWHMhqdEsNrf2BjheC8= 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: , , , , , , , Subject: [PATCH v4 07/12] hostmem: Rename guest_memfd to guest_memfd_private Date: Wed, 12 Aug 2026 15:16:45 -0500 Message-ID: <20260812201938.198915-8-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF00017099:EE_|DM4PR12MB5892:EE_ X-MS-Office365-Filtering-Correlation-Id: ea663b18-6ac7-4a49-837c-08def8afd0ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|23010399003|1800799024|36860700016|11063799006|56012099006|10067099003|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: IqEF6y/xvtBu8N+NzxvyeNCpFgBRwKAHM7qyrrQxk5Eo9BgnWi0xaNoOILrGwPJVtz8TheqOmlackYXlJ1+n/JwiY0KTpX6u4OaTLXY8WRhr3LL9l2pqtVb7louPzh5bggUdJzi0EDKc6aNU2n4Iu89kxUx70NCsHqMox9/NXIK0X6Y6lbgIAapKLstOEluw2zYOv44uxLheVxeRz/WlIcWduh6qjUHN0PF3XcmAcrqwwj00/8QBcHS6GT0+4snqgD38b5yKppKdKBNXO34Y/ENBwz1ryFiRwyUj64jK49cLGbFGY49JsoSHgfNuEVwjSv8QfrGvdHi1jyS9jcmjk0aDfL51Uni0Oqame5tfuHxcV5TW9ierqmhvUqoowR3IBO0m86kKla+HEASVllYS/qRzKPCqreqWvsXTnLQr+RZYtazi9GzME4H0g3lw7a+uyZfacinxZd53Pcyg+rsU8H7zxMcRTRffwXHg5itnCRnu0ROjwNylsi9SiCNr2HQbOMs476ea1M4/sg65+4ozKh+tlKi9o1d4ZiV0De9Yh18gTBB5sMiIcNzTybOX+Yh704nC991MdAA8bgzzBa1RXQeh+yJM9mS9wz+wHN9xnjTqmhZGkUF0zu/cbZJvxxvmMv9gAgS7LAk8K3aP+Z1jAZ5s3Bnwa2wupgThPWEz+VnEbQnvgA0LwrzLEHnXDJ7gClQFdUfjTuy5FT0Tki17hQ== 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)(82310400026)(23010399003)(1800799024)(36860700016)(11063799006)(56012099006)(10067099003)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IxmTnwGTG8/F3JHD77QfFDe66PCjr+wChSTeBqVfcGm3PtLZCPdwNRaMGBeSKrA8K0EjxSpGqMrHk0VhNH5t6+lNCq6n+JcJFOdvz/9jeKPJ/8YnME8zt/3pciPSLUf0tOzOKfEC8d90nVoLie3lyCbSmafrE13/yTzqM86fpBr2rfFJ5N/eF77JOZZTTd7b/mB71GWq1e6slV4orvLlbTI7fFDmeQM3A8G73dI9Xg1F4DatchTW1EoH+s/7mGcrGl+643Hb7k8ehoNJmMlSsu6IH5UoRn3QVXW4+oIBp+m4RKmcXSNC4T36RvRFWR0QaznV6Tmgla1YtTB/58KML4mTsttdVbXVw6uUdNtYftunAhBmaxFe7RtIWw5p/4bLb5reyaqogA1kqOhLsOts+q19+C1bgBFfPO2wJ0r2wWv7kqRFFlRLNjwxOUZxClFp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:25:14.0836 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea663b18-6ac7-4a49-837c-08def8afd0ed 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: DS1PEPF00017099.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5892 Received-SPF: permerror client-ip=2a01:111:f403:c112::5; envelope-from=Michael.Roth@amd.com; helo=CY7PR03CU001.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566349437158500 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 --- 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 Wed Aug 26 07:24:40 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=1786566356; cv=pass; d=zohomail.com; s=zohoarc; b=l6B5JoAWDtObkGxUFMlsZHlYb7B5Jh5HhSxkIO1K8me1Dz72DWOBFCTdaBcWTaeSA7XpBDSOnaPOJES47bkP2QC6qs0zduaciD8G3mi5Ed/fB26s8HVTADjb2A+6mNjLJH2naBypWVftCGv8KcuknjKm9+eBuXnGim23pB43cH0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566356; 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=1qVCjv+lnmyiERYIO4/Bun2hvzYLueGlBb5V0mvUxwk=; b=OltXYU3VYs998tQGCoreHV/J5krdR8/NF/EA8mKIvb50NB5TocAi7FNK5iLv675STk+ES7EePP/nTWIltNrw5upKTHHCCFJB1ZGvFkyk9naCc17CYvQ9Vswvo09Su5CrZrawKwn5lsHNMw6BOirH1yfoz4/AZojC8nDVNYTmfJo= 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 1786566356662296.6443752672675; Wed, 12 Aug 2026 13:25:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFWG-0004LL-5K; Wed, 12 Aug 2026 16:25:48 -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 1wuFWE-0004Hk-EK for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:25:46 -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 1wuFWC-0007n2-G4 for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:25:46 -0400 Received: from DS7P220CA0081.NAMP220.PROD.OUTLOOK.COM (2603:10b6:8:259::6) by DS0PR12MB7632.namprd12.prod.outlook.com (2603:10b6:8:11f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Wed, 12 Aug 2026 20:25:35 +0000 Received: from DS1PEPF0001709D.namprd05.prod.outlook.com (2603:10b6:8:259:cafe::55) by DS7P220CA0081.outlook.office365.com (2603:10b6:8:259::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.14 via Frontend Transport; Wed, 12 Aug 2026 20:25:35 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:25: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.45; Wed, 12 Aug 2026 15:25:34 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VA2r7L9stGj8SePdsyPxxFHxcRry6lXiHvUaf/UZaOSTSquR4ZGN8sUDoIYvGu3Orz+WQaEe4o9Cixfpy8jNJITCOKc6a/dqMkY9XaR2kc36HXKvhhfpp2q1g8r3r+ljq/vTvgIKnluCFuldqLm1wph5azmz20q0BPJ8H1juCiGUvsOr9q8ObZIF5M0zjvwv844zkgCytus2LMgm2Kd9kHvFJA4vN3avWXJqAJG0Q9HfasJtjDH5xzC2ZDRvlRh0PSy0+dlD/p/0RtgT971VxGQ1ouhntorBxUsHZ5nsYZi9/iFNOzmmVXOLtC2Z4h2SGoFTAcofn3Yy0vF3cx2ZJw== 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=1qVCjv+lnmyiERYIO4/Bun2hvzYLueGlBb5V0mvUxwk=; b=Ty7wki46BC/EDBf0ylyq1CGSK6Acc5Z4d0lHpo6FgnNRdOawFs1gu1bmFADIzWW5fJ8jnRdNPgLsztur0gf7lzLvH6ZTFcPMVz64dVIBIWAn4UQG+sOLq4RyDi7ktV8FLCk4J4DS9S59RpWDbDgtEHBk5pPul1WmXGk+6ESpp3Erfh/xZvsFRKatJz/PKgK30cUCqu1dPqgeM/eywOpz3jZcJi5mAlcE2FOOK1b5j5LWTsyEaH/nYnNMD1XRAp4MZy/2kxEcGmX4TgHjN2uDxTag7FhwZruPUVMT5w27RgU/ENQciOiRSC70C51Np8Nu3EfYztcVIdPON6ExCsYwFQ== 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=1qVCjv+lnmyiERYIO4/Bun2hvzYLueGlBb5V0mvUxwk=; b=swfP3yJNtb4tGtARUeIVnp0p1SO7mC6+JoVBF02AP7YhMLYiU4UKlkx+v/sHbEmiQPyBrj+oxiTr5enzRF585sEoYvoVIjvIRF884SI+V9gA4fetB0u317uO9BQ6oHN8flCnnVi5qrKwi6Zij22M1K3U3pKTYNMo9eW7VZWQ43w= 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: , , , , , , , Subject: [PATCH v4 08/12] hostmem: Support fully shared guest memfd to back a VM Date: Wed, 12 Aug 2026 15:16:46 -0500 Message-ID: <20260812201938.198915-9-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0001709D:EE_|DS0PR12MB7632:EE_ X-MS-Office365-Filtering-Correlation-Id: e081929e-26e3-439b-8677-08def8afdd57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|376014|23010399003|82310400026|1800799024|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: JHhCeZ2OvJ9DpI6c8vjHpz4SFP+I8xPgkS1roVTf3a1pDe8xlH7y3ZMv2sxgeJCNaiuxBVJMbx2DPQ5cHAAmVk+8k2Anr/z4qbwYMdIZMKBSR6wYUt5KUZ7mJUbrTC/ROATlo5lRI3l7oewo4d+lQs9jRxNM5hI1IejpyjOD51CR1U6jdm8Tdru//jiIsZNgcboF66R4NJXQ7eMH+KTcvANH7G2PPvMU6cDar+N/5kL6x5qJ/ojTzHf1kA8QJ6zYUYaVWBTJEGN68SPioBgDv9K2Xq1t+ZSXTh6N5G4NBCwtmR9refZtukpKRC6LVBi8bdf9b8FbaMQNJZMsKUQ1DhuEM3ohincfu6BeqFPJVYNZXzSL4zeS84h5+Mh77oCvkgCUvLg5ZcLkHQ+MNB9/EVamoUW1zDZkf26bPeGJFmHOpqmmYrzMG6vygK7glb3m4NV5C/Rj+Da6yXl6CS0PXlfDLAkt3Zal+SdFv69n4EV3SYWWBdQo6akRjLf/Zos3stqDXWsJxX26n4zGu6Cx/b+XR7YY7k3YPJY0ZRMvx9y6UMr+seupwk4SqBzQ0tCi+XodY4+D+8nGYFqDAMpAqT9xmL+NWJRnHQiaD+i+wjXyA/vFQgJe+sD/rsqFFU5qpErxTGS0O6+WrEoYUtvYmEdHmmxQiAv+27JvnqXJ4iIZrK9Qcn1jmUk4sXNjyz6u//E8RIMVuO4iz/SZqkolhw== 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)(36860700016)(376014)(23010399003)(82310400026)(1800799024)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 63gdNEpF5Un7erMR+9nFB7o4Z1/yYSlsMS2y9MyZ/ROdIXr8xhbJyQ0kpDBmHLUQbnG8LeQXGDGiuSjmQdzVBRbiys70ukawNtJZWo+ncUCJkphXek4SI/fO4gmmDtfZIxN4WEI8Wt5XG9/4aaBFqyU0d01Gd9VlV+2Mauq89E2AWLcwf0TfeA70Vk4WJkySMdKlzsT+PIqlJXtVu8fO+15B3LwFSKZPfpRjQopWw9s2QHogZIAxtQUqUi0SqvlPXFAZsqvVlKwYAG/08wy5Tk1RE2X0Bu1SZO8pIjDi2s5m3y72lyILcO2Bh2qUiiVIzbS4cBmJRkQQ1I490i7m6//Hjyrr4kVkYaKyH99uORro9fV6D9xQGoi9OFOsgYlJN0SCmuXHsTHnf/J3UIq9xVpBrsmm3Bt4bpzTY8qsNsEw3vNF9fFo/+8DYEIt1BE7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:25:34.8869 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e081929e-26e3-439b-8677-08def8afdd57 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: DS1PEPF0001709D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7632 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: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566357558158500 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 --- backends/hostmem-memfd.c | 56 ++++++++++++++++++++++++++++++++++++---- qapi/qom.json | 6 ++++- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index ea93f034e4..fbe65b00be 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,29 @@ 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) { + if (!backend->share) { + error_setg(errp, "guest-memfd=3Don must be used with share=3Do= n"); + return false; + } else if (m->seal) { + error_setg(errp, "guest-memfd=3Don must be used with seal=3Dof= f"); + return false; + } else if (m->hugetlb) { + error_setg(errp, "guest-memfd=3Don must be used with hugetlb= =3Doff"); + } + + 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 +92,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 +191,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 c55776af7d..ee981fc44c 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 Wed Aug 26 07:24:40 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=1786566152; cv=pass; d=zohomail.com; s=zohoarc; b=B87wv+kclp/z9NbM3Kt8cvyNpyqSnR/7wtoO+IvmKk3YD5pjZ+pHdXiWWyVZoT/cdGs0b4OQJCZTBAS3UgL0O9HEhjdZZibDRHyFGvQvpNSUY026EmAbP9jy/t2Pu3jcHeqUtqJ1TJD+ggT/za6PhpNj2OI/orR+h9HdoQNxybA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566152; 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=XIvMKMa4mrEaXXlYNoyPHklP5x+dihqoKea3OV5BfhY=; b=Xxqtp9Zyy3ynmjdhFv7/MGu06QNb9MyS62hoAbnCLwh86rDR3XLSJXxv2D5F6Qs584m6KT+ssTvvlJgogpXE7un8DOrd+oQ9tPPJh+I3KgomA2MfhgIXzq1g8SzPs86teNwBPzdiIcHkCWl7KnVan+wNYOk/sNs90+BwiPtlWeA= 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 1786566152528626.142306078314; Wed, 12 Aug 2026 13:22:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFSO-00084X-F2; Wed, 12 Aug 2026 16:21:52 -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 1wuFSA-00083y-Cn for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:21:34 -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 1wuFS8-0006lI-03 for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:21:34 -0400 Received: from SJ0PR03CA0111.namprd03.prod.outlook.com (2603:10b6:a03:333::26) by DS0PR12MB8365.namprd12.prod.outlook.com (2603:10b6:8:f8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.12; Wed, 12 Aug 2026 20:21:22 +0000 Received: from SJ5PEPF000001D0.namprd05.prod.outlook.com (2603:10b6:a03:333:cafe::4d) by SJ0PR03CA0111.outlook.office365.com (2603:10b6:a03:333::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.12 via Frontend Transport; Wed, 12 Aug 2026 20:21:22 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D0.mail.protection.outlook.com (10.167.242.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:21:21 +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.45; Wed, 12 Aug 2026 15:21:20 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iqzC7eXla2GEnOoly9cIH45SblDrf62SEsyNgO4+rD1UAx5NaZEI7lO/GcdhZ1xI53/TwxEFaKxHcUSPREbafRoxXa19joTZgSO9wnT08vNRcJQ60kEFbjdLnzBXCzsnq3kgiI2ZbNeNKtQGL92SzFh8T60ZFvYn8vb0ow0m5lmQaQTYw3xJYfapylElfYIW8Ic8BwEe5o6rMbSw25wEcay+he/U+rbdDkAIEugH7JfAF5oA1kQZQH3St3R30jMKnGTr1it0vY6vitL/8e1FpYNE0xyRx9RE4CtgKz7lszHg1QJd0zQwskUI1+tIlFFw9PgKkm46SKvE9hSj092uxg== 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=XIvMKMa4mrEaXXlYNoyPHklP5x+dihqoKea3OV5BfhY=; b=XwPmc3wCcWt7u3OCfMLCAI0jHEjgPo9Oaqm/ANStGJGrycEiwlIMQogG5PXYSeJt0DlWQ/BPpeCaj/HyQGqsLApw5SRT4eGnu2nFOVcKRpgbGtN5v8CQc/+HVkbigjiMFpXXzlhW0LfNE0herk/6Eiivl+SP2rY9Ta70U8ERLflQaY7W4P9sTLLsJvEi65AElgEQYEfHReKg/iXt01Yje9ok9HH9+dbF0hzsNPsktL5k04l/IhVZbiei5DZEGtRzqqlkJS6WwmGW188N6l9aC4zVRHKH/20SgGN+2xTD5fg71cvnyWTT31zD4X98GanTU2kPf0IG5afdd5ycSJ2mDg== 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=XIvMKMa4mrEaXXlYNoyPHklP5x+dihqoKea3OV5BfhY=; b=imUK9caPcd1gsgaDbJOJmH0R3yaY0fsVOuYpywl6L4XEb6eTGUgfhQZHcH18dnkcVue02qK6UqV/cxsrHUIH7Ji9slBW3qEH9nxDaTsESUZaqkXSs6M12a7GQcRQxcSkt50Lm3MKZiatCohqoPi+b6Z6RrViXjw/jQScT/fWZNY= 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: , , , , , , , Subject: [PATCH v4 09/12] machine: Rename machine_require_guest_memfd() to *_private() Date: Wed, 12 Aug 2026 15:16:47 -0500 Message-ID: <20260812201938.198915-10-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D0:EE_|DS0PR12MB8365:EE_ X-MS-Office365-Filtering-Correlation-Id: be92de22-208f-44c2-7968-08def8af465e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700016|82310400026|376014|23010399003|22082099003|18002099003|56012099006|11063799006|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: H6oI53siTRFl0Irq/8M5E/GIHLEFjlxnQkoTECaWsZ4UY42EA9m+ep4m3bewSQaAy77EjfPK+Xdep/SVIJylvyDp1Y6/2li+YWZc3Pr9408qiOlnuWVGca0rSycZ+G6TPuh2KlvH7N2V6yGk10EUOXf4LaasqBtyid7G+FmL3rgCs2QtW70LEQBji657LPnyFXQJDDjWAKzY+0/PC9a4K3zCBdqLFzYKPUoat3JC715Q8ZKGc2hWkiM1uhuIvfbQ/QrfD2ZKB0wPjNc3Nw6nY2A32/Odp/cv1L6lZlBXLNEXvOPoikFbg4MV+6MyHPDkPOIz3zzH3Ky2UtqEFuO3TzSMf8MZ6a9Xbd+vODeS1KMVaj1ZRWAxigk7KtDTM8H4XmmZ51yAJOFsCorjPZgrwa6AN8IuwmMJfW3Xjpyj1PMo4I3VD8GGRT0gGmn4i6pu9DTyYz9UPwzDZ1tdDnD7DvPje6tZtL0os62AGOrHLfs7odqCnoA25YGKkYo8CaDh5aBc4hzeQDWzhrN7eyY6n6LoX0CxgV/Ph8lR6P7uDukoopRT38nzeBodUGoHF4Qa/4DuxsrhGl/p+QSPV4mbPsZGu3lOBZmnFMQAfMNIsc48U06WHJeXMJycgkBgv0Qh/o63wFRrYR62j5mdV8lkH4qEjbenhHlFPfQWoLLz1qnZwPwsuyiOMNABWWoG5q31nNDkOGTN0oXYeIzIZTTuvg== 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)(36860700016)(82310400026)(376014)(23010399003)(22082099003)(18002099003)(56012099006)(11063799006)(6133799003)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: th9dn68WiB/cLR/oHCw3yc0mSbXzbGqEuIC43+5Maz0nAYpfzDnD/yg8l3NqGts87jmRj9H9gOtYgWJyQ2Jr9lNcKQbAijL0kYbnrWz0WXZv9TKmfcPoZrMjXXOvebdU+WbTfGuf0Md6BDkNHN2lgKwMXj+7ENTAqGAqvjheCjSx5y+C8CByqmE7plXnTWpGFWwhsvgru0GZIbfVZ0ORANXownBieFH50OTEfzq7/3aGG37Z1WPMUJWkMD5n8/acngVe6jh6QoDKWxIqWLzARalgUEEPNMVcOeuWth2oRmnPV4Guo+1tFxWrYS8XHbDZyC2MMDVU7APIDRVU7P2SsAAWjc/fCJZun8VVcefYx2tPgUKBXZrxDw3gxlrxxKw472fVVjvRM3MhM8jFPT0TwtnA4SbmRIcivSDkZjMzwRaC+4LO9TKYp4V4ONDpPvjl X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:21:21.5385 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: be92de22-208f-44c2-7968-08def8af465e 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: SJ5PEPF000001D0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8365 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: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566156108158500 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 --- 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 73b4d82b4a..b78e9c2135 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -1330,7 +1330,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 f064aa2b3e..3ca8468c0f 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -870,7 +870,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 29c68931d8..7c46db4dd9 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 4272b6770c..176d65d44f 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 Wed Aug 26 07:24:40 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=1786566152; cv=pass; d=zohomail.com; s=zohoarc; b=ENOKx6ki+3YqUYrbszKy0oHOb3YLt1rzn+XjEgmaMDi7HzTxamYLhzYpOMfL3YQzlk8piXBv7+99kmpzvLaSd+GrcRQOaVt+/1rmaGrmkj5KVeycbm49YqPObI1m5ZVjWx8HucNoCLU16u1I5+sybl6aMsFfD1Mycd+7rb3CMVQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566152; 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=alhX1xbsgSVHjgCQb6mHL8pw5rjWabpiNDVDQ6LGoHk=; b=SfzswrcygSHd76Ueo8Aung9UNpwD7/SXdz5fYkcK8D8JpsAoxzV6CNKPw1FeL0Y6Pove4QjiC2bR96pMjcKAbMxxYFZKX+r0ctLfqd+ZXywOnnPGkr96KM52Onbi4dXWpUTDz7Z4zwrcChk1dMeeTzh2Z2JauR/y+nicPfUqNiM= 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 1786566152416899.0220575539394; Wed, 12 Aug 2026 13:22:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFSh-00087W-AV; Wed, 12 Aug 2026 16:22:07 -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 1wuFSX-00086R-E3 for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:21:59 -0400 Received: from mail-southcentralusazlp170130001.outbound.protection.outlook.com ([2a01:111:f403:c10c::1] helo=SA9PR02CU001.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 1wuFSU-0006t7-TR for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:21:57 -0400 Received: from SJ0PR03CA0211.namprd03.prod.outlook.com (2603:10b6:a03:39f::6) by PH8PR12MB6794.namprd12.prod.outlook.com (2603:10b6:510:1c5::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Wed, 12 Aug 2026 20:21:42 +0000 Received: from SJ5PEPF000001D1.namprd05.prod.outlook.com (2603:10b6:a03:39f:cafe::86) by SJ0PR03CA0211.outlook.office365.com (2603:10b6:a03:39f::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.14 via Frontend Transport; Wed, 12 Aug 2026 20:21:42 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D1.mail.protection.outlook.com (10.167.242.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:21:42 +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.45; Wed, 12 Aug 2026 15:21:41 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GJScoabUh0avuHqjtKObV4uS9N/ulnXQKvn1HFfx+4OMs2wiAKMsqnY0RsIqa2LeyfZ8sgBbhqlrO2sBvRUQzu2ndiKtTg2kdD7+JSJxqUNYF0K6k/TACAIuMBf2JWqmcSG1ym/q4URU48H85vZFm0HX/xNNVYAX9CuoPZgkMyAFiiyOj/ctgOQhZO7PP5BSTZHhaZzfNtIA3QAxH6wllGW1Dlo8a2Q7q6PjqKDEnl5Op9D4360VD/m9QGB4t/kqpZZaETqTQ+CgltJ+Yxjsrbsf/e4Rdq7FgKAPSCRYGBjLrsMXfDxAd0UWpYRrYSnMDRS5uqA6AodzxrTQ+I04bQ== 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=alhX1xbsgSVHjgCQb6mHL8pw5rjWabpiNDVDQ6LGoHk=; b=Nqw1CdvjgfUGyz+9Hy+cHphc4o1vE82U1oWpyb4yjsJpv5xg7mwCZC+aQw7FXgQea89rtPgZbvtWCHUK/+sM3tXHFUH/8/2REqRDyB2JGxgo91bTaPe5dYruRhcOkUFbN/NMR5sELnWfNC1cUq9b62vSbFbA8KiMIsAdQ12on08d4MTG+6LcvYeaAQTF4eSVh0CdkL38aRlTqP7JGwoJSLIH7faGYOc8JPLddlWPKa6ddq0MQdp2AVveTYC6jni0F6pDTskCcUgW5pS3kMuD0UlYG74jGL4wBubTGiL5UgME1BNZ/u2FakX8zuzHlVnEohSSeZY8phqII4soZeP6rg== 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=alhX1xbsgSVHjgCQb6mHL8pw5rjWabpiNDVDQ6LGoHk=; b=QUaQlZt1VOI9b4tleOB5cLO9VkgBB06Q+89sKb77nXytM7Ri2Ft9zSLwgHINI3EFGKOvP7dfDw7whPq7WjsK7kSjehFoD36v2f0qU9vZtAbAsg28iI1leLSD/ILBDpXyiGcwXIFVHN+lRoDdIYLlFWRpyDMx9B9bOASQ59TaZFA= 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: , , , , , , , Subject: [PATCH v4 10/12] memory: Rename memory_region_init_ram_guest_memfd() to *_private() Date: Wed, 12 Aug 2026 15:16:48 -0500 Message-ID: <20260812201938.198915-11-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D1:EE_|PH8PR12MB6794:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f31b7bf-80e5-4fd0-eeb3-08def8af52b6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700016|1800799024|82310400026|23010399003|10067099003|18002099003|22082099003|11063799006|56012099006; X-Microsoft-Antispam-Message-Info: +cpJA2fDteGaSgWtG2PkDwyC5qBW93jhyoaesJnsydan5TC510qXgXsREW/gtbCwFDQOTQ8KDBrTalAXb1wjx9nPgw7n8BhQU4P8z2IIii7zNd1gfCgeudi0LdLe/nrWvaWPS/SzZEJ45eq6rrQCMCTj6Vwm+UAkl9qonV94u02E74BGAKelIc/tLwIoFOLAF1OO/ij2PnvqflQ5cTenzq9PjIsjf82gk/hyC0BC6Uw+BQg8+/Albx0oNgSFBQlo83jq1+kzjbkiqsHJBhLiiiOP7WV0Aj/qH/Uh+fVcbR8mhweMdLYbyrepzTZw+1DHqr0OZii79aFh99SPs1y0UcLFdApjTtgBzePldz2DOCzfo4MRUZeuHK5V8JZvovZ1JYcHdK1ne2Sr6PUcTn4e3YIULQgbHywuRaB5yg1o8BLNTiZjGnulxiOguR1At2yuTDhDm6dA/UbAFn7X4yFOZJHvEySVjGSiuz6YBXM+h+TO33C3OS6mZK82Zp6J5eR0bqJ/PENCLSVzt+1qxHkX3uLHMaGgdeHe9qz8RzqNeEGPVUrgWk8pQU6OdpZBJGfAB++q2Xflwvy6PwVNRhUD/8EzFEPUqW737yNCiBKv5LxSo0uiuMxAHtjq6kxN+e7TvV+4t/aERjsdRMB7LZ2yAhggGX2hyd6vxShPYtcOxwfZOqOVHEA5uC0x+bhjrYqSd1fOJ+5JKaNPrZSNfeLmUw== 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)(1800799024)(82310400026)(23010399003)(10067099003)(18002099003)(22082099003)(11063799006)(56012099006); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gSzRD5+GXY+80SmhbGYfCPExdXI2mpqwU74Rmj0q9im3a0N/vLj7TJad9YJskgtvDebQXAw1fBj/1z94255fG1uIpnPClG5ovZeagblrQXk9ZqIqwhXSdNzLlfS23c7nQ6t0+NNLleTFYE/tjYAv6nxlVdsVmQ/nrhY0P14dI8jZoxsF87GIOOcrcw2Xb8S2oCjIzdRTHwM7DfocWZWBEWVNvETkH2Hidqn6GLQ5h/W37ILl2aF1cVcci77Qv1vZ5DktwdPd3WZSoYO2e9nsRhlrPKyF24FoyEE2uWoZ43i1ua2JfY4vbNXk/HvBM9CCXasbMTBsgt+LrTjNfly8paKpjt361qmrDvdHpI3145TZmEG0kuKWJlwQxyMZNsNEu2f8kaRKO6OUdjR18X5J2DjB70MGxXP9V8p6fpFcLm8tVF2U3FTrFloMVH+12/QR X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:21:42.2527 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0f31b7bf-80e5-4fd0-eeb3-08def8af52b6 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: SJ5PEPF000001D1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6794 Received-SPF: permerror client-ip=2a01:111:f403:c10c::1; envelope-from=Michael.Roth@amd.com; helo=SA9PR02CU001.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566156699158500 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 --- 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 80e87fe602..87e6290f46 100644 --- a/backends/igvm.c +++ b/backends/igvm.c @@ -256,8 +256,8 @@ static void *qigvm_prepare_memory(QIgvm *ctx, uint64_t = addr, uint64_t size, igvm_pages =3D g_new0(MemoryRegion, 1); if (ctx->machine_state->cgs && ctx->machine_state->cgs->require_guest_memfd) { - if (!memory_region_init_ram_guest_memfd(igvm_pages, NULL, - region_name, size, err= p)) { + if (!memory_region_init_ram_guest_memfd_private( + igvm_pages, NULL, region_name, size, errp)) { g_free(igvm_pages); return NULL; } diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 3ca8468c0f..b9537edb82 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -871,8 +871,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 e3096699ba..d9ccb0142b 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 db52cfe90e..05b2943bcd 100644 --- a/system/memory.c +++ b/system/memory.c @@ -3655,9 +3655,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 Wed Aug 26 07:24:40 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=1786566171; cv=pass; d=zohomail.com; s=zohoarc; b=bao0/3k19omFWtOA2XJ343G0iiEjcNkq48altdzdC+CCyHa6c3UfsV2406+ocQieAGjhj2mEsF/uYAWBfGeqYc/4JLBv0qH/sCObz44/mR3Uo6N8nUfYp0NdpmkgFTU6SjRq4jDYdNwanNOIG2sPN2t+3B9sT25OYTMaFhyaPoE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566171; 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=B21v/HIps2uhmQFcuMvWcD0jSZyprV+Y+3ZsRCdHki8bndhEC8hOSdEvTy8KYYqVMM0naRo97wUr0g5O83KjiTDC82lv04PQzLgLFmbXhvggMEvbBgBTk3M+gczwmz/rsJqdOk0god40FdAWzZNjeqIt/lg9gA2ERQbB144DOnQ= 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 1786566171624844.7214624180745; Wed, 12 Aug 2026 13:22:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFTE-0008RR-Df; Wed, 12 Aug 2026 16:22:40 -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 1wuFTC-0008Qn-Rw for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:22:38 -0400 Received: from mail-eastus2azlp170100001.outbound.protection.outlook.com ([2a01:111:f403:c110::1] helo=BN1PR04CU002.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 1wuFTA-0007EJ-QW for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:22:38 -0400 Received: from MW4PR04CA0334.namprd04.prod.outlook.com (2603:10b6:303:8a::9) by CY5PR12MB6297.namprd12.prod.outlook.com (2603:10b6:930:22::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.13; Wed, 12 Aug 2026 20:22:25 +0000 Received: from SJ5PEPF000001D7.namprd05.prod.outlook.com (2603:10b6:303:8a:cafe::49) by MW4PR04CA0334.outlook.office365.com (2603:10b6:303:8a::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.315.14 via Frontend Transport; Wed, 12 Aug 2026 20:22:25 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D7.mail.protection.outlook.com (10.167.242.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.3 via Frontend Transport; Wed, 12 Aug 2026 20:22:24 +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.45; Wed, 12 Aug 2026 15:22:22 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rY15SBMFU/1AfJzcsmUoiER/7V+sMM8FC6KHsnMH74gkfID6iePs0Gq6W9GROgb2+HBwcRsJapmNwUZsJSTMg8eI8Hqk3xWIL/VkXv86iKWOwNjtPEUlAeKTOxkANROtiNO1QiEI8kTBP3FoG7AhxBcBAxx9L4TSUS7WzmhHLNN0CjVIsqEUDRaJj9W6hw7YsNAOfuDqFwdhJCJsj+ISK8aFk1ERXKCxzAwLbcHX5YgzDHL7CGBXFyT3dQqCfm/pvQhO2Q+6/kLwkQpjiW2/QW+HVIru+79/6P0tbtw0PhwlCMU8tUjx8FRYaU4lStkQKo0N68VQYtcBItxZFUw/NQ== 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=I6MjHqpAMTaiy/lizK2f0tEWLt+oOXdEEbVtguxjzDKtYHhX2VKAraVvrG1VkfRoIf9u6ZSQAxd0MzB/a3tVDxj+MyhNX0VDApFM0dEUUt6Q7Jmo1gIy4tpDKBUU7tkpv77znwjIk9NkaHIhizbz1yEZANgygOfEV8WRvDcQchEJqpz3sXbD2M+znm+mGj1Lwv01EjyNvqxCv9CoMnsJnuOnCjmJI0XJPXCXmdjmhHVssHlzorTgVZJVc8uByoQ7x+VaJAsBgbyACO61LbFXwcRXTgjajCCZgyC/V0DDOmrrXUS06IaDh+03K17fK//BsjZaCvWgcH5PwvyAOBeUWg== 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=iJGRCjZGqY67O0ouG6ybgnFOxrqfkFQVYqZbYbqE1PQe+GrXI1XhAPh4/gBrSiaPgkZeFkqhF4+1b8pPjiBejDBIsKy3YwyN0ySF/m6FCSUlS29ivnMC0cgFTzYmH66OWDindUtPMDuGTj9O69RFmoSqUYA/OkHKKtVsLlUcxiE= 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: , , , , , , , Subject: [PATCH v4 11/12] tests/migration-test: Support guest-memfd init shared mem type Date: Wed, 12 Aug 2026 15:16:49 -0500 Message-ID: <20260812201938.198915-12-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D7:EE_|CY5PR12MB6297:EE_ X-MS-Office365-Filtering-Correlation-Id: f1a2466b-c7c4-4067-c8bf-08def8af6c2e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700016|23010399003|82310400026|376014|56012099006|11063799006|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: EwwdfOdxFbu3751V9SElkHXWk5v24ET1XKcjcgFtK663uraXm3qWrcuPRytVSb4pC7MfsMpLhNgsN9djECCyJgTtmIN8ugXDucAw6hykLht15/fWeqvdOTMrio24eSPJ/w7/+qPtnEDWl0z97A5E+qCPAZIhBNDYKLsgiylxet/ETIi+7z4LXtJLqQRk2s8soYVKqpmOxkLP6DjVLp9xajqk/JAoi8hZqPs/0xFhVlZ92WfwMzbcy61czC/jnPF3UiYDAZCr94OYr0mAbHI5lNWdZJenNOHf/4neD12mOVbVv2KmXybECloI6+xHJdu6deibtj1pjU9kqGR/5M66hJkxaOrte2Wkj+q/xV2uAQFgrQqJgVbankMd0ArsYx2DhRJoK0V+7lA+HD9IL7lNCwi1DU1wxC3FX8xhvfMKo871XQAae66vZ7t4azh7DJGPWZQyAxZX4ShedNMZQx1REKaFWQsd3458dTRG4ZLvYwHe+AszqNFeXf/vZTccSDHcARnb7ogVFbtM0l59hShMTMrTJ/24wAox9cMOLObJFA/DQ3QZKM82PareFjNoNBPDfgIuo5dNTQsha9mCqcVhBzmVbVa54wjCYb9rb5FqxI3p0N+OYQfvOqprMoThDtQb01OWS+agq5OIOfv6w/+KJGGcd0JAUgCIW+PbxpYgip/lkpsEq/qj9HI4jo/W5Wia+s9PgGciiWYIyfKK3HkawQ== 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)(36860700016)(23010399003)(82310400026)(376014)(56012099006)(11063799006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: klbagII8kEXMRotpjbfT93VHeW5yQJ1VS5P10BO0SPAiUPSh7DYR576kWmJwznCTmCOTGVFuBszZyapFqK0OsNIOP2SvHS1FPBKYg6/SFBJ+WK/BvTho5igZiXBsMCHPcUxVnyQ6TmYsQ0SUbT/k4XqerWJ7jHgV09kT9XACKyiyb9e2kQvz1PU/3hVv2haOzzvxwAYVOOu6YVMk/Q4Qr0guuklYFcU/ztBaemt30TxIwK92CqfYTJ3Kd5Y1fjmodVLuw+ZorHpirsTEW3w3S7uDniPR6EgQ6Ks+aODDF8HQs0Dkfo5++ptd/+UoBD3EHg/mLRm+4w85ijsjdvzsYaVIPWwk0SCP0yKCGmaBzx8WuZoshozfAxOzB+GKAc3lV/90Z9HpjGxK9+RrDmLJP01WGaTXUDPGTrCdaZMeXO0jfGF8ZS1DKQSW2FXG5qcd X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:22:24.9809 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f1a2466b-c7c4-4067-c8bf-08def8af6c2e 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: SJ5PEPF000001D7.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6297 Received-SPF: permerror client-ip=2a01:111:f403:c110::1; envelope-from=Michael.Roth@amd.com; helo=BN1PR04CU002.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566172583158500 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 Wed Aug 26 07:24:40 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=1786566191; cv=pass; d=zohomail.com; s=zohoarc; b=iDlC5Y6zdFiTfxFt8tGyeywwj3bT8XcmJoi07WpU2mRGX8nm3CeM8IAxzrOzjcwI++jYAgF5tqYAGhgsxlMV6u0Rw8vEkU+Ta1C0lUknE4QJ0hmHZ5Yp56fiC3wBz1Z35NfnsqeUDAvNCz45b0zc+MpGPU5lybgLP9Ujdly7kUY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1786566191; 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=EHtBvNNv2wZlfWLRLwVIM4XS9qCoKmedY4xK+Mhhpfg=; b=Pbj6JZtBNpwDI7mPHDxEBBwCpTa3DxRFNt+3dN0RjJn/HxxniYDOoQXf6ouP1O6SmivefKzjYBw2bM9fKy/eCa4gzqK9hKqPNnju7L0UOWZdH/UAspvfluyTtfA1S1nyUqCnuwvfscX50D286ZW+7JtNrMsaTh4VDDPyfmY6FYU= 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 1786566191643995.4243228464468; Wed, 12 Aug 2026 13:23:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wuFTS-0000om-38; Wed, 12 Aug 2026 16:22:54 -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 1wuFTQ-0000mr-8j for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:22:52 -0400 Received: from mail-southcentralusazlp170120001.outbound.protection.outlook.com ([2a01:111:f403:c10d::1] helo=SN4PR2101CU001.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 1wuFTO-0007GI-BQ for qemu-devel@nongnu.org; Wed, 12 Aug 2026 16:22:52 -0400 Received: from SJ0PR03CA0104.namprd03.prod.outlook.com (2603:10b6:a03:333::19) by IA0PR12MB8301.namprd12.prod.outlook.com (2603:10b6:208:40b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.13; Wed, 12 Aug 2026 20:22:45 +0000 Received: from SJ5PEPF000001D0.namprd05.prod.outlook.com (2603:10b6:a03:333:cafe::2d) by SJ0PR03CA0104.outlook.office365.com (2603:10b6:a03:333::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.25 via Frontend Transport; Wed, 12 Aug 2026 20:22:44 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001D0.mail.protection.outlook.com (10.167.242.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.315.6 via Frontend Transport; Wed, 12 Aug 2026 20:22:44 +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.45; Wed, 12 Aug 2026 15:22:43 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uFnuX7e+OdWhQXJ+4P/tSjrVrOdlXa6axbxferO6viOnMgNunmxqEI2DmveA7l4Nvg35iMwKfNOtavJi/jBt8h7dxjrDnAVYB6lfSREpalBZAbdDQAIV7e5yNf0Robed4VWjiMPaOGjStUcZ4BXAqwivUMwtoCdWZkwMhurJYN8DeMMc3sROgzno/QUiHw7vI+l8t0qFOgmH9femVcGHoUfPq+pFFif8UnBgeORAzT/TBBSZVd8SKIY63Yg5iJCFOu7/133iyQF3O/b4/Z4co5xo+M8ylYIF09iBeEFT6CPKA36+KzyFJuSv+IJWlZEHrH5FT5HMD6wCMcusvvt4Bg== 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=EHtBvNNv2wZlfWLRLwVIM4XS9qCoKmedY4xK+Mhhpfg=; b=A5CDUwGDGCbNChwtHA/APunxZvV1hUSrS2REOCHVpzFH+5rPgjSY2RTWdvy9/iBnNi4h16k3YtBRI3MEk/LgSzogcHUNI3z9atan9N29DdLHpecu7peloiHaQr0HBkDvMOrR1d5ziQ6MfvZ4ENkJQ+8ILXcN7AiuLmPrfuKuoUaptp309irpgtt4Nsu49IWnl/kAn3LrSENcm5kBbjB/L7xfmTuyhqn4gkpHMXjtJuYa9NXeww5Gkfws44iNXjQHCvkiokJa6Hft8IRM+q670ohaVeYArH4YefB9oinqZWukzsiAPj1x+CbJ0oE96DsRyhthQeGfb+8Qj7ERCT7k7w== 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=EHtBvNNv2wZlfWLRLwVIM4XS9qCoKmedY4xK+Mhhpfg=; b=x57mzIU8Su96nK5GVvzKDU+CYQ18tL7FK+s45XJlrOMiLlen2oTL1YG4+mmMIHv7DRhZm2TkID0M1mOc9choCTOrkwnMdc0AgcASAule9cTjQTR5SX4vmqqbB2wSrsllHa9KaiMPskGv/wbxUGB3V1osy9TD27FhnYjPy1Xs4qM= 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: , , , , , , , Subject: [PATCH v4 12/12] tests/migration-test: Add a precopy test for guest-memfd Date: Wed, 12 Aug 2026 15:16:50 -0500 Message-ID: <20260812201938.198915-13-michael.roth@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260812201938.198915-1-michael.roth@amd.com> References: <20260812201938.198915-1-michael.roth@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D0:EE_|IA0PR12MB8301:EE_ X-MS-Office365-Filtering-Correlation-Id: f7da2a83-23bd-4537-8a60-08def8af77b6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|1800799024|376014|82310400026|23010399003|11063799006|56012099006|10067099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: xXhvhIhh+dxGqhGT2sS/JEEWfgSwCdInxC4ruUlqd1WnGJNTzQlIw2lsOTJf2+FMDK/BBeJ24GdAqwG5x3P5dXpqykEXRwOLwU46T6SYYk/T+9IuzmH8iBPYMLkg9IN+/8+b9MVdj66lI5HSNhQ5arWPc8LuP5Viup4XUzpqnPnCkc8fIrWAVVTYZGQAwCbqiUF/e7pOw1RpyIigJ6RMZGJ8oX+d5uN7Ksf9IctWYLobUUTAZSFaOKk+VZzXLoLVokha/g/UVSCw5FZKZidKUm9mwzIHQa4cnOZLHyiFVNLCq36hKDY2o3XbWhJHPQYjtY7E8P6rscTLy3tDv4h1Yrtt26TK0KhaKpJtz3VZ/Yq4hCSNeL059Q+ufh12bTIjiqH8XyqPZmeg0iNIY/Df0r6n58QNDC27ZV9svB2xGZnkOWQHW/BXlsqcVSrW2HG5N5mTelswmdJzJSqUWgU6LJ8Lana2gcmarIKxgBLyHctC9M/ktAz4OrhZFTBa3gK0hCZL5NyNl9yhDN+atJQoiHxG3OIQk80citnw8I/I12m/gT5aeTnzEexbdBbxkLyQTUccLctxTa6l8qjLp60ZcExEF3OLbw1KSLfoume55JeAoia3c4T7BdTKEdRCDM3Q3JFUw5vGSDiix5OydNF09G4a9Ys/TTG5aXPgktwj1MyvC2pYnxeQhlWf2+mCQcTSSd62GMxbM1VyAt7vZVQ3Zw== 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)(36860700016)(1800799024)(376014)(82310400026)(23010399003)(11063799006)(56012099006)(10067099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j7Cd3BrxDK0YOl/6pfhFFmYHEu3uYRGpIUksO5/Wy3SiVbtnm+MszbZTdfVHucuumnCQPgxZyf8H5DxFcck3/QeZyeYiJAHJxrwhgu5vHGR+xcRXtsdhFE4oP6+VR9hOVPgog1KHMGOC/T+N0gxMQVbnkkqnqQMwsX3aM8kir5XvDMnHFtUNdoW1/ad3FZTUoaJJcyTnnnjvUv6aVuvhZF/M4ULtr7xMrPm8Og/Q/oq9EJoQQyTdp4Vlaa8m6Ctml4NEFq1KQ7M/GIoYsiFHrZoAJAayIirgeeqzV8rI6nELN2pfc0pyxNsqtCUPujhJqZexUghZK8AiwVKziqNspBSPh1elpBXKEVp8rY1tbuVKA5vp7L8YLQPYEbiW8uQEQ3m6Udd18sRg+EWm7CyPweTa1PQfy9VcTCjClCS1WsZ7bTHJn9i52ySSNlxS9A0b X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Aug 2026 20:22:44.3252 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f7da2a83-23bd-4537-8a60-08def8af77b6 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: SJ5PEPF000001D0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8301 Received-SPF: permerror client-ip=2a01:111:f403:c10d::1; envelope-from=Michael.Roth@amd.com; helo=SN4PR2101CU001.outbound.protection.outlook.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.104, 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: 1786566194756158500 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 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/qtest/migration/precopy-tests.c b/tests/qtest/migration/= precopy-tests.c index a23d51126b..8146f37d61 100644 --- a/tests/qtest/migration/precopy-tests.c +++ b/tests/qtest/migration/precopy-tests.c @@ -182,6 +182,14 @@ 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->uri =3D "tcp:127.0.0.1:0"; + 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 +1116,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