From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722756; cv=pass; d=zohomail.com; s=zohoarc; b=VMibX+CvjEykXTJGk7XK9ua02qIh0oq+j1td3yTwTpKNqSoV4NprvvNgA6kefXQxm0JwkVkijoZrfVK8pkq2l5Ypq7mQspiCWHUEgryE9HlImZZ0rCbvL7xz8toB78fcWJYwihV2xVrt90PbAcZilCUDi1ZiZNDVoA1A7WnQjUI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722756; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fBzLiVF0LcwUzOwUxdhWXxnzaOdeFBAaIqk1xLrzlSc=; b=fmKq/E8QFbGfpsVS73AgUYj+fBs16iPRFWbdXhkSJpiCdGqoj01EDEtOMp0rM5AEVhtMOsBiCiXE9n1QotDRLHtq1BFvE2HrHx1hcXZNelmpYrBuK+Mt2HzhK/gniZyrH3QYTnrG2Cql0og7IbI2HM508HAMKUFhPR3h9FvwLkk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722756001578.250697832013; Fri, 21 Nov 2025 02:59:16 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168573.1494547 (Exim 4.92) (envelope-from ) id 1vMOqa-0007hI-FX; Fri, 21 Nov 2025 10:58:36 +0000 Received: by outflank-mailman (output) from mailman id 1168573.1494547; Fri, 21 Nov 2025 10:58:36 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqa-0007hB-CN; Fri, 21 Nov 2025 10:58:36 +0000 Received: by outflank-mailman (input) for mailman id 1168573; Fri, 21 Nov 2025 10:58:34 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqY-0007TB-UX for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:34 +0000 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azlp170120001.outbound.protection.outlook.com [2a01:111:f403:c107::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 05e0d14a-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:34 +0100 (CET) Received: from SN6PR08CA0003.namprd08.prod.outlook.com (2603:10b6:805:66::16) by BL4PR12MB9477.namprd12.prod.outlook.com (2603:10b6:208:58d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:58:29 +0000 Received: from SA2PEPF000015C7.namprd03.prod.outlook.com (2603:10b6:805:66:cafe::d6) by SN6PR08CA0003.outlook.office365.com (2603:10b6:805:66::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:58:27 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015C7.mail.protection.outlook.com (10.167.241.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:28 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:24 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 05e0d14a-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=s8eAMa3A/DM8/2a/mFH2Tun8BemMcv5S8g7SnlUwdBpQ1VCnNyXDovA5cDo0VPgUTZWnyLxcKRccADLiToU6Tyghz4+Zp7HyhV42eGV4c9o3nEo26KVdKVRJHIJpezFGLqRO26MxAiHRRByPrHsw3KrG1QC4LizHKXh5n9uAoUSlm9blt3tZuI1TiGOsNaerMCIvedQ07YK7qWw+OeBC73P2wHCI/7PcdO1zRkgjxqHd5Pg1xlkLPf15iH/jOg140G3tDrAq3OsAKA+MsRfbuxO+dGzCYySLFFNgpaYBHDVKHPGCH+08RIHHZZENT+1/XCf37cU1+cC+KAkcDNQfhg== 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=fBzLiVF0LcwUzOwUxdhWXxnzaOdeFBAaIqk1xLrzlSc=; b=A45K6U/L3CBdDgO8l4TqJdU8AumVZMPromSzcbkEOd1NmErMRli2NUeIYF4UJjwdoXy84PN37/3lSgXTYD/66sbDlpAtsYdhTdvjqVeVj3PAvPEN6Y+Pbrjox05UmyES/q3KYOfR+bA9obv/GN8AA5qXrS3IA0VjD3Z4EL8svcF1Fur3wf2GPLdFSEngVXgnCzulf0Uad2rhpBYQMUCwu7zZQ3DN5iQoGxFH4/FmR410HN1PuYgJItF57VJufRujWc6hD9yXskOivH/4rylRBkdaHVgxcYKuIZoOwVPKal1whI5pr0z12Oq3W16H6vERm270SVM+alzbwd6rmPmvjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=fBzLiVF0LcwUzOwUxdhWXxnzaOdeFBAaIqk1xLrzlSc=; b=FhREJAoAUkE+1BPW0RaiUGD233oivWc28nmbY1wMKGJwiRrDsdyBWNa7vfQ5TwK+kIgOneAPhDeUs4I0tDPPTLJA7dy7ZW4MTpBQ1wj1obl6jCP58kM+X2wnzQSYLPacCrk3n5pmCEjA5PfVeadGtjprlbI+HAo3aX9upI1VuOI= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" , Stewart Hildebrand , "Daniel P. Smith" , Daniel De Graaf Subject: [PATCH v4 01/24] xen/xsm: remove redundant xsm_iomem_mapping() Date: Fri, 21 Nov 2025 18:57:38 +0800 Message-ID: <20251121105801.1251262-2-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015C7:EE_|BL4PR12MB9477:EE_ X-MS-Office365-Filtering-Correlation-Id: 33d183ea-3829-4c9e-8e37-08de28ece6d1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?hBFfxkA7eNxxTgWk3KaCuyQS/CH088vmSOMW4QB4iPAPTyQNM9mbOFSa4nr8?= =?us-ascii?Q?4brLl7Md/PZ50YnUHHoh1oRYDc8DXcGSM4376vbrmMeC4+UtpVcAr+EgleSe?= =?us-ascii?Q?DHmj1GZJ7aO1Bw/tOtksowA9e7+4pvLxVQugQxPLH9dtUJ4+TmW1pvDBonJR?= =?us-ascii?Q?SRN7iGMmb6kWEyYn8cszpPl05TLZW4wnZNVIQJa89NuFcl5nqAs9bKX4qQVB?= =?us-ascii?Q?Z71NdLt1kSxzxeYSYFCs+K3uVZzfjOVbcIVjoDNRlZgHOtor28eZQdHaI0R1?= =?us-ascii?Q?8BgHo0askabD2lh+cfrsAGwbzaggLlfis4SqyVLr2Du5flJ86OGdELFnr4k7?= =?us-ascii?Q?VIIb92aZrxtGTWgUj9ajbhG7C98eux/A7YzPKO+/84YRCeokv0QcOjJJx/0x?= =?us-ascii?Q?TWUcu9G0ng7XAynfy3VuNxJzJ6Zu4tCjN6EkdXQhlDOiAFXLgIhN2271GXbd?= =?us-ascii?Q?z+Chof8OJg2m1lSsmdsrjfs/wzNbneN2/qmF/Q8YGBA5d80nMGgk0NBtJ+Dt?= =?us-ascii?Q?ruGOCIwJTMr7Ix9mLx8RQJxQJki8+igOhp3jWfDXg+a6SoNAWWTpqmQZ7WNi?= =?us-ascii?Q?DPa3xQQiKV/ti8jMZvwuhsjvOxXJjPJLDUEfjYNZrwO/5S38nnVB/VRt1REf?= =?us-ascii?Q?DTDUQFuE4c6jfBSUreEzl5wTfpgcFFiLj/l3sIIyE3ji+Z/gfvYS7VSChyJi?= =?us-ascii?Q?QJeVQJyDs0KqtvYmQh/gDpUs0CNHGFXXYde5AIItFQ0UyguHf1rCy6RNuolc?= =?us-ascii?Q?a0z8+hFjmBU+kKpZ6rPrWhBR9TUMh/EVJBX1CJnni/t2EvGQgPHm1ltwSbUT?= =?us-ascii?Q?5Db4ZjAuwr0IvVFjzmVz+yImUSdkvKe7Etxon61Z2pCU2b0EjBCg/DIX0R79?= =?us-ascii?Q?SEbjwAbgLH0bc24b0IwuWIbiQihVqVmUg80qD7bnTo3rZoWWs7SRLNNTpkbl?= =?us-ascii?Q?DaC7DJkchRJ8DAY61SLQLUOKDcTlavQcXQQiMNRoYuuwBLb065eeeRRb7+hY?= =?us-ascii?Q?4WxCntqMx4NcPp2HjTUs5IWP84/R2nL7Dcp81OGUSry01csjy/BaRaBvFtSu?= =?us-ascii?Q?ctZPBOw++tRaBc8+ZTLHTP/CnCq/UtbFdryLwJJ20theb92R9mI3PUukhnMe?= =?us-ascii?Q?2iQLuunMIaLG6wmOZ78iM0VRQHmITBw8pyJW/QMg1qruXTwf9fv1K9pFbcqA?= =?us-ascii?Q?0ZOwbLhx3IU9gbqdt2AcKV1gLqYEm448xdauy2sfPLydDhsTs+psySzkdrPy?= =?us-ascii?Q?mnNScgEpN/72KI6ETU1ajOTKjRihjfUt8a0Ujc+eqBj5J7nVXnJviEwCFesg?= =?us-ascii?Q?Em4pvfBIAB6HxDthk4x2aQDj3j1vlXS4BbFwaflz49qM+M/24xjTGJnAQsJP?= =?us-ascii?Q?t4MGDwIFaVA5cuXSLWsdjju+dtFNvVPqsoNrnG7DWjTCQZ8LwzvDhPPrViYl?= =?us-ascii?Q?0DiMGmBiIS+tl0KDReJrxJGdJHdNmsLmCHaT+hy7MeK8lsysjQqwupGkd/vR?= =?us-ascii?Q?mav/babQupIr8KNgrjxCNieBAFfyr07RvrjHk3XUQ4l9bBDpSf4yPszcWcNN?= =?us-ascii?Q?xXHHrWaUunZcbwTPzM0=3D?= 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)(36860700013)(82310400026)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:28.2339 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33d183ea-3829-4c9e-8e37-08de28ece6d1 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: SA2PEPF000015C7.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9477 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722757058018900 Content-Type: text/plain; charset="utf-8" Function xsm_iomem_mapping() seems redundant, and in flask policy, it just directly calls xsm_iomem_permission(). Remove it and use xsm_iomem_permission() instead, with the benefit of a cf_check disappearing too. Signed-off-by: Penny Zheng Cc: Daniel De Graaf --- v2 -> v3: - new commit --- xen/common/domctl.c | 2 +- xen/drivers/vpci/header.c | 2 +- xen/include/xsm/dummy.h | 7 ------- xen/include/xsm/xsm.h | 8 -------- xen/xsm/dummy.c | 1 - xen/xsm/flask/hooks.c | 6 ------ 6 files changed, 2 insertions(+), 24 deletions(-) diff --git a/xen/common/domctl.c b/xen/common/domctl.c index 29a7726d32..86da0086de 100644 --- a/xen/common/domctl.c +++ b/xen/common/domctl.c @@ -707,7 +707,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_d= omctl) !iomem_access_permitted(d, mfn, mfn_end) ) break; =20 - ret =3D xsm_iomem_mapping(XSM_HOOK, d, mfn, mfn_end, add); + ret =3D xsm_iomem_permission(XSM_HOOK, d, mfn, mfn_end, add); if ( ret ) break; =20 diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c index 469f497744..1ff6c63f4d 100644 --- a/xen/drivers/vpci/header.c +++ b/xen/drivers/vpci/header.c @@ -67,7 +67,7 @@ static int cf_check map_range( return -EPERM; } =20 - rc =3D xsm_iomem_mapping(XSM_HOOK, map->d, map_mfn, m_end, map->ma= p); + rc =3D xsm_iomem_permission(XSM_HOOK, map->d, map_mfn, m_end, map-= >map); if ( rc ) { printk(XENLOG_G_WARNING diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index e801dbcdba..e4e1c680c8 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -570,13 +570,6 @@ static XSM_INLINE int cf_check xsm_iomem_permission( return xsm_default_action(action, current->domain, d); } =20 -static XSM_INLINE int cf_check xsm_iomem_mapping( - XSM_DEFAULT_ARG struct domain *d, uint64_t s, uint64_t e, uint8_t allo= w) -{ - XSM_ASSERT_ACTION(XSM_HOOK); - return xsm_default_action(action, current->domain, d); -} - static XSM_INLINE int cf_check xsm_pci_config_permission( XSM_DEFAULT_ARG struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access) diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index d9e5c831f3..1d72431d32 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -116,8 +116,6 @@ struct xsm_ops { int (*irq_permission)(struct domain *d, int pirq, uint8_t allow); int (*iomem_permission)(struct domain *d, uint64_t s, uint64_t e, uint8_t allow); - int (*iomem_mapping)(struct domain *d, uint64_t s, uint64_t e, - uint8_t allow); int (*pci_config_permission)(struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t acc= ess); =20 @@ -517,12 +515,6 @@ static inline int xsm_iomem_permission( return alternative_call(xsm_ops.iomem_permission, d, s, e, allow); } =20 -static inline int xsm_iomem_mapping( - xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t a= llow) -{ - return alternative_call(xsm_ops.iomem_mapping, d, s, e, allow); -} - static inline int xsm_pci_config_permission( xsm_default_t def, struct domain *d, uint32_t machine_bdf, uint16_t st= art, uint16_t end, uint8_t access) diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index 96dc82ac2e..b7b65a7122 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -75,7 +75,6 @@ static const struct xsm_ops __initconst_cf_clobber dummy_= ops =3D { .unbind_pt_irq =3D xsm_unbind_pt_irq, .irq_permission =3D xsm_irq_permission, .iomem_permission =3D xsm_iomem_permission, - .iomem_mapping =3D xsm_iomem_mapping, .pci_config_permission =3D xsm_pci_config_permission, .get_vnumainfo =3D xsm_get_vnumainfo, =20 diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 9f3915617c..89e790b774 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1167,11 +1167,6 @@ static int cf_check flask_iomem_permission( return security_iterate_iomem_sids(start, end, _iomem_has_perm, &data); } =20 -static int cf_check flask_iomem_mapping(struct domain *d, uint64_t start, = uint64_t end, uint8_t access) -{ - return flask_iomem_permission(d, start, end, access); -} - static int cf_check flask_pci_config_permission( struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t access) @@ -1945,7 +1940,6 @@ static const struct xsm_ops __initconst_cf_clobber fl= ask_ops =3D { .unbind_pt_irq =3D flask_unbind_pt_irq, .irq_permission =3D flask_irq_permission, .iomem_permission =3D flask_iomem_permission, - .iomem_mapping =3D flask_iomem_mapping, .pci_config_permission =3D flask_pci_config_permission, =20 .resource_plug_core =3D flask_resource_plug_core, --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722751; cv=pass; d=zohomail.com; s=zohoarc; b=AjoI/2v3zpLNGkIyfr8QarAIhqEne8YuqJfOEuoE4ib2rblbNTDBkafC0eX8UQoZlN1vmpmnP0nrIchsPPGGblpqoRD80k/7h7JkPQdBBLntn4i8eBm0uG/TBSJgg0hvxZB9QVbhSc6PznfJc0bQT8jZe3CZtnv66XK7kimJ7qs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722751; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/qN6QOTfDkP9ovx5v9FOHYWiIbKZEtnqTSmaa7qbMxI=; b=bLKCGey+i8D2tcEvF4jQy/nT4svNp+1eZWsphBky6h1Q0BMu9NILkFOiRZ8OodZbM0HdYFTV3EBqnOIGkiSubmeHRjzFTlcPvtzHIrWFXhz7fHn1eYh+gCx9P1KDaYwRi2N3C3QsYd7/04td2DtfU0FsIcOgIvYE0RnDPFYY7no= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722751132137.59171473068466; Fri, 21 Nov 2025 02:59:11 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168574.1494557 (Exim 4.92) (envelope-from ) id 1vMOqj-0007z1-M0; Fri, 21 Nov 2025 10:58:45 +0000 Received: by outflank-mailman (output) from mailman id 1168574.1494557; Fri, 21 Nov 2025 10:58:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqj-0007yq-JL; Fri, 21 Nov 2025 10:58:45 +0000 Received: by outflank-mailman (input) for mailman id 1168574; Fri, 21 Nov 2025 10:58:43 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqh-0007TB-Qg for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:43 +0000 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazlp170100001.outbound.protection.outlook.com [2a01:111:f403:c105::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0973cfbf-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:42 +0100 (CET) Received: from SN7PR04CA0002.namprd04.prod.outlook.com (2603:10b6:806:f2::7) by DM4PR12MB6495.namprd12.prod.outlook.com (2603:10b6:8:bc::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:58:31 +0000 Received: from SA2PEPF000015CC.namprd03.prod.outlook.com (2603:10b6:806:f2:cafe::80) by SN7PR04CA0002.outlook.office365.com (2603:10b6:806:f2::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:58:31 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015CC.mail.protection.outlook.com (10.167.241.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:30 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:28 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0973cfbf-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rtVbDNiIPWKH3o1u3UwwgLUfiSoAS8p/K70GL1vfzftMcGzZtpkoCufQVWjk0Cna7VRFS1/z+rvZfaClOPOIYM8AlCfw6FfNPRt1oxZpUEaV1a5B65adsLOfPDhFHTtjmpl2e30bWsOa6UIjG83hq/abegngfCOP8J7J746pOx82B4uNJedND6TWFCP3m+q+65svBCHJ2RQjn090P/BS137QPn2fwuy3SAIJOgLLcMvDuxD5W20LOSsyNHKJHVpyC1vO9uI4GzQEUDimhWTbM212ps4pp8eXOjv4kcprMhZ1MpUUOaGnRRaomGNWIStNX6uaunmqwtH38Z5ms2yM6Q== 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=/qN6QOTfDkP9ovx5v9FOHYWiIbKZEtnqTSmaa7qbMxI=; b=gUFGIMy4bsePrl2QZWPz+JA1XswnkklHudq6chtoydamUaN24wdxnh1eYTPRHzqBV8HtLoDnR9VZUA36CYNxEZZduQLdTPrwHd0Tl2lhh/m8rWqEih/9S7mybxP7jkBorb3pUa8Vk+q8K3SvIqk75WCQaofOmw7bybfLl5b8IjEUSHt6rx9gSTKqWlNFN+5EWwRiKyjVvEpM3oAR1swzSzsiIZiLCn/6UXHaGEvtg7VnvoJtIObzG/+OwDEuGqH2lhV7JTPmX0/KvcybH152xnmMVLj9y+937eImU9at5yNxhTiNxXpgOCYKdrvsCcCTvYGcZTr0eSmxwaVGB3ywFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=/qN6QOTfDkP9ovx5v9FOHYWiIbKZEtnqTSmaa7qbMxI=; b=GGLgwfgVSylCWW2EAJ68HYKb1ytbvCAb3HPaTiMVuC/WQB08JNqCQi5mUTS4oJaG1o2G+aUjfHgiaFv+KexHp/8d3JWS/QlnZMrFogm9BRIZDFBsTPuML7Fx844fAnwHbb+71qA/2uRZRZQQNLZRiiezmNtTroIBSTiHrcMYHgw= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Anthony PERARD , "Juergen Gross" Subject: [PATCH v4 02/24] xen: consolidate cpuid library Date: Fri, 21 Nov 2025 18:57:39 +0800 Message-ID: <20251121105801.1251262-3-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015CC:EE_|DM4PR12MB6495:EE_ X-MS-Office365-Filtering-Correlation-Id: c6925e70-7175-4225-76ab-08de28ece877 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ENjvpS0SGpP6HAHS5E+Dj484FqS0q/ys+9leSe9fDSrzRBUj8LBHzbi/ZEyy?= =?us-ascii?Q?Bi5V/GwPcaspapcNZuseF8i6uG+2b3szHHF40myooQNEqKgBNgo6kp7Be3V3?= =?us-ascii?Q?+5A88pWccmR49HnpA7xv+f4w+m6DGNp2cObgj5xUv6NerLoHeTF/3HfjWX9p?= =?us-ascii?Q?RO808yJeJA0B3YKn7BgmesgzyO+dPwN/ly9khVWX8Np4jrMl+3XUKy53DL/f?= =?us-ascii?Q?dA5HtK4kenKY3tEhVCvH4Zo9dB/2lGgU2sTzNyebhfQJ+IReHaHuoQoXTohM?= =?us-ascii?Q?AuA1ymghmgzlmTN1Mt6nEUX8yMQo/cpl7+PshF7c69+TnIpy4pavv1LlnUhj?= =?us-ascii?Q?xXP3YvCTnMZdtsYLiP1D+V4TYD2JQIsKM4Be4cNohzD4OGeyIK7bPbcXyKAy?= =?us-ascii?Q?oh5xhA6Jscc6vCs4VTq1akIFAGtPhpbIsYk35JgdoTEIV7bnG1NTyGgS4zB6?= =?us-ascii?Q?V/7MtKdVrZTOIC0jqce4ePkIeI+iHSor3UmFA2sowIrhy/uT1yBY4oKHQDDy?= =?us-ascii?Q?kowaJBLyjw2Blm6n4WVA9Vih1rTFdN3fRD12lT4CFimRr4bRCKrBd2mcAfXL?= =?us-ascii?Q?U1+zTFwoOIJihH/tmNZXrsGEiqdEkHH8plQdjARwEeOPtqsqHJzfVEP5+1e3?= =?us-ascii?Q?z361tw3OwLir0o8pVzO3miUnfYgk9NBI8XsrMp8y4iRwQHxN9PTVHTjBcGzP?= =?us-ascii?Q?NXUv4hvNx0qCGknUpMujDMPqtgNPo6Zy1JS+zaZp7hG9QXX0RMiS5Ja+AANJ?= =?us-ascii?Q?8wONhRly6b2nOohDdAchuv/Jp6cSpLaUbFg9gwBPpGFMQIlf/Onrf0xxWPK1?= =?us-ascii?Q?PFeYH7IQn8rM2pW61azMruXxhDoj84eknX0bviftya4rou0aOGWrxcvY+Rj3?= =?us-ascii?Q?9CW0A9TMHJF7gpMqUqDAFcLyUnK/8BeDBBQ6AQRrxSf7CIrGgej41CI3xPWP?= =?us-ascii?Q?2KJD82P4N1bmQ6yuaJq2v3VOQl1zgx+dO0XJwJEWYpltcs0qM3fv6uiTWwEr?= =?us-ascii?Q?7/eVlfmITSXJ4nazotTFxGslsEIE5TdhJRiffr6+bJG0mlRU6rSID2o1Okwk?= =?us-ascii?Q?+eG0QSLCLEoAnDLaLXcjQO924b+KR8JN/9ckxe4X8M7THt74ciUuktnoezNL?= =?us-ascii?Q?wEHwVDxrywZntGbMvyNa+dYDMC6+CYsMaQ6nYJ6nLcYPlLnLdUqo+ZITPVrS?= =?us-ascii?Q?HCQE/pEUsKP1FORwaFtyWiGWcJg+aiAYDSxrddFjnQWXWgqtkLw/sA3F6LGa?= =?us-ascii?Q?Gnxuz93uujN9umWwYxdihggPSqaRVbSLwSMqiHHn9FYmJkR/NxIA85Sj+8Nm?= =?us-ascii?Q?/dORgnYc0EImX6Ih1iekQXlN3bn8LMC8OTR1uZQA0BDczndYVZqdbTZchHVw?= =?us-ascii?Q?/P9q/rXfAIX9274YuMs+t3bpakdO0OtKPDmVpC/AyrONgqVhdZqcWjbdX8M7?= =?us-ascii?Q?SgfZFYGn5osBaABlqEUzF3YIo5pJElXd9ejMkwuaOl93aXZf844wZSHHtKKx?= =?us-ascii?Q?yyJ8Zav9+LvQ0IhXa3CjqwQowc+TVvIRWnawgtoehQQTe8/rl46X4C+PZgb0?= =?us-ascii?Q?VYExlq/QREqX6dQfxLo=3D?= 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)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:30.9989 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c6925e70-7175-4225-76ab-08de28ece877 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: SA2PEPF000015CC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6495 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722753102018900 Content-Type: text/plain; charset="utf-8" There are some cpuid library functions only referenced in XEN_DOMCTL_get{,set}_cpu_policy-case, and shall be wrapped with CONFIG_MGMT_HYPERCALLS later, otherwise they will become unreachable when MGMT_HYPERCALLS=3Dn, and hence violate Misra 2.1 - x86_cpu_policy_clear_out_of_range_leaves - zero_leaves - x86_cpuid_copy_to_buffer - copy_leaf_to_buffer - x86_cpuid_copy_from_buffer We seperate these functions by moving other functions to a new file named cpuid-generic.c, and modify related Makefile-s to retain same behavior. Signed-off-by: Penny Zheng --- v3 -> v4: - new commit --- tools/fuzz/cpu-policy/Makefile | 2 +- tools/fuzz/x86_instruction_emulator/Makefile | 10 +- tools/libs/guest/Makefile.common | 2 +- tools/tests/cpu-policy/Makefile | 2 +- tools/tests/x86_emulator/Makefile | 2 +- xen/lib/x86/Makefile | 1 + xen/lib/x86/cpuid-generic.c | 273 +++++++++++++++++++ xen/lib/x86/cpuid.c | 260 ------------------ 8 files changed, 283 insertions(+), 269 deletions(-) create mode 100644 xen/lib/x86/cpuid-generic.c diff --git a/tools/fuzz/cpu-policy/Makefile b/tools/fuzz/cpu-policy/Makefile index 6e7743e0aa..9d4627887b 100644 --- a/tools/fuzz/cpu-policy/Makefile +++ b/tools/fuzz/cpu-policy/Makefile @@ -22,7 +22,7 @@ CFLAGS +=3D $(APPEND_CFLAGS) -Og =20 vpath %.c ../../../xen/lib/x86 =20 -afl-policy-fuzzer: afl-policy-fuzzer.o msr.o cpuid.o +afl-policy-fuzzer: afl-policy-fuzzer.o msr.o cpuid.o cpuid-generic.o $(CC) $(CFLAGS) $^ -o $@ =20 -include $(DEPS_INCLUDE) diff --git a/tools/fuzz/x86_instruction_emulator/Makefile b/tools/fuzz/x86_= instruction_emulator/Makefile index 459743f4d9..6e2363a06b 100644 --- a/tools/fuzz/x86_instruction_emulator/Makefile +++ b/tools/fuzz/x86_instruction_emulator/Makefile @@ -25,7 +25,7 @@ x86_emulate/%.h: x86_emulate ; ln -nsf $< $@ =20 CFLAGS +=3D $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -iquote . -cpuid.o: CFLAGS +=3D -iquote $(XEN_ROOT)/xen/lib/x86 +cpuid.o cpuid-generic.o: CFLAGS +=3D -iquote $(XEN_ROOT)/xen/lib/x86 =20 GCOV_FLAGS :=3D --coverage %-cov.o: %.c @@ -49,16 +49,16 @@ $(filter x86_emulate/%.o,$(OBJS)): x86_emulate/%.o: x86= _emulate/%.c $(private.h) $(patsubst %.o,%-cov.o,$(filter x86_emulate/%.o,$(OBJS))): x86_emulate/%-c= ov.o: x86_emulate/%.c $(private.h) $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) $(GCOV_FLAGS) -c -o $@ $< $(AP= PEND_CFLAGS) =20 -x86-insn-fuzzer.a: $(OBJS) cpuid.o +x86-insn-fuzzer.a: $(OBJS) cpuid.o cpuid-generic.o $(AR) rc $@ $^ =20 -afl-harness: afl-harness.o $(OBJS) cpuid.o wrappers.o +afl-harness: afl-harness.o $(OBJS) cpuid.o cpuid-generic.o wrappers.o $(CC) $(CFLAGS) $(addprefix -Wl$(comma)--wrap=3D,$(WRAPPED)) $^ -o $@ =20 -afl-harness-cov: afl-harness-cov.o $(patsubst %.o,%-cov.o,$(OBJS)) cpuid.o= wrappers.o +afl-harness-cov: afl-harness-cov.o $(patsubst %.o,%-cov.o,$(OBJS)) cpuid.o= cpuid-generic.o wrappers.o $(CC) $(CFLAGS) $(GCOV_FLAGS) $(addprefix -Wl$(comma)--wrap=3D,$(WRAPPED)= ) $^ -o $@ =20 -libfuzzer-harness: $(OBJS) cpuid.o wrappers.o +libfuzzer-harness: $(OBJS) cpuid.o cpuid-generic.o wrappers.o $(CC) $(CFLAGS) $(LIB_FUZZING_ENGINE) -fsanitize=3Dfuzzer $(addprefix -Wl= $(comma)--wrap=3D,$(WRAPPED)) $^ -o $@ =20 # Common targets diff --git a/tools/libs/guest/Makefile.common b/tools/libs/guest/Makefile.c= ommon index a026a2f662..da3c21e67e 100644 --- a/tools/libs/guest/Makefile.common +++ b/tools/libs/guest/Makefile.common @@ -35,7 +35,7 @@ OBJS-y +=3D $(LIBELF_OBJS) ifeq ($(CONFIG_X86),y) # Add libx86 to the build vpath %.c ../../../xen/lib/x86 =20 -OBJS-y +=3D cpuid.o msr.o policy.o +OBJS-y +=3D cpuid.o cpuid-generic.o msr.o policy.o endif =20 # new domain builder diff --git a/tools/tests/cpu-policy/Makefile b/tools/tests/cpu-policy/Makef= ile index 24f87e2eca..2f946b8a5e 100644 --- a/tools/tests/cpu-policy/Makefile +++ b/tools/tests/cpu-policy/Makefile @@ -46,7 +46,7 @@ vpath %.c ../../../xen/lib/x86 =20 %.o: Makefile =20 -test-cpu-policy: test-cpu-policy.o msr.o cpuid.o policy.o +test-cpu-policy: test-cpu-policy.o msr.o cpuid.o cpuid-generic.o policy.o $(CC) $^ -o $@ $(LDFLAGS) =20 -include $(DEPS_INCLUDE) diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/M= akefile index fefa29a06c..eb79abd5b4 100644 --- a/tools/tests/x86_emulator/Makefile +++ b/tools/tests/x86_emulator/Makefile @@ -248,7 +248,7 @@ xop.h avx512f.h avx512fp16.h: simd-fma.c =20 endif # 32-bit override =20 -OBJS :=3D x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicate= s.o wrappers.o +OBJS :=3D x86-emulate.o cpuid.o cpuid-generic.o test_x86_emulator.o evex-d= isp8.o predicates.o wrappers.o OBJS +=3D x86_emulate/0f01.o x86_emulate/0fae.o x86_emulate/0fc7.o OBJS +=3D x86_emulate/blk.o x86_emulate/decode.o x86_emulate/fpu.o x86_emu= late/util.o =20 diff --git a/xen/lib/x86/Makefile b/xen/lib/x86/Makefile index 780ea05db1..ac6d4369f3 100644 --- a/xen/lib/x86/Makefile +++ b/xen/lib/x86/Makefile @@ -1,3 +1,4 @@ obj-y +=3D cpuid.o +obj-y +=3D cpuid-generic.o obj-y +=3D msr.o obj-y +=3D policy.o diff --git a/xen/lib/x86/cpuid-generic.c b/xen/lib/x86/cpuid-generic.c new file mode 100644 index 0000000000..465bdee35a --- /dev/null +++ b/xen/lib/x86/cpuid-generic.c @@ -0,0 +1,273 @@ +#include "private.h" + +#include + +unsigned int x86_cpuid_lookup_vendor(uint32_t ebx, uint32_t ecx, uint32_t = edx) +{ + switch ( ebx ) + { + case X86_VENDOR_INTEL_EBX: + if ( ecx =3D=3D X86_VENDOR_INTEL_ECX && + edx =3D=3D X86_VENDOR_INTEL_EDX ) + return X86_VENDOR_INTEL; + break; + + case X86_VENDOR_AMD_EBX: + if ( ecx =3D=3D X86_VENDOR_AMD_ECX && + edx =3D=3D X86_VENDOR_AMD_EDX ) + return X86_VENDOR_AMD; + break; + + case X86_VENDOR_CENTAUR_EBX: + if ( ecx =3D=3D X86_VENDOR_CENTAUR_ECX && + edx =3D=3D X86_VENDOR_CENTAUR_EDX ) + return X86_VENDOR_CENTAUR; + break; + + case X86_VENDOR_SHANGHAI_EBX: + if ( ecx =3D=3D X86_VENDOR_SHANGHAI_ECX && + edx =3D=3D X86_VENDOR_SHANGHAI_EDX ) + return X86_VENDOR_SHANGHAI; + break; + + case X86_VENDOR_HYGON_EBX: + if ( ecx =3D=3D X86_VENDOR_HYGON_ECX && + edx =3D=3D X86_VENDOR_HYGON_EDX ) + return X86_VENDOR_HYGON; + break; + } + + return X86_VENDOR_UNKNOWN; +} + +const char *x86_cpuid_vendor_to_str(unsigned int vendor) +{ + switch ( vendor ) + { + case X86_VENDOR_INTEL: return "Intel"; + case X86_VENDOR_AMD: return "AMD"; + case X86_VENDOR_CENTAUR: return "Centaur"; + case X86_VENDOR_SHANGHAI: return "Shanghai"; + case X86_VENDOR_HYGON: return "Hygon"; + default: return "Unknown"; + } +} + +void x86_cpu_policy_to_featureset( + const struct cpu_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES]) +{ + fs[FEATURESET_1d] =3D p->basic._1d; + fs[FEATURESET_1c] =3D p->basic._1c; + fs[FEATURESET_e1d] =3D p->extd.e1d; + fs[FEATURESET_e1c] =3D p->extd.e1c; + fs[FEATURESET_Da1] =3D p->xstate.Da1; + fs[FEATURESET_7b0] =3D p->feat._7b0; + fs[FEATURESET_7c0] =3D p->feat._7c0; + fs[FEATURESET_e7d] =3D p->extd.e7d; + fs[FEATURESET_e8b] =3D p->extd.e8b; + fs[FEATURESET_7d0] =3D p->feat._7d0; + fs[FEATURESET_7a1] =3D p->feat._7a1; + fs[FEATURESET_e21a] =3D p->extd.e21a; + fs[FEATURESET_7b1] =3D p->feat._7b1; + fs[FEATURESET_7d2] =3D p->feat._7d2; + fs[FEATURESET_7c1] =3D p->feat._7c1; + fs[FEATURESET_7d1] =3D p->feat._7d1; + fs[FEATURESET_m10Al] =3D p->arch_caps.lo; + fs[FEATURESET_m10Ah] =3D p->arch_caps.hi; + fs[FEATURESET_e21c] =3D p->extd.e21c; +} + +void x86_cpu_featureset_to_policy( + const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpu_policy *p) +{ + p->basic._1d =3D fs[FEATURESET_1d]; + p->basic._1c =3D fs[FEATURESET_1c]; + p->extd.e1d =3D fs[FEATURESET_e1d]; + p->extd.e1c =3D fs[FEATURESET_e1c]; + p->xstate.Da1 =3D fs[FEATURESET_Da1]; + p->feat._7b0 =3D fs[FEATURESET_7b0]; + p->feat._7c0 =3D fs[FEATURESET_7c0]; + p->extd.e7d =3D fs[FEATURESET_e7d]; + p->extd.e8b =3D fs[FEATURESET_e8b]; + p->feat._7d0 =3D fs[FEATURESET_7d0]; + p->feat._7a1 =3D fs[FEATURESET_7a1]; + p->extd.e21a =3D fs[FEATURESET_e21a]; + p->feat._7b1 =3D fs[FEATURESET_7b1]; + p->feat._7d2 =3D fs[FEATURESET_7d2]; + p->feat._7c1 =3D fs[FEATURESET_7c1]; + p->feat._7d1 =3D fs[FEATURESET_7d1]; + p->arch_caps.lo =3D fs[FEATURESET_m10Al]; + p->arch_caps.hi =3D fs[FEATURESET_m10Ah]; + p->extd.e21c =3D fs[FEATURESET_e21c]; +} + +void x86_cpu_policy_recalc_synth(struct cpu_policy *p) +{ + p->x86_vendor =3D x86_cpuid_lookup_vendor( + p->basic.vendor_ebx, p->basic.vendor_ecx, p->basic.vendor_edx); +} + +void x86_cpu_policy_fill_native(struct cpu_policy *p) +{ + unsigned int i; + + cpuid_leaf(0, &p->basic.raw[0]); + for ( i =3D 1; i <=3D MIN(p->basic.max_leaf, + ARRAY_SIZE(p->basic.raw) - 1); ++i ) + { + switch ( i ) + { + case 0x4: case 0x7: case 0xb: case 0xd: + /* Multi-invocation leaves. Deferred. */ + continue; + } + + cpuid_leaf(i, &p->basic.raw[i]); + } + + if ( p->basic.max_leaf >=3D 4 ) + { + for ( i =3D 0; i < ARRAY_SIZE(p->cache.raw); ++i ) + { + union { + struct cpuid_leaf l; + struct cpuid_cache_leaf c; + } u; + + cpuid_count_leaf(4, i, &u.l); + + if ( u.c.type =3D=3D 0 ) + break; + + p->cache.subleaf[i] =3D u.c; + } + + /* + * The choice of CPUID_GUEST_NR_CACHE is arbitrary. It is expected + * that it will eventually need increasing for future hardware. + */ +#ifdef __XEN__ + if ( i =3D=3D ARRAY_SIZE(p->cache.raw) ) + printk(XENLOG_WARNING + "CPUID: Insufficient Leaf 4 space for this hardware\n"); +#endif + } + + if ( p->basic.max_leaf >=3D 7 ) + { + cpuid_count_leaf(7, 0, &p->feat.raw[0]); + + for ( i =3D 1; i <=3D MIN(p->feat.max_subleaf, + ARRAY_SIZE(p->feat.raw) - 1); ++i ) + cpuid_count_leaf(7, i, &p->feat.raw[i]); + } + + if ( p->basic.max_leaf >=3D 0xb ) + { + union { + struct cpuid_leaf l; + struct cpuid_topo_leaf t; + } u; + + for ( i =3D 0; i < ARRAY_SIZE(p->topo.raw); ++i ) + { + cpuid_count_leaf(0xb, i, &u.l); + + if ( u.t.type =3D=3D 0 ) + break; + + p->topo.subleaf[i] =3D u.t; + } + + /* + * The choice of CPUID_GUEST_NR_TOPO is per the manual. It may ne= ed + * to grow for future hardware. + */ +#ifdef __XEN__ + if ( i =3D=3D ARRAY_SIZE(p->topo.raw) && + (cpuid_count_leaf(0xb, i, &u.l), u.t.type !=3D 0) ) + printk(XENLOG_WARNING + "CPUID: Insufficient Leaf 0xb space for this hardware\n= "); +#endif + } + + if ( p->basic.max_leaf >=3D 0xd ) + { + uint64_t xstates; + + cpuid_count_leaf(0xd, 0, &p->xstate.raw[0]); + cpuid_count_leaf(0xd, 1, &p->xstate.raw[1]); + + xstates =3D cpu_policy_xstates(p); + + /* This logic will probably need adjusting when XCR0[63] gets used= . */ + BUILD_BUG_ON(ARRAY_SIZE(p->xstate.raw) > 63); + + for ( i =3D 2; i < min_t(unsigned int, 63, + ARRAY_SIZE(p->xstate.raw)); ++i ) + { + if ( xstates & (1ULL << i) ) + cpuid_count_leaf(0xd, i, &p->xstate.raw[i]); + } + } + + /* Extended leaves. */ + cpuid_leaf(0x80000000U, &p->extd.raw[0]); + for ( i =3D 1; i <=3D MIN(p->extd.max_leaf & 0xffffU, + ARRAY_SIZE(p->extd.raw) - 1); ++i ) + cpuid_leaf(0x80000000U + i, &p->extd.raw[i]); + + /* Don't report leaves from possible lower level hypervisor, for now. = */ + p->hv_limit =3D 0; + p->hv2_limit =3D 0; + +#ifdef __XEN__ + /* TODO MSR_PLATFORM_INFO */ + + if ( p->feat.arch_caps ) + rdmsrl(MSR_ARCH_CAPABILITIES, p->arch_caps.raw); +#endif + + x86_cpu_policy_recalc_synth(p); +} + +const uint32_t *x86_cpu_policy_lookup_deep_deps(uint32_t feature) +{ + static const uint32_t deep_features[] =3D INIT_DEEP_FEATURES; + static const struct { + uint32_t feature; + uint32_t fs[FEATURESET_NR_ENTRIES]; + } deep_deps[] =3D INIT_DEEP_DEPS; + unsigned int start =3D 0, end =3D ARRAY_SIZE(deep_deps); + + BUILD_BUG_ON(ARRAY_SIZE(deep_deps) !=3D NR_DEEP_DEPS); + + /* Fast early exit. */ + if ( !test_bit(feature, deep_features) ) + return NULL; + + /* deep_deps[] is sorted. Perform a binary search. */ + while ( start < end ) + { + unsigned int mid =3D start + ((end - start) / 2); + + if ( deep_deps[mid].feature > feature ) + end =3D mid; + else if ( deep_deps[mid].feature < feature ) + start =3D mid + 1; + else + return deep_deps[mid].fs; + } + + return NULL; +} + +/* + * Local variables: + * mode: C + * c-file-style: "BSD" + * c-basic-offset: 4 + * tab-width: 4 + * indent-tabs-mode: nil + * End: + */ diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c index 6298d051f2..5de1e2ca74 100644 --- a/xen/lib/x86/cpuid.c +++ b/xen/lib/x86/cpuid.c @@ -9,235 +9,6 @@ static void zero_leaves(struct cpuid_leaf *l, memset(&l[first], 0, sizeof(*l) * (last - first + 1)); } =20 -unsigned int x86_cpuid_lookup_vendor(uint32_t ebx, uint32_t ecx, uint32_t = edx) -{ - switch ( ebx ) - { - case X86_VENDOR_INTEL_EBX: - if ( ecx =3D=3D X86_VENDOR_INTEL_ECX && - edx =3D=3D X86_VENDOR_INTEL_EDX ) - return X86_VENDOR_INTEL; - break; - - case X86_VENDOR_AMD_EBX: - if ( ecx =3D=3D X86_VENDOR_AMD_ECX && - edx =3D=3D X86_VENDOR_AMD_EDX ) - return X86_VENDOR_AMD; - break; - - case X86_VENDOR_CENTAUR_EBX: - if ( ecx =3D=3D X86_VENDOR_CENTAUR_ECX && - edx =3D=3D X86_VENDOR_CENTAUR_EDX ) - return X86_VENDOR_CENTAUR; - break; - - case X86_VENDOR_SHANGHAI_EBX: - if ( ecx =3D=3D X86_VENDOR_SHANGHAI_ECX && - edx =3D=3D X86_VENDOR_SHANGHAI_EDX ) - return X86_VENDOR_SHANGHAI; - break; - - case X86_VENDOR_HYGON_EBX: - if ( ecx =3D=3D X86_VENDOR_HYGON_ECX && - edx =3D=3D X86_VENDOR_HYGON_EDX ) - return X86_VENDOR_HYGON; - break; - } - - return X86_VENDOR_UNKNOWN; -} - -const char *x86_cpuid_vendor_to_str(unsigned int vendor) -{ - switch ( vendor ) - { - case X86_VENDOR_INTEL: return "Intel"; - case X86_VENDOR_AMD: return "AMD"; - case X86_VENDOR_CENTAUR: return "Centaur"; - case X86_VENDOR_SHANGHAI: return "Shanghai"; - case X86_VENDOR_HYGON: return "Hygon"; - default: return "Unknown"; - } -} - -void x86_cpu_policy_to_featureset( - const struct cpu_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES]) -{ - fs[FEATURESET_1d] =3D p->basic._1d; - fs[FEATURESET_1c] =3D p->basic._1c; - fs[FEATURESET_e1d] =3D p->extd.e1d; - fs[FEATURESET_e1c] =3D p->extd.e1c; - fs[FEATURESET_Da1] =3D p->xstate.Da1; - fs[FEATURESET_7b0] =3D p->feat._7b0; - fs[FEATURESET_7c0] =3D p->feat._7c0; - fs[FEATURESET_e7d] =3D p->extd.e7d; - fs[FEATURESET_e8b] =3D p->extd.e8b; - fs[FEATURESET_7d0] =3D p->feat._7d0; - fs[FEATURESET_7a1] =3D p->feat._7a1; - fs[FEATURESET_e21a] =3D p->extd.e21a; - fs[FEATURESET_7b1] =3D p->feat._7b1; - fs[FEATURESET_7d2] =3D p->feat._7d2; - fs[FEATURESET_7c1] =3D p->feat._7c1; - fs[FEATURESET_7d1] =3D p->feat._7d1; - fs[FEATURESET_m10Al] =3D p->arch_caps.lo; - fs[FEATURESET_m10Ah] =3D p->arch_caps.hi; - fs[FEATURESET_e21c] =3D p->extd.e21c; -} - -void x86_cpu_featureset_to_policy( - const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpu_policy *p) -{ - p->basic._1d =3D fs[FEATURESET_1d]; - p->basic._1c =3D fs[FEATURESET_1c]; - p->extd.e1d =3D fs[FEATURESET_e1d]; - p->extd.e1c =3D fs[FEATURESET_e1c]; - p->xstate.Da1 =3D fs[FEATURESET_Da1]; - p->feat._7b0 =3D fs[FEATURESET_7b0]; - p->feat._7c0 =3D fs[FEATURESET_7c0]; - p->extd.e7d =3D fs[FEATURESET_e7d]; - p->extd.e8b =3D fs[FEATURESET_e8b]; - p->feat._7d0 =3D fs[FEATURESET_7d0]; - p->feat._7a1 =3D fs[FEATURESET_7a1]; - p->extd.e21a =3D fs[FEATURESET_e21a]; - p->feat._7b1 =3D fs[FEATURESET_7b1]; - p->feat._7d2 =3D fs[FEATURESET_7d2]; - p->feat._7c1 =3D fs[FEATURESET_7c1]; - p->feat._7d1 =3D fs[FEATURESET_7d1]; - p->arch_caps.lo =3D fs[FEATURESET_m10Al]; - p->arch_caps.hi =3D fs[FEATURESET_m10Ah]; - p->extd.e21c =3D fs[FEATURESET_e21c]; -} - -void x86_cpu_policy_recalc_synth(struct cpu_policy *p) -{ - p->x86_vendor =3D x86_cpuid_lookup_vendor( - p->basic.vendor_ebx, p->basic.vendor_ecx, p->basic.vendor_edx); -} - -void x86_cpu_policy_fill_native(struct cpu_policy *p) -{ - unsigned int i; - - cpuid_leaf(0, &p->basic.raw[0]); - for ( i =3D 1; i <=3D MIN(p->basic.max_leaf, - ARRAY_SIZE(p->basic.raw) - 1); ++i ) - { - switch ( i ) - { - case 0x4: case 0x7: case 0xb: case 0xd: - /* Multi-invocation leaves. Deferred. */ - continue; - } - - cpuid_leaf(i, &p->basic.raw[i]); - } - - if ( p->basic.max_leaf >=3D 4 ) - { - for ( i =3D 0; i < ARRAY_SIZE(p->cache.raw); ++i ) - { - union { - struct cpuid_leaf l; - struct cpuid_cache_leaf c; - } u; - - cpuid_count_leaf(4, i, &u.l); - - if ( u.c.type =3D=3D 0 ) - break; - - p->cache.subleaf[i] =3D u.c; - } - - /* - * The choice of CPUID_GUEST_NR_CACHE is arbitrary. It is expected - * that it will eventually need increasing for future hardware. - */ -#ifdef __XEN__ - if ( i =3D=3D ARRAY_SIZE(p->cache.raw) ) - printk(XENLOG_WARNING - "CPUID: Insufficient Leaf 4 space for this hardware\n"); -#endif - } - - if ( p->basic.max_leaf >=3D 7 ) - { - cpuid_count_leaf(7, 0, &p->feat.raw[0]); - - for ( i =3D 1; i <=3D MIN(p->feat.max_subleaf, - ARRAY_SIZE(p->feat.raw) - 1); ++i ) - cpuid_count_leaf(7, i, &p->feat.raw[i]); - } - - if ( p->basic.max_leaf >=3D 0xb ) - { - union { - struct cpuid_leaf l; - struct cpuid_topo_leaf t; - } u; - - for ( i =3D 0; i < ARRAY_SIZE(p->topo.raw); ++i ) - { - cpuid_count_leaf(0xb, i, &u.l); - - if ( u.t.type =3D=3D 0 ) - break; - - p->topo.subleaf[i] =3D u.t; - } - - /* - * The choice of CPUID_GUEST_NR_TOPO is per the manual. It may ne= ed - * to grow for future hardware. - */ -#ifdef __XEN__ - if ( i =3D=3D ARRAY_SIZE(p->topo.raw) && - (cpuid_count_leaf(0xb, i, &u.l), u.t.type !=3D 0) ) - printk(XENLOG_WARNING - "CPUID: Insufficient Leaf 0xb space for this hardware\n= "); -#endif - } - - if ( p->basic.max_leaf >=3D 0xd ) - { - uint64_t xstates; - - cpuid_count_leaf(0xd, 0, &p->xstate.raw[0]); - cpuid_count_leaf(0xd, 1, &p->xstate.raw[1]); - - xstates =3D cpu_policy_xstates(p); - - /* This logic will probably need adjusting when XCR0[63] gets used= . */ - BUILD_BUG_ON(ARRAY_SIZE(p->xstate.raw) > 63); - - for ( i =3D 2; i < min_t(unsigned int, 63, - ARRAY_SIZE(p->xstate.raw)); ++i ) - { - if ( xstates & (1ULL << i) ) - cpuid_count_leaf(0xd, i, &p->xstate.raw[i]); - } - } - - /* Extended leaves. */ - cpuid_leaf(0x80000000U, &p->extd.raw[0]); - for ( i =3D 1; i <=3D MIN(p->extd.max_leaf & 0xffffU, - ARRAY_SIZE(p->extd.raw) - 1); ++i ) - cpuid_leaf(0x80000000U + i, &p->extd.raw[i]); - - /* Don't report leaves from possible lower level hypervisor, for now. = */ - p->hv_limit =3D 0; - p->hv2_limit =3D 0; - -#ifdef __XEN__ - /* TODO MSR_PLATFORM_INFO */ - - if ( p->feat.arch_caps ) - rdmsrl(MSR_ARCH_CAPABILITIES, p->arch_caps.raw); -#endif - - x86_cpu_policy_recalc_synth(p); -} - void x86_cpu_policy_clear_out_of_range_leaves(struct cpu_policy *p) { unsigned int i; @@ -291,37 +62,6 @@ void x86_cpu_policy_clear_out_of_range_leaves(struct cp= u_policy *p) ARRAY_SIZE(p->extd.raw) - 1); } =20 -const uint32_t *x86_cpu_policy_lookup_deep_deps(uint32_t feature) -{ - static const uint32_t deep_features[] =3D INIT_DEEP_FEATURES; - static const struct { - uint32_t feature; - uint32_t fs[FEATURESET_NR_ENTRIES]; - } deep_deps[] =3D INIT_DEEP_DEPS; - unsigned int start =3D 0, end =3D ARRAY_SIZE(deep_deps); - - BUILD_BUG_ON(ARRAY_SIZE(deep_deps) !=3D NR_DEEP_DEPS); - - /* Fast early exit. */ - if ( !test_bit(feature, deep_features) ) - return NULL; - - /* deep_deps[] is sorted. Perform a binary search. */ - while ( start < end ) - { - unsigned int mid =3D start + ((end - start) / 2); - - if ( deep_deps[mid].feature > feature ) - end =3D mid; - else if ( deep_deps[mid].feature < feature ) - start =3D mid + 1; - else - return deep_deps[mid].fs; - } - - return NULL; -} - /* * Copy a single cpuid_leaf into a provided xen_cpuid_leaf_t buffer, * performing boundary checking against the buffer size. --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722757; cv=pass; d=zohomail.com; s=zohoarc; b=LThSKuHvJUc+H/vjpl7ufcDWXuMDWtvSdVCuWJwwR2ZlQ1cUpkPoPke4N9LVqE1q+Om6CiT2aL+LGDHfEkFH9CX5mWm7gb663yggmoQRkku1si9rZ+qDQTsRMq1J2I2i4yvjpcriJHP7C/rW5z8X56tJqPCNQIYDqx36c0YUVjI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722757; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kUCDwf6m9s3EcL9ImUik1eDJPyQ22v+t+7I6d4R0DDM=; b=fFqUfEJhtGYHRMLlS+0Y/vDP2CfVBDer39gGUy/DK7/BX1toh5NxbAizSoM98f2dRDnMhsQQUVZknxUPwSMVoOl/Xajs52bks1Zv5igZSZ04S+O3UKLKiniFj9uKrK8V4b1AmES72nHc914RDxtG/C3OcNM6v9Nn2s1PRjc14ds= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 176372275751339.6739718211918; Fri, 21 Nov 2025 02:59:17 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168580.1494587 (Exim 4.92) (envelope-from ) id 1vMOqp-0000Ky-Jr; Fri, 21 Nov 2025 10:58:51 +0000 Received: by outflank-mailman (output) from mailman id 1168580.1494587; Fri, 21 Nov 2025 10:58:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqp-0000Kr-GJ; Fri, 21 Nov 2025 10:58:51 +0000 Received: by outflank-mailman (input) for mailman id 1168580; Fri, 21 Nov 2025 10:58:50 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqo-0008Dv-Ef for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:50 +0000 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azlp170120001.outbound.protection.outlook.com [2a01:111:f403:c107::1]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 0d83e49b-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:58:47 +0100 (CET) Received: from SN7PR04CA0214.namprd04.prod.outlook.com (2603:10b6:806:127::9) by PH7PR12MB5878.namprd12.prod.outlook.com (2603:10b6:510:1d6::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:58:37 +0000 Received: from SA2PEPF000015CA.namprd03.prod.outlook.com (2603:10b6:806:127:cafe::40) by SN7PR04CA0214.outlook.office365.com (2603:10b6:806:127::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:58:28 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015CA.mail.protection.outlook.com (10.167.241.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:36 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:30 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0d83e49b-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RdkZb3ClXkv+kb5h7/Fanr9d3VCJdrOASG8zjvfcwQLXPn038PwlPhVXG5bBRoGBBGFGGSj2zAVQDAJJ8t4auablHfjlO6tFEmclP5Bho48QUR52GXYN7w9wAIMCcDTkqaX1wakqljdSnpByEHZuEyCRU5m2HQhj4tGSadi1wY8RR0pvNXimht1+6kSfwNIPQj54cEUjFpYXAsNxOEmxq0IjTnWjs7qFbBWPG62EkPFKzfSofd97wVMMm3y899oHONycijNJAm23TfD8STWq7owwq37BkyJbpONy9NPnDNV0zEsfLbTqKSmDV5FcGBNl7jUQyativzUuaU2Om9E+xg== 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=kUCDwf6m9s3EcL9ImUik1eDJPyQ22v+t+7I6d4R0DDM=; b=IB+VwBwIYiT/qf1aBeSwLnleVobKWralOI6Vjg+QdgispOWvDQV8aA+TTdQOedRO4fzl8zB11iPoqOyDnMeMGV1OS36JGX27EU1SmTYI5Lu7K2YHHeVBTnm1PVzXRBAWWsviBL0JThh7TPKB88fGcEE162aCV77Pr7vxpoH/h4Xw+zsN8QyKTM8/vWJcRNL0JE/YZpgBrXRbEHVzJuW3F6ryskuRQ8afdVdZ+QGmn1OFI9BlnfWYTqdHq+sT9JkoSKU6rFbNv7U9wWp3d1v2tqlSg+CYlWETTmjCjKNSOjvZvLbKEaQnLmp+wbOcQFxsY4BelK8EIbAUKb8ZWzyGAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=kUCDwf6m9s3EcL9ImUik1eDJPyQ22v+t+7I6d4R0DDM=; b=5AKK1qz6hUcLcEzS/os+iNUWJxzWR3+ddHrTTtwUakHvUUHT22WEhZ5cdK1g+tSi/5xsvwbcMLu3/FUtf1YHArqfFyXu0xdMMsUAit2gSMopTOyYaObtjmurlbUu6s40efMY5WS5j3wMsmRPKU+seuqvW9urBe/T6H/p6QDu4bI= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: , CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" , Bertrand Marquis , Volodymyr Babchuk , Bob Eshleman , Connor Davis , Oleksii Kurochko , Nathan Studer , Stewart Hildebrand , "Dario Faggioli" , Juergen Gross , George Dunlap , "Daniel P. Smith" , Alistair Francis Subject: [PATCH v4 03/24] xen/sysctl: replace CONFIG_SYSCTL with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:40 +0800 Message-ID: <20251121105801.1251262-4-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015CA:EE_|PH7PR12MB5878:EE_ X-MS-Office365-Filtering-Correlation-Id: 53d3b036-7fae-4e4a-5569-08de28ecebb2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sbDiPq/Q449JtTTipMj1gbjvTN8HeZZC7ubR5pAb8NgVUL+0v/dvSW8+mBKX?= =?us-ascii?Q?kb26eLrpzm5rgimwUD2ICl9cb4apH1NMaUb7sNPBcLrEEbWl5qa9nH3NGLeO?= =?us-ascii?Q?S+7l78zxij/TWu+K5MwESk0X8+TAQeU9+5qKmp4zDDAco25+KXt9n+369XaU?= =?us-ascii?Q?416v8piTWabSFEeiXqHK0GnrtX55jYyop4vM8DR0m2mHe3Z1orTIf5SqOQSO?= =?us-ascii?Q?KbbFO4KseLT1pY12wrST9tWlqc0i78daoIVzMQYsqlgIPOehlwE85qNuQxWl?= =?us-ascii?Q?RXWrjAodDNbZMkH2qbc/UDYfWXCiHvEcdmr8f5WXS9uRDNtlpDUavC7QxMLF?= =?us-ascii?Q?07wYWy0FV+aYOTC4FKrW71saemFQYF4CQGJLrE5lBSmEFX8m99Nz3Agiqpk+?= =?us-ascii?Q?wxZj0gqbYB6Zk76L1UD2rOp6jRTbhMijz9sddc0wvHhC/Tt1iG36EZAZKDPT?= =?us-ascii?Q?qY4U12A8cM4L4He8GCcuU0V0UA1hhvYVCt96DbR2zIOwDhm08PZj/npBDpgD?= =?us-ascii?Q?KDJAgXkZaSJqD1Cxuwk8Gs6OQAumkTx1Sq9tySqVlwWy8Mai4SBBtTJrgG4k?= =?us-ascii?Q?s7NkNzgJQvgwwYBLnZ2Hvz7/PQESxG33dxb6S7hjBrat5uI4QubzOM6hxKSn?= =?us-ascii?Q?QgjzyabdhswgdLp+F96M4zLGngB0iJLOIBHR6Uh1v1LDz4IEe8BWuX2MhmDX?= =?us-ascii?Q?wlEyRdyicYT3OypsmqmnpKI0l2biQNQDeUUbmXEBRO7g8/xqWNVHDIwabcBD?= =?us-ascii?Q?TuA/47pWtfyhWvF7YGRDdbs3uzGRlLk7L9XQaks7FBSTP22oa7z226BsxxZy?= =?us-ascii?Q?vNwgsuQu4idMSfS5gc7y08WmkIXTGiEyq6jVoWlC5oQfmRv2dh6vwrmmX2Xo?= =?us-ascii?Q?RCN0fz1PJ9KyrtJeG8i7alrEkHHqqqPWy0A9CIQxq3GzArHvUZv4+evgk80D?= =?us-ascii?Q?8PFglshWNoxg9bAUT0eeBH+vhs64Swa5jnRBlksBNLrsArBwqZUc3u1Ek9Yw?= =?us-ascii?Q?c+LmUtPBd7I9OZlQ4dKQBZm/oWM/6QsC95ByY+D8e0H+gj74Rf5RF3wmFaOv?= =?us-ascii?Q?D5whLG2t060f4hh5O9jTdGLioWZfnt1HVVCvogEAZR4vuLxjB7S2cC5C8RCq?= =?us-ascii?Q?r6r7sYvfMmtM2E77CH5cf4F/YlvQmweroKw+1IkKccPQoQ562Y85WlcgKkIQ?= =?us-ascii?Q?mcQXCNvn8qx45CVLKSu98ZYz/qaPaUxIT4wSUEyCc0TTaozr/5Lp8gAACC+K?= =?us-ascii?Q?dLoGDro/2cky2lf4T7UNShnVfCojCa5erEIAvdM0OQBQeBQ640ImD/cVB3VC?= =?us-ascii?Q?TGEanULQIjGBy3lk4lcDBXnOD23RfxZ0MODlLdIGY2UdLDKmdFI94swa/+NN?= =?us-ascii?Q?hWC0mx6Tt3tSaofVfswMnI87IuidX4cWebTLLZqhTLfrUrXWMVpdEccjfbLm?= =?us-ascii?Q?b3QNp3XnXezdYy+RUcqIMvdD882aIDfpy+jedgKNsSN/hzF9vPnOwXzC5x3/?= =?us-ascii?Q?sQZrcnHXr4XdGP3YIJOgsAenCrYjKUMX5Yt7hucL3WCWkKKnxRHmgCUICeTA?= =?us-ascii?Q?MPwKts0Jlj81w5PSMGM=3D?= 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)(36860700013)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:36.4085 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53d3b036-7fae-4e4a-5569-08de28ecebb2 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: SA2PEPF000015CA.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5878 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722759218018900 Content-Type: text/plain; charset="utf-8" Rename all the CONFIG_SYSCTL into CONFIG_MGMT_HYPERCALLS to help provide a single option to manage all unnecessary hypercalls, including sysctl, domctl, etc, in dom0less system and PV shim mode, which could also make it easier to support randconfigs. While doing the replacement, we fix some bugs on xsm system: - wrap the whole xsm function to avoid bringing unreachable codes when MGMT_DOMCTL=3Dn - add missing wrapping in include/xsm/dummy.h Suggested-by: Stefano Stabellini Signed-off-by: Penny Zheng Reviewed-by: Stefano Stabellini Reviewed-by: Juergen Gross Acked-by: Stewart Hildebrand #ARINC 653 Acked-by: Jan Beulich Cc: Alistair Francis --- v2 -> v3: - wrap the whole xsm function - add missing wrapping in include/xsm/dummy.h - refine kconfig description --- xen/Kconfig.debug | 2 +- xen/arch/arm/Makefile | 2 +- xen/arch/riscv/stubs.c | 4 ++-- xen/arch/x86/Makefile | 2 +- xen/arch/x86/configs/pvshim_defconfig | 2 +- xen/arch/x86/psr.c | 26 +++++++++++++------------- xen/common/Kconfig | 15 ++++++++------- xen/common/Makefile | 2 +- xen/common/page_alloc.c | 8 ++++---- xen/common/perfc.c | 4 ++-- xen/common/sched/arinc653.c | 10 +++++----- xen/common/sched/core.c | 6 +++--- xen/common/sched/cpupool.c | 16 ++++++++-------- xen/common/sched/credit.c | 6 +++--- xen/common/sched/credit2.c | 6 +++--- xen/common/sched/private.h | 4 ++-- xen/common/spinlock.c | 4 ++-- xen/drivers/char/console.c | 4 ++-- xen/include/hypercall-defs.c | 4 ++-- xen/include/xsm/dummy.h | 6 ++++++ xen/include/xsm/xsm.h | 24 +++++++++--------------- xen/xsm/dummy.c | 6 +++--- xen/xsm/flask/hooks.c | 22 +++++++++++----------- 23 files changed, 93 insertions(+), 92 deletions(-) diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug index d900d926c5..a69615cd63 100644 --- a/xen/Kconfig.debug +++ b/xen/Kconfig.debug @@ -37,7 +37,7 @@ config SELF_TESTS =20 config COVERAGE bool "Code coverage support" - depends on SYSCTL && !LIVEPATCH + depends on MGMT_HYPERCALLS && !LIVEPATCH select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS if !ENFORCE_UNIQUE_SYMBOLS help Enable code coverage support. diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 7e88ddd3d7..2aff1a1630 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -51,7 +51,7 @@ obj-y +=3D setup.o obj-y +=3D shutdown.o obj-y +=3D smp.o obj-y +=3D smpboot.o -obj-$(CONFIG_SYSCTL) +=3D sysctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D sysctl.o obj-y +=3D time.o obj-y +=3D traps.o obj-y +=3D vcpreg.o diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c index 340ed3cd6c..37b4346d3f 100644 --- a/xen/arch/riscv/stubs.c +++ b/xen/arch/riscv/stubs.c @@ -277,7 +277,7 @@ unsigned long raw_copy_from_guest(void *to, const void = __user *from, BUG_ON("unimplemented"); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* sysctl.c */ =20 long arch_do_sysctl(struct xen_sysctl *sysctl, @@ -290,7 +290,7 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi) { BUG_ON("unimplemented"); } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* p2m.c */ =20 diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index f71ca9f18b..d21fdd49df 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -66,7 +66,7 @@ obj-y +=3D smpboot.o obj-y +=3D spec_ctrl.o obj-y +=3D srat.o obj-y +=3D string.o -obj-$(CONFIG_SYSCTL) +=3D sysctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D sysctl.o obj-y +=3D time.o obj-y +=3D traps-setup.o obj-y +=3D traps.o diff --git a/xen/arch/x86/configs/pvshim_defconfig b/xen/arch/x86/configs/p= vshim_defconfig index 24f4e4857d..d1db94df78 100644 --- a/xen/arch/x86/configs/pvshim_defconfig +++ b/xen/arch/x86/configs/pvshim_defconfig @@ -25,4 +25,4 @@ CONFIG_PDX_NONE=3Dy # CONFIG_INTEL_IOMMU is not set # CONFIG_DEBUG is not set # CONFIG_GDBSX is not set -# CONFIG_SYSCTL is not set +# CONFIG_MGMT_HYPERCALLS is not set diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c index cce7020868..80ce5804b4 100644 --- a/xen/arch/x86/psr.c +++ b/xen/arch/x86/psr.c @@ -135,7 +135,7 @@ static const struct feat_props { */ enum psr_type alt_type; =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* get_feat_info is used to return feature HW info through sysctl. */ bool (*get_feat_info)(const struct feat_node *feat, uint32_t data[], unsigned int array_len); @@ -422,7 +422,7 @@ static bool mba_init_feature(const struct cpuid_leaf *r= egs, return true; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static bool cf_check cat_get_feat_info( const struct feat_node *feat, uint32_t data[], unsigned int array_len) { @@ -435,7 +435,7 @@ static bool cf_check cat_get_feat_info( =20 return true; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* L3 CAT props */ static void cf_check l3_cat_write_msr( @@ -448,14 +448,14 @@ static const struct feat_props l3_cat_props =3D { .cos_num =3D 1, .type[0] =3D PSR_TYPE_L3_CBM, .alt_type =3D PSR_TYPE_UNKNOWN, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D cat_get_feat_info, #endif .write_msr =3D l3_cat_write_msr, .sanitize =3D cat_check_cbm, }; =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* L3 CDP props */ static bool cf_check l3_cdp_get_feat_info( const struct feat_node *feat, uint32_t data[], uint32_t array_len) @@ -467,7 +467,7 @@ static bool cf_check l3_cdp_get_feat_info( =20 return true; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void cf_check l3_cdp_write_msr( unsigned int cos, uint32_t val, enum psr_type type) @@ -483,7 +483,7 @@ static const struct feat_props l3_cdp_props =3D { .type[0] =3D PSR_TYPE_L3_DATA, .type[1] =3D PSR_TYPE_L3_CODE, .alt_type =3D PSR_TYPE_L3_CBM, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D l3_cdp_get_feat_info, #endif .write_msr =3D l3_cdp_write_msr, @@ -501,14 +501,14 @@ static const struct feat_props l2_cat_props =3D { .cos_num =3D 1, .type[0] =3D PSR_TYPE_L2_CBM, .alt_type =3D PSR_TYPE_UNKNOWN, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D cat_get_feat_info, #endif .write_msr =3D l2_cat_write_msr, .sanitize =3D cat_check_cbm, }; =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* MBA props */ static bool cf_check mba_get_feat_info( const struct feat_node *feat, uint32_t data[], unsigned int array_len) @@ -523,7 +523,7 @@ static bool cf_check mba_get_feat_info( =20 return true; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void cf_check mba_write_msr( unsigned int cos, uint32_t val, enum psr_type type) @@ -561,7 +561,7 @@ static const struct feat_props mba_props =3D { .cos_num =3D 1, .type[0] =3D PSR_TYPE_MBA_THRTL, .alt_type =3D PSR_TYPE_UNKNOWN, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D mba_get_feat_info, #endif .write_msr =3D mba_write_msr, @@ -826,7 +826,7 @@ static struct psr_socket_info *get_socket_info(unsigned= int socket) return socket_info + socket; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS int psr_get_info(unsigned int socket, enum psr_type type, uint32_t data[], unsigned int array_len) { @@ -858,7 +858,7 @@ int psr_get_info(unsigned int socket, enum psr_type typ= e, =20 return -EINVAL; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int psr_get_val(struct domain *d, unsigned int socket, uint32_t *val, enum psr_type type) diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 218ac3d549..6709c3c95c 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -508,7 +508,7 @@ config CRYPTO config LIVEPATCH bool "Live patching support" default X86 - depends on "$(XEN_HAS_BUILD_ID)" =3D "y" && SYSCTL && HAS_VMAP + depends on "$(XEN_HAS_BUILD_ID)" =3D "y" && MGMT_HYPERCALLS && HAS_VMAP select CC_SPLIT_SECTIONS help Allows a running Xen hypervisor to be dynamically patched using @@ -600,7 +600,7 @@ config DTB_FILE config TRACEBUFFER bool "Enable tracing infrastructure" if EXPERT default y - depends on SYSCTL + depends on MGMT_HYPERCALLS help Enable tracing infrastructure and pre-defined tracepoints within Xen. This will allow live information about Xen's execution and performance @@ -651,19 +651,20 @@ config SYSTEM_SUSPEND menu "Supported hypercall interfaces" visible if EXPERT =20 -config SYSCTL - bool "Enable sysctl hypercall" +config MGMT_HYPERCALLS + bool "Enable privileged hypercalls for system management" depends on !PV_SHIM_EXCLUSIVE default y help This option shall only be disabled on some dom0less systems, or - PV shim on x86, to reduce Xen footprint. + PV shim on x86, to reduce Xen footprint via managing unnessary + hypercalls, like sysctl, etc. =20 endmenu =20 config PM_OP bool "Enable Performance Management Operation" - depends on ACPI && HAS_CPUFREQ && SYSCTL + depends on ACPI && HAS_CPUFREQ && MGMT_HYPERCALLS default y help This option shall enable userspace performance management control @@ -671,7 +672,7 @@ config PM_OP =20 config PM_STATS bool "Enable Performance Management Statistics" - depends on ACPI && HAS_CPUFREQ && SYSCTL + depends on ACPI && HAS_CPUFREQ && MGMT_HYPERCALLS default y help Enable collection of performance management statistics to aid in diff --git a/xen/common/Makefile b/xen/common/Makefile index 0c7d0f5d46..7c32fbd9f1 100644 --- a/xen/common/Makefile +++ b/xen/common/Makefile @@ -51,7 +51,7 @@ obj-y +=3D spinlock.o obj-$(CONFIG_STACK_PROTECTOR) +=3D stack-protector.o obj-y +=3D stop_machine.o obj-y +=3D symbols.o -obj-$(CONFIG_SYSCTL) +=3D sysctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D sysctl.o obj-y +=3D tasklet.o obj-y +=3D time.o obj-y +=3D timer.o diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c index 1f67b88a89..26615d1e97 100644 --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -602,7 +602,7 @@ out: return ret; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS void get_outstanding_claims(uint64_t *free_pages, uint64_t *outstanding_pa= ges) { spin_lock(&heap_lock); @@ -610,7 +610,7 @@ void get_outstanding_claims(uint64_t *free_pages, uint6= 4_t *outstanding_pages) *free_pages =3D avail_heap_pages(MEMZONE_XEN + 1, NR_ZONES - 1, -1); spin_unlock(&heap_lock); } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static bool __read_mostly first_node_initialised; #ifndef CONFIG_SEPARATE_XENHEAP @@ -1788,7 +1788,7 @@ int offline_page(mfn_t mfn, int broken, uint32_t *sta= tus) return 0; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* * Online the memory. * The caller should make sure end_pfn <=3D max_page, @@ -1873,7 +1873,7 @@ int query_page_offline(mfn_t mfn, uint32_t *status) =20 return 0; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * This function should only be called with valid pages from the same NUMA diff --git a/xen/common/perfc.c b/xen/common/perfc.c index 0f3b89af2c..97a94ef1fc 100644 --- a/xen/common/perfc.c +++ b/xen/common/perfc.c @@ -149,7 +149,7 @@ void cf_check perfc_reset(unsigned char key) } } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static struct xen_sysctl_perfc_desc perfc_d[NR_PERFCTRS]; static xen_sysctl_perfc_val_t *perfc_vals; static unsigned int perfc_nbr_vals; @@ -266,7 +266,7 @@ int perfc_control(struct xen_sysctl_perfc_op *pc) =20 return rc; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Local variables: diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c index 8a4f4259d8..7d6c40d800 100644 --- a/xen/common/sched/arinc653.c +++ b/xen/common/sched/arinc653.c @@ -220,7 +220,7 @@ static void update_schedule_units(const struct schedule= r *ops) SCHED_PRIV(ops)->schedule[i].unit_id); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /** * This function is called by the adjust_global scheduler hook to put * in place a new ARINC653 schedule. @@ -335,7 +335,7 @@ arinc653_sched_get( =20 return 0; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /************************************************************************** * Scheduler callback functions * @@ -661,7 +661,7 @@ a653_switch_sched(struct scheduler *new_ops, unsigned i= nt cpu, return &sr->_lock; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /** * Xen scheduler callback function to perform a global (not domain-specifi= c) * adjustment. It is used by the ARINC 653 scheduler to put in place a new @@ -701,7 +701,7 @@ a653sched_adjust_global(const struct scheduler *ops, =20 return rc; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /** * This structure defines our scheduler for Xen. @@ -736,7 +736,7 @@ static const struct scheduler sched_arinc653_def =3D { .switch_sched =3D a653_switch_sched, =20 .adjust =3D NULL, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .adjust_global =3D a653sched_adjust_global, #endif =20 diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c index ec2448cfa1..88150432c3 100644 --- a/xen/common/sched/core.c +++ b/xen/common/sched/core.c @@ -2064,7 +2064,7 @@ long do_set_timer_op(s_time_t timeout) return 0; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* scheduler_id - fetch ID of current scheduler */ int scheduler_id(void) { @@ -2107,7 +2107,7 @@ long sched_adjust(struct domain *d, struct xen_domctl= _scheduler_op *op) return ret; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS long sched_adjust_global(struct xen_sysctl_scheduler_op *op) { struct cpupool *pool; @@ -2136,7 +2136,7 @@ long sched_adjust_global(struct xen_sysctl_scheduler_= op *op) =20 return rc; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void vcpu_periodic_timer_work_locked(struct vcpu *v) { diff --git a/xen/common/sched/cpupool.c b/xen/common/sched/cpupool.c index f5459c2779..51ba3cb43d 100644 --- a/xen/common/sched/cpupool.c +++ b/xen/common/sched/cpupool.c @@ -241,12 +241,12 @@ struct cpupool *cpupool_get_by_id(unsigned int poolid) return __cpupool_get_by_id(poolid, true); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static struct cpupool *cpupool_get_next_by_id(unsigned int poolid) { return __cpupool_get_by_id(poolid, false); } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void cpupool_put(struct cpupool *pool) { @@ -354,7 +354,7 @@ static struct cpupool *cpupool_create(unsigned int pool= id, =20 return ERR_PTR(ret); } -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* * destroys the given cpupool * returns 0 on success, 1 else @@ -382,7 +382,7 @@ static int cpupool_destroy(struct cpupool *c) debugtrace_printk("cpupool_destroy(pool=3D%u)\n", c->cpupool_id); return 0; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Move domain to another cpupool @@ -572,7 +572,7 @@ static int cpupool_unassign_cpu_start(struct cpupool *c= , unsigned int cpu) return ret; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static long cf_check cpupool_unassign_cpu_helper(void *info) { struct cpupool *c =3D info; @@ -638,7 +638,7 @@ static int cpupool_unassign_cpu(struct cpupool *c, unsi= gned int cpu) } return continue_hypercall_on_cpu(work_cpu, cpupool_unassign_cpu_helper= , c); } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * add a new domain to a cpupool @@ -816,7 +816,7 @@ static void cpupool_cpu_remove_forced(unsigned int cpu) rcu_read_unlock(&sched_res_rculock); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS /* * do cpupool related sysctl operations */ @@ -982,7 +982,7 @@ int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op) =20 return ret; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 unsigned int cpupool_get_id(const struct domain *d) { diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c index 6dcf6b2c8b..0cbec2a9c0 100644 --- a/xen/common/sched/credit.c +++ b/xen/common/sched/credit.c @@ -1256,7 +1256,7 @@ __csched_set_tslice(struct csched_private *prv, unsig= ned int timeslice_ms) prv->credit =3D prv->credits_per_tslice * prv->ncpus; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check csched_sys_cntl(const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc) @@ -1299,7 +1299,7 @@ csched_sys_cntl(const struct scheduler *ops, out: return rc; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void *cf_check csched_alloc_domdata(const struct scheduler *ops, struct domain *dom) @@ -2290,7 +2290,7 @@ static const struct scheduler sched_credit_def =3D { =20 .adjust =3D csched_dom_cntl, .adjust_affinity=3D csched_aff_cntl, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .adjust_global =3D csched_sys_cntl, #endif =20 diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c index 75316d42b7..307e63ebd8 100644 --- a/xen/common/sched/credit2.c +++ b/xen/common/sched/credit2.c @@ -3131,7 +3131,7 @@ csched2_aff_cntl(const struct scheduler *ops, struct = sched_unit *unit, __clear_bit(__CSFLAG_pinned, &svc->flags); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check csched2_sys_cntl( const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc) { @@ -3163,7 +3163,7 @@ static int cf_check csched2_sys_cntl( =20 return 0; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void *cf_check csched2_alloc_domdata(const struct scheduler *ops, struct domain *dom) @@ -4248,7 +4248,7 @@ static const struct scheduler sched_credit2_def =3D { =20 .adjust =3D csched2_dom_cntl, .adjust_affinity=3D csched2_aff_cntl, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .adjust_global =3D csched2_sys_cntl, #endif =20 diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h index d6884550cd..b7ff67200b 100644 --- a/xen/common/sched/private.h +++ b/xen/common/sched/private.h @@ -356,7 +356,7 @@ struct scheduler { struct sched_unit *unit, const struct cpumask *hard, const struct cpumask *soft); -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS int (*adjust_global) (const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc); #endif @@ -512,7 +512,7 @@ static inline int sched_adjust_dom(const struct schedul= er *s, struct domain *d, return s->adjust ? s->adjust(s, d, op) : 0; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static inline int sched_adjust_cpupool(const struct scheduler *s, struct xen_sysctl_scheduler_op *op) { diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c index 0389293b09..9d08159615 100644 --- a/xen/common/spinlock.c +++ b/xen/common/spinlock.c @@ -690,7 +690,7 @@ void cf_check spinlock_profile_reset(unsigned char key) spinlock_profile_iterate(spinlock_profile_reset_elem, NULL); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS typedef struct { struct xen_sysctl_lockprof_op *pc; int rc; @@ -750,7 +750,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof= _op *pc) =20 return rc; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void _lock_profile_register_struct( int32_t type, struct lock_profile_qhead *qhead, int32_t idx) diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index 9bd5b4825d..c38b58d5fc 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -371,7 +371,7 @@ static void conring_puts(const char *str, size_t len) conringc =3D conringp - conring_size; } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS long read_console_ring(struct xen_sysctl_readconsole *op) { XEN_GUEST_HANDLE_PARAM(char) str; @@ -414,7 +414,7 @@ long read_console_ring(struct xen_sysctl_readconsole *o= p) =20 return 0; } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 =20 /* diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c index cef08eeec1..4840de805b 100644 --- a/xen/include/hypercall-defs.c +++ b/xen/include/hypercall-defs.c @@ -194,7 +194,7 @@ kexec_op(unsigned long op, void *uarg) #ifdef CONFIG_IOREQ_SERVER dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_buf_t *bufs) #endif -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS sysctl(xen_sysctl_t *u_sysctl) #endif #if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SH= IM_EXCLUSIVE) @@ -277,7 +277,7 @@ physdev_op compat do hv= m hvm do_arm #ifdef CONFIG_HVM hvm_op do do do do do #endif -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS sysctl do do do do do #endif #ifndef CONFIG_PV_SHIM_EXCLUSIVE diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index e4e1c680c8..9b1d31b6ec 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -148,11 +148,13 @@ static XSM_INLINE int cf_check xsm_domctl_scheduler_o= p( return xsm_default_action(action, current->domain, d); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_sysctl_scheduler_op(XSM_DEFAULT_ARG int= cmd) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, NULL); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static XSM_INLINE int cf_check xsm_set_target( XSM_DEFAULT_ARG struct domain *d, struct domain *e) @@ -180,6 +182,7 @@ static XSM_INLINE int cf_check xsm_domctl( } } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_sysctl(XSM_DEFAULT_ARG int cmd) { XSM_ASSERT_ACTION(XSM_PRIV); @@ -191,6 +194,7 @@ static XSM_INLINE int cf_check xsm_readconsole(XSM_DEFA= ULT_ARG uint32_t clear) XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, NULL); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static XSM_INLINE int cf_check xsm_alloc_security_domain(struct domain *d) { @@ -485,11 +489,13 @@ static XSM_INLINE int cf_check xsm_resource_setup_mis= c(XSM_DEFAULT_VOID) return xsm_default_action(action, current->domain, NULL); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_page_offline(XSM_DEFAULT_ARG uint32_t c= md) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, NULL); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static XSM_INLINE int cf_check xsm_hypfs_op(XSM_DEFAULT_VOID) { diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 1d72431d32..4c6e0dc0f9 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -57,13 +57,15 @@ struct xsm_ops { int (*domain_create)(struct domain *d, uint32_t ssidref); int (*getdomaininfo)(struct domain *d); int (*domctl_scheduler_op)(struct domain *d, int op); -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS int (*sysctl_scheduler_op)(int op); #endif int (*set_target)(struct domain *d, struct domain *e); int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref); +#ifdef CONFIG_MGMT_HYPERCALLS int (*sysctl)(int cmd); int (*readconsole)(uint32_t clear); +#endif =20 int (*evtchn_unbound)(struct domain *d, struct evtchn *chn, domid_t id= 2); int (*evtchn_interdomain)(struct domain *d1, struct evtchn *chn1, @@ -138,7 +140,7 @@ struct xsm_ops { int (*resource_setup_gsi)(int gsi); int (*resource_setup_misc)(void); =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS int (*page_offline)(uint32_t cmd); #endif int (*hypfs_op)(void); @@ -244,7 +246,7 @@ static inline int xsm_domctl_scheduler_op( return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd) { return alternative_call(xsm_ops.sysctl_scheduler_op, cmd); @@ -263,23 +265,17 @@ static inline int xsm_domctl(xsm_default_t def, struc= t domain *d, return alternative_call(xsm_ops.domctl, d, cmd, ssidref); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_sysctl(xsm_default_t def, int cmd) { -#ifdef CONFIG_SYSCTL return alternative_call(xsm_ops.sysctl, cmd); -#else - return -EOPNOTSUPP; -#endif } =20 static inline int xsm_readconsole(xsm_default_t def, uint32_t clear) { -#ifdef CONFIG_SYSCTL return alternative_call(xsm_ops.readconsole, clear); -#else - return -EOPNOTSUPP; -#endif } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static inline int xsm_evtchn_unbound( xsm_default_t def, struct domain *d1, struct evtchn *chn, domid_t id2) @@ -593,14 +589,12 @@ static inline int xsm_resource_setup_misc(xsm_default= _t def) return alternative_call(xsm_ops.resource_setup_misc); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_page_offline(xsm_default_t def, uint32_t cmd) { -#ifdef CONFIG_SYSCTL return alternative_call(xsm_ops.page_offline, cmd); -#else - return -EOPNOTSUPP; -#endif } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static inline int xsm_hypfs_op(xsm_default_t def) { diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index b7b65a7122..dbe363f0de 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -19,12 +19,12 @@ static const struct xsm_ops __initconst_cf_clobber dumm= y_ops =3D { .domain_create =3D xsm_domain_create, .getdomaininfo =3D xsm_getdomaininfo, .domctl_scheduler_op =3D xsm_domctl_scheduler_op, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .sysctl_scheduler_op =3D xsm_sysctl_scheduler_op, #endif .set_target =3D xsm_set_target, .domctl =3D xsm_domctl, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .sysctl =3D xsm_sysctl, .readconsole =3D xsm_readconsole, #endif @@ -97,7 +97,7 @@ static const struct xsm_ops __initconst_cf_clobber dummy_= ops =3D { .resource_setup_gsi =3D xsm_resource_setup_gsi, .resource_setup_misc =3D xsm_resource_setup_misc, =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .page_offline =3D xsm_page_offline, #endif .hypfs_op =3D xsm_hypfs_op, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 89e790b774..d0fd057db5 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -626,7 +626,7 @@ static int cf_check flask_domctl_scheduler_op(struct do= main *d, int op) } } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check flask_sysctl_scheduler_op(int op) { switch ( op ) @@ -641,7 +641,7 @@ static int cf_check flask_sysctl_scheduler_op(int op) return avc_unknown_permission("sysctl_scheduler_op", op); } } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int cf_check flask_set_target(struct domain *d, struct domain *t) { @@ -858,7 +858,7 @@ static int cf_check flask_domctl(struct domain *d, unsi= gned int cmd, } } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check flask_sysctl(int cmd) { switch ( cmd ) @@ -946,7 +946,7 @@ static int cf_check flask_readconsole(uint32_t clear) =20 return domain_has_xen(current->domain, perms); } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static inline uint32_t resource_to_perm(uint8_t access) { @@ -1203,12 +1203,12 @@ static int cf_check flask_resource_unplug_core(void) return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESO= URCE__UNPLUG, NULL); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static int flask_resource_use_core(void) { return avc_current_has_perm(SECINITSID_DOMXEN, SECCLASS_RESOURCE, RESO= URCE__USE, NULL); } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int cf_check flask_resource_plug_pci(uint32_t machine_bdf) { @@ -1273,7 +1273,7 @@ static int cf_check flask_resource_setup_misc(void) return avc_current_has_perm(SECINITSID_XEN, SECCLASS_RESOURCE, RESOURC= E__SETUP, NULL); } =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS static inline int cf_check flask_page_offline(uint32_t cmd) { switch ( cmd ) @@ -1288,7 +1288,7 @@ static inline int cf_check flask_page_offline(uint32_= t cmd) return avc_unknown_permission("page_offline", cmd); } } -#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static inline int cf_check flask_hypfs_op(void) { @@ -1884,12 +1884,12 @@ static const struct xsm_ops __initconst_cf_clobber = flask_ops =3D { .domain_create =3D flask_domain_create, .getdomaininfo =3D flask_getdomaininfo, .domctl_scheduler_op =3D flask_domctl_scheduler_op, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .sysctl_scheduler_op =3D flask_sysctl_scheduler_op, #endif .set_target =3D flask_set_target, .domctl =3D flask_domctl, -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .sysctl =3D flask_sysctl, .readconsole =3D flask_readconsole, #endif @@ -1950,7 +1950,7 @@ static const struct xsm_ops __initconst_cf_clobber fl= ask_ops =3D { .resource_setup_gsi =3D flask_resource_setup_gsi, .resource_setup_misc =3D flask_resource_setup_misc, =20 -#ifdef CONFIG_SYSCTL +#ifdef CONFIG_MGMT_HYPERCALLS .page_offline =3D flask_page_offline, #endif .hypfs_op =3D flask_hypfs_op, --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722751; cv=pass; d=zohomail.com; s=zohoarc; b=HY+iex1O89GrF3fZm3CceujpZem2JCcqXA6ui0AH5F9uxi5axKy6kf5C7JCnAD9fHwFAEY0QKqiTd3UHojG7eMW5E1o+VihjUoRc1gv1zDTYKHp2gHCoiObV/gYTGAMdY7L1VNgsCzPDWv7b7d+rnVaw8sMPakdJJmXRedeLjO8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722751; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZUWB4zPTieGXMsEwDqzbhQ3g9us99jKBTg1eSov6L+s=; b=dOx6z44d2rsWJdHacVPntKSruvmK5/9+l3wSKCgLQcM4HY8EDr01X++h89C3yCAOGFKlkZvt66DLJQqKWkiysBQu9IyG6hjgtabUmZhFFCYDE1qVXIWcfwQ+jwRdfJJXhNhfrel/gLHGnd0jzMFnzOZ3uctjCQpQinAAAEM1aP0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722751164891.7829752941094; Fri, 21 Nov 2025 02:59:11 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168576.1494567 (Exim 4.92) (envelope-from ) id 1vMOqm-0008Ei-3W; Fri, 21 Nov 2025 10:58:48 +0000 Received: by outflank-mailman (output) from mailman id 1168576.1494567; Fri, 21 Nov 2025 10:58:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOql-0008EZ-VR; Fri, 21 Nov 2025 10:58:47 +0000 Received: by outflank-mailman (input) for mailman id 1168576; Fri, 21 Nov 2025 10:58:45 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqj-0007TB-Qo for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:45 +0000 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazlp170120001.outbound.protection.outlook.com [2a01:111:f403:c10d::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0b8ffc12-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:44 +0100 (CET) Received: from SN7PR04CA0228.namprd04.prod.outlook.com (2603:10b6:806:127::23) by DS4PR12MB9636.namprd12.prod.outlook.com (2603:10b6:8:27f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:58:39 +0000 Received: from SA2PEPF000015CA.namprd03.prod.outlook.com (2603:10b6:806:127:cafe::d4) by SN7PR04CA0228.outlook.office365.com (2603:10b6:806:127::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.14 via Frontend Transport; Fri, 21 Nov 2025 10:58:29 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015CA.mail.protection.outlook.com (10.167.241.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:39 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:36 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0b8ffc12-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pQWVm40qOSqP04seDr8qD7v74i4qpSI7Xuh/2LYMN5LAu4j1gwrcdhwpQ6yXW/ih6hddWGARJWDj3mHZio50NDbBnMJMvGhQINjGuIMet8wt5U+8zND6zVcMaMqV0GzHoc01LDTKwMiVkwwaCUDB98Sk+rowKsETR4rs+ZVJWKS+IGUBOYycNJ/B4viG2aqF2VsgITPTH5MnbvfYBCksAq50p6Fowh1eF3oDnb6sUX8POaSZJfU6o9ehL2ylKvnZG4Eo79QgmtD7pMD5Ew5lDcnvfNpg+5h2G111KNTRsR/AHZtEz/1e+3sd/KDnBPBtXyYcaW644yjk+R/iHM9T1A== 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=ZUWB4zPTieGXMsEwDqzbhQ3g9us99jKBTg1eSov6L+s=; b=bCWE0SmlejQMc5FyQvFvYxngru+c42JvEDi7x5iySUqTurlZY96JBkn3pjsTCAHRCp6jxX/6NTerVK/CQJagRyeVfrL0gU8DDHbQVTRx/pGs3J+Rid+ERDy3oNm50VzGEa/N5i+N65d8/G9UClO7KJ725OKB0yrC07DFvppjiNymtsM8vDXx8/eLKUEWv0lL3GHpx8J+DsPFjCX1RStJ25wJdtqYrGxfaMppZdZJJuoP4xmtO5kUw8TebO2erK+CTNUrnYwVQCiLCWYETWUMnIa+wZjzFaMl7xtJfDo6czmXcrpYyxdNxkaEJWd21d0w3WQUML7BaUAYWm/6OLED8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=ZUWB4zPTieGXMsEwDqzbhQ3g9us99jKBTg1eSov6L+s=; b=woHAR3NBeU7tqJ77Q7xUSwkm9EZUkUUkTHtLdAXGV930Zv5xbZYAenupvjz+JQ5ZEHcvAv1H1HMbKSR2uVyhvVueMicCiOpFmBeanNzhaQi+SSH5kZvY3KZztH/5jNnHxx7oXonU419DPBBc5nJu6gnC7F0xTTuBAzyxZ4gYqJg= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" Subject: [PATCH v4 04/24] xen/domctl: make MGMT_HYPERCALLS transiently def_bool Date: Fri, 21 Nov 2025 18:57:41 +0800 Message-ID: <20251121105801.1251262-5-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015CA:EE_|DS4PR12MB9636:EE_ X-MS-Office365-Filtering-Correlation-Id: d3fdd5d0-8106-43be-8602-08de28eced93 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lZ0czf+WaEJi/nhfjGX16L9r+ij3DufI92QDU7psfxXyoklq6ko7L3MwSedF?= =?us-ascii?Q?9/N6Zvn9asbCBPHl8K6UL2ISCQMW8vaphcbqfC6CURdH047wdA262VFol7pU?= =?us-ascii?Q?pzboxjQTZHJMMD+cOpNEkmgjJwk5yoZDaqUM+cPNcCTAxZwPECpKCmJg8zE1?= =?us-ascii?Q?ivb+Id6h4PUHGrhJINGb79xNeb8HFuL6Tx5n3sYqY4zz1cybIMxRDIiEV8/B?= =?us-ascii?Q?jju+5yk/IBlrMdoP0wUd6elhLIKOp/Gbpbijn3rMvYE3X0AHAhPqZl83hAu0?= =?us-ascii?Q?/t6NCsbP4piMJUtq0yJiiF6uJpJTUbH+CNgWZR8hdL/yOgSF4l4hPIXoAcI8?= =?us-ascii?Q?+0Ad4+fTH2QiTvwBxJM3CLUaij7PQb3AXOMPGdEh8A5Zu6s+TdOXe33sf73O?= =?us-ascii?Q?3td/wS6Y8c+pSpo/zRIyLtjJ6iz83ePPTxtJplQNnLMl9xHfkWoZYbEGpFr+?= =?us-ascii?Q?ae8S+9Ix2Q8tRVRsuUb3gl6a4+1EQ8SDJBCe6sQaKXShBLnu+6iooTDblDRl?= =?us-ascii?Q?q5u5cO7c6+SE4noXHsyoEDn4CXkd7i6Hn+kPzspgY0AOWMsZZAZewA4Vak6R?= =?us-ascii?Q?5c7RKf9pW9eRgUrccuzQK3H/zELWFLWZg6YMq8WcPDRtjkWluBlzr9b3IfKV?= =?us-ascii?Q?HY3d2k32lfDePhiNAiNLVlLbIemAi9YTrD6hKMmKWC1jaqKudsJY2t/W6Tev?= =?us-ascii?Q?Elgam03wmxDnfZY0e8dfx/+UHGDVu25oymxBJYmQG+hRDOf9C6O/NE73PxPY?= =?us-ascii?Q?rG5IpDRg99kJMLQs5Ispq1vTSDlpElNCmw0TYSCTJ0CMnZ6+EH3bu5/amDuy?= =?us-ascii?Q?lDwqzrP5ZA/V1Woi+qdKjlTA0kqetYHhR0Iicbz0wayeIm6Tw6ZeqfT7KxFL?= =?us-ascii?Q?gQhO1pryxrHTq49MrA8e0CcAEuBGsYuT2vtFtBLygU3HFQiQjVqklnWhMNyx?= =?us-ascii?Q?E4iPAm4xqxVuAZRsX5gV70DcBHnJFJ5UbpHsCKDCrypyyrNXgGU4OVUDeHh3?= =?us-ascii?Q?wzhyoZZ+q8odfSz+RAipMTI57LdYssfz5vUe0XZDuViP3EC2yavzw1nTd4ZF?= =?us-ascii?Q?CLIBbrkLhdzMOACIQ2N/YNzW56xh5zJpBaKKowSDUc9J0PbmCEuI4d4SuwK8?= =?us-ascii?Q?vXsqWT0LKGwwBWR02BBrAN7nC8umPWtN6TcSyc4OVZj+9GLsl/PrDbDoCZak?= =?us-ascii?Q?znsZ+6cz2Aapd0ogsDjkCFkKmaLAI+3xZDZFVo78SNrvEK9gFGpo72H0HPr6?= =?us-ascii?Q?+54bNGqTI4oRIP8kF1c0RDQ8McoAeAs9x5W53FhG+oooLeiAXyG+DGqpr4gl?= =?us-ascii?Q?pLAfYAM02uW9fWtTXMlv2VAB3feWxjkIhd3AhJYS2O45JfhBlAnnnc9UhUYj?= =?us-ascii?Q?R2yVs+aAoR9TipjNgQrRvCoGThwXWHoSpNgqh7mg194alDBC6AqNSTaK6LK2?= =?us-ascii?Q?VE22fOhqT+z6Q3jRpGDAAoP4WYRCuCFMNv8F5bJlfNK8kp7zUDxcRJfyT9En?= =?us-ascii?Q?zqzq8vNPMmr6eeUomenvESkpnoNUkkWCTpIsdduqZ1Yq9brk5PZZrY0VOvNr?= =?us-ascii?Q?twPPT2ePuKt8w/zNXaA=3D?= 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)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:39.5737 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d3fdd5d0-8106-43be-8602-08de28eced93 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: SA2PEPF000015CA.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PR12MB9636 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722752872018900 Content-Type: text/plain; charset="utf-8" In order to asist in reviewing/developing disabling domctl-op patch serie, we will transiently make MGMT_HYPERCALLS def_bool. And it will become optional at the last of domctl-op patch serie, where common/domctl.o's building as a whole becomes dependent upon that setting. Signed-off-by: Penny Zheng --- v2 -> v3: - new commit --- xen/common/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 6709c3c95c..aef29e0174 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -654,7 +654,7 @@ menu "Supported hypercall interfaces" config MGMT_HYPERCALLS bool "Enable privileged hypercalls for system management" depends on !PV_SHIM_EXCLUSIVE - default y + def_bool y help This option shall only be disabled on some dom0less systems, or PV shim on x86, to reduce Xen footprint via managing unnessary --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722747; cv=pass; d=zohomail.com; s=zohoarc; b=Tm8S68Fwbw6LpuS6KeKcz+ol8Gqyu2NcgIX2ZjM4dMdmcGKj2nWAOMsDkobSZNQDMF4l8SH+zH3ucoIkBPex55MoqqSE5Yox0iFqbPbMhUQ6FTbE0vjFyNkDur6uOq8rCjS+bhNBTHKZJYTMcmxtvv5owU00lnpcnbEXouYA0+Y= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722747; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3GQVuXC7B0B8twCs+l8AJnzRTVvVzhnihKsh/9HGxZY=; b=aHWz++k0nnWHnt6YauEKqlhUf/XJ8LP0Na5vrrqyIm9E5UPhGUAaq6dke8x3ihSCzsYgO3Cro5woF7ZAZp5nRNgTd/w/Ec42LcB3Ue8T2mGZXyG+1sIf+71PozKjEX/Hv0I6aFCimzvnFhwnV0roNs8Y4qDTBh+sTF1s7Bat+Bo= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722747188240.97037375055652; Fri, 21 Nov 2025 02:59:07 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168577.1494570 (Exim 4.92) (envelope-from ) id 1vMOqm-0008Gs-Ba; Fri, 21 Nov 2025 10:58:48 +0000 Received: by outflank-mailman (output) from mailman id 1168577.1494570; Fri, 21 Nov 2025 10:58:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqm-0008GL-70; Fri, 21 Nov 2025 10:58:48 +0000 Received: by outflank-mailman (input) for mailman id 1168577; Fri, 21 Nov 2025 10:58:47 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOql-0007TB-Bj for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:47 +0000 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazlp170120001.outbound.protection.outlook.com [2a01:111:f403:c10d::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0d245109-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:46 +0100 (CET) Received: from SN6PR08CA0014.namprd08.prod.outlook.com (2603:10b6:805:66::27) by SA0PR12MB4477.namprd12.prod.outlook.com (2603:10b6:806:92::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:58:42 +0000 Received: from SA2PEPF000015C7.namprd03.prod.outlook.com (2603:10b6:805:66:cafe::66) by SN6PR08CA0014.outlook.office365.com (2603:10b6:805:66::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:58:41 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015C7.mail.protection.outlook.com (10.167.241.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:42 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:39 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0d245109-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CrGpHlBhCtPXNVvP9OkJ6R5FwDyTcnJC0rnY+LPa/6W9c9NMWifymjJaY1CQT6bWSHUgyXQoWhZyRa11Cgy7tnlRObiWn1e9WWzGo74byobrSH6hLbngryOr/z3fWjvlZ35veCcvh76aI1dwt+CTnWwgT70fxcKQn3CtZzzKRFAFwjwIDxs4NsDaF1cliUWIFPj5SqTsT62Ewth4QVmHI4/7ZfjzMPj10fl/dy0lTnnzsUxSX3+FbhXEYK0nhE3FsX0dLxHx9sfVX3AOduigBAhVKP2dc5feC3zSHo4v3O5qqgS4RnoNotUY1Egzoe8zQlgtnnxva6UkAJ8PSo8yww== 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=3GQVuXC7B0B8twCs+l8AJnzRTVvVzhnihKsh/9HGxZY=; b=lYPGRVfVADuAEUyqq4/Gv8LZxKy4o1V4IXtpda5WTbI/vNS4hSYdMVgpOzqhHlU7Mmxi2q+7sZ7IbUx856qGwr6Z4Cl81JSX+SCWS4jWK0DUs4QtrL9ulzSPao7xIZ0eqIcKPyKUnfUcH7khlUMztq3D2ldSSiXNAmaEMdyezXMutnzEs/F1l7upFBdwt5zxVuwYgihx256XlU87AldqJMLJuEGQ2dZejwwHir4owK63aN+sVqAUh8cKz4YalBQ4roZ9xCXv8nQk3saYuox3Zw8e0fZIdhcWYpeDpovtyJfXYLMdbzx5Rl+tBQNDD6L/OInGuFqwyPICnukRN+DMLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=3GQVuXC7B0B8twCs+l8AJnzRTVvVzhnihKsh/9HGxZY=; b=TZAqM3l0ums4CHyQ0lFep/Gsgw8eIriQerhc+wrLDiu7g/S4gsT13KmKNmKJTNyZfm2v9acstoFanS2fmyGhAw1Mtg2Ji2jlyv14pFhGpGwz8zUKammZuaZciYtniRka0fbWAACL+e4yzG7XmHIPDYoTBexKWyR/WIIlkZ0CT+s= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" Subject: [PATCH v4 05/24] xen/vm_event: make VM_EVENT depend on CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:42 +0800 Message-ID: <20251121105801.1251262-6-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015C7:EE_|SA0PR12MB4477:EE_ X-MS-Office365-Filtering-Correlation-Id: 8dda5add-e648-4090-a2a7-08de28ecef57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lDKWyzcumBISSbZXx4qRmxDT/eBMiOSn9O344CCSRPja82YIE51t9owWHJrn?= =?us-ascii?Q?ptzdgrbNfuhWMx1GEuu004xetwjh9HTohNIRt3jLP5ZCKwdMgMfZlKpJovC4?= =?us-ascii?Q?61ENClFwxBCxITCEEfROAhn7Mjfzq7R0XiAnZq5OikHrWWfdJNPqttrSNTMg?= =?us-ascii?Q?GgTApr3dSKMKT+TWDnDS6Yxr/7RaqI5SpcME+UCJsOZFaLqMZcJXK8BeuDQM?= =?us-ascii?Q?Gus4BmlNHrqyh2zYckDzLjaoKRsLGZMr0fvsuJyitEXKl/Et57LMMbIabE7B?= =?us-ascii?Q?n06Xe4ED/UlL+Bt6XqK3C3iHnjLOXBL0sRXep1Qvg2j3wLa0+j/cIA3AReCR?= =?us-ascii?Q?rKWuP0/1wKKejM6gWIIVQ9821gqEIXRjzjw3SdOKn61PU/0pN2lmEMBFK+AZ?= =?us-ascii?Q?ysJsv1HMBdMruNdxDnNzJ+LzJ/V/F1nANu8PiwPrTRPL3AEwl6E7844V4uu3?= =?us-ascii?Q?GPyUpXhn8jJ9XcKKxmWgLhphkOrJirDinVRpzzvQDeIkKH8rCbmLaUHNaOo7?= =?us-ascii?Q?WIWeRF8IAdn7B+aUz4WW2XJeYtKQRSEO+KDaMG4RKh9eVKFAx6Ezgrz+/nJO?= =?us-ascii?Q?+UovQLwE0KTwGPuumlEcdKVZwAAs30kNXCjLQHVEhmcTCvpctgu608PKEYcG?= =?us-ascii?Q?Gvcdejl3xTHp32a1IFsJbz+AnPCm70JGcbZ+lHNr4dTMK5x8O3ek+xiw7cfd?= =?us-ascii?Q?pjZqNf1IRJdOCvh5tO/yfmB3CruwpUKX7ZJ4oySuuI/EisYFPeK3PlLwiO16?= =?us-ascii?Q?tJ4Ruzfm9BUiKqYn4KjRitc8r4Qq6JfW2CMZzKrh7dyWh8aKf0S9uOhJ6f+z?= =?us-ascii?Q?CdeEyO7W6Ed/jUHkQeOzj/6fqLbjIg3uXbT+jUuZQiAJYol05uYqExSCKCF/?= =?us-ascii?Q?ICjvZDsuX3Ez7b1OVTMgiIXNQ83iYSy1r3sDXQq0PbVrO/NEnoTXJXx4Dyhr?= =?us-ascii?Q?xH40I5NP8wHvcMgCZVlDvnKu5Ant03SxVeWzWWmn3VIknXeHk69mobWkBO3S?= =?us-ascii?Q?mwiwpwfqtldHcFC4gptBGIZW7JKS0L75sf4+tN9XfZ3Bhv2J2VDrC9zzoY5r?= =?us-ascii?Q?ycWA8OZqeXEDKHnb1zswbVHX6xc+w6SfRwVMusMLjP+VvpeNV/oGisGBn/fY?= =?us-ascii?Q?rlH2LoTjNkU4l04rdLhYvtDMYhWxr1+nKDpEQjtj7WdXGmMMS2AchxZm4hbK?= =?us-ascii?Q?GV2muabyMi5tpoRW+qlHGRCNFck8zz+ja8gOE3b/gJjJTmr5SqiOm7Pdv9i7?= =?us-ascii?Q?nzo9HyCKa0B841X8j441iL6KXBTRvWZOpsyWlAVrhW73peFIHGB/hx2iWsXR?= =?us-ascii?Q?NJmpwhB+pZjD45ys6TNoWRrv/JllbdBIEWyD92v/6UTaHz1zlpiMCNKhH5rn?= =?us-ascii?Q?opKEtjPhs+/whRx3OHkD/8MgNjZj5XPx50wRr5LsqrMBhayExbPFmFQAYbQN?= =?us-ascii?Q?IxCbshPQFx2noObmyny10MHtBdKOxXm8LbyAOM2q5w4VEzh8LkBmkSEBmyt8?= =?us-ascii?Q?Y05z69HYaN4dz9ynE8MqSKGg3+jE6tRtr/blTRGZMKYoK3eYmiEg8okJHPEO?= =?us-ascii?Q?TWn+x6n1kDSx0kqWwTw=3D?= 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)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:42.5344 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8dda5add-e648-4090-a2a7-08de28ecef57 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: SA2PEPF000015C7.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4477 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722749185018900 Content-Type: text/plain; charset="utf-8" VM event could only be enabled/disabled via vm_event domctl-op, so CONFIG_VM_EVENT shall depend on CONFIG_MGMT_HYPERCALLS Signed-off-by: Penny Zheng Acked-by: Jan Beulich --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" --- xen/common/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/common/Kconfig b/xen/common/Kconfig index aef29e0174..973b8e26bd 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -175,7 +175,7 @@ config LIBFDT =20 config VM_EVENT bool "Memory Access and VM events" - depends on HVM + depends on HVM && MGMT_HYPERCALLS default X86 help =20 --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722760; cv=pass; d=zohomail.com; s=zohoarc; b=RgsUKAC/ch3vSOdTNF+1nUnnAX2P4qy+8xqVjCyGe/VvW9vZaKgI6z+tHQMOivVwA8ZJE9a8wqA6qGvavQxnAZ25GbOYWxmU9qW0kMLjtIjKpM8KmD0pszWKyP2tygyeV5zkWxxLp3lsWde0rdnp3ShHx0tvqHA5xhMq5yNK/JY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722760; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=igofeiLvOI2W8jum6hpl+MDDJaVYQ3ySBjvbKhyR/NY=; b=ewGA07MDLGaqNwTl4UHDPfGSXYyhwvGEEzCWU9yO3IRE+PBBdCvnr4pF3pk2EQKTeVxCZwJGAg+vOBA0KsZMHRJ2VpJkFRjWcfwVJknXuqqQttLeV4hoOuPDFi4df6eLNtj7WurzKe5Ob+l/LIhx1vAx43PUTBRlGHrlDKvNqhg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722760674195.27020369653133; Fri, 21 Nov 2025 02:59:20 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168581.1494597 (Exim 4.92) (envelope-from ) id 1vMOqs-0000f6-10; Fri, 21 Nov 2025 10:58:54 +0000 Received: by outflank-mailman (output) from mailman id 1168581.1494597; Fri, 21 Nov 2025 10:58:53 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqr-0000ex-TB; Fri, 21 Nov 2025 10:58:53 +0000 Received: by outflank-mailman (input) for mailman id 1168581; Fri, 21 Nov 2025 10:58:52 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqq-0007TB-0L for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:52 +0000 Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazlp170130001.outbound.protection.outlook.com [2a01:111:f403:c10c::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0fb1e2fa-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:51 +0100 (CET) Received: from SA9PR03CA0027.namprd03.prod.outlook.com (2603:10b6:806:20::32) by MW3PR12MB4492.namprd12.prod.outlook.com (2603:10b6:303:57::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.12; Fri, 21 Nov 2025 10:58:46 +0000 Received: from SA2PEPF000015CD.namprd03.prod.outlook.com (2603:10b6:806:20:cafe::8e) by SA9PR03CA0027.outlook.office365.com (2603:10b6:806:20::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.14 via Frontend Transport; Fri, 21 Nov 2025 10:58:43 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015CD.mail.protection.outlook.com (10.167.241.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:45 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:42 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0fb1e2fa-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nr4I0SUGm+PIpXxucBhOrlwRKHcEbUermOaMdC9SCVKLY6ghjctC5D5Wy/DVIRvQtzUMGz7rRzvJgso8cJ40b/zPO1sw1xLBwHO5IR2UwBh9ATdEhpma3/kz/7wCc+on8MLU7xHgu4vy8QB5LArzsJx+11kN03SkaKzm7UTK27iiW8DQX+Sf0r98uXtUqzcnKf5Rl1uvDLA346iN6eTDORGHTM6kDWvIKQhYPcS9gQfB85nnB9NHnxgznJLFd4DQ7e7OuRJN+5i4G50wRpu+XBjbLaYGfmsG57hWjl6NsHlaO1y2h7phwL7QeAZp7xaajXr934AP/WjzGuPtjYHzow== 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=igofeiLvOI2W8jum6hpl+MDDJaVYQ3ySBjvbKhyR/NY=; b=DpbZ2Xa5pE4Nmod+8kCkVAXSXAkO8hA6s4uglFeuCCc5OhuJARW8gKMn2RUIDAx8G1NRLfqKPDCqrh1nKhuDziGU5AAPe4/qycqtnDkBbCTSImJXbnpxzvq9/943t3FHtfkJiaiMWNO33+RpE5XN8f0a47eY8efpR0ZLYxR3cnef6ahaLRMfmP5Qk60VHyhegGXiYunAxhAZkEYbbdpdg7Jkpeo5M1/3CBZ+ZyjULT1cws2NG6cIPb1AbilSte54XbEvnNwGwejpau9rFGsrgMDJbtCJ+XRV4XP72NZh+Q7EFrwHEGs5BjYfX/Dd4k3tIhW2mDI8r1tuxx25iJwTmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=igofeiLvOI2W8jum6hpl+MDDJaVYQ3ySBjvbKhyR/NY=; b=l4yyS4DAG5qrb7wGzugdk0xeciDC2GfyQEkjqdzJc7M5LWgdfER8dQ0WBiZjD1UH7HNHqHfKq2IB2X2sEVW4UClBPTL+C/Y/uyu0aO1WcxoukJwR/Hfit3d9Ex8uYk89tTihOJAcGXq3ge6RLUIXr8O2GAzPCQLZG7d9hHCgEBA= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" Subject: [PATCH v4 06/24] xen/domctl: consolidate domain.c with MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:43 +0800 Message-ID: <20251121105801.1251262-7-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015CD:EE_|MW3PR12MB4492:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a29c23d-3e30-4776-1af7-08de28ecf10e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1fg78zdKCoPnFHRLh7/gsnqC5xeBA8BaBZIvoOPLpjZeniQQdd7RMC9R/IBG?= =?us-ascii?Q?vbFW+d3pWFRfbqdgWvcdbImBeze0Nsmn1KFnKSiaCADdO2E1RBfTKp1000M/?= =?us-ascii?Q?GiiLBZU0Q2fVEEoGitPdUPaY7iJXNTmzJdMm1dw+VzfpfG3K7+zmGn82Z+VW?= =?us-ascii?Q?y8ksCXm5E8szdgatUTLL9yZLbyq2uiPa0l1XOqiFEHCcohzXnL10hl7cqojR?= =?us-ascii?Q?pMyy5v1D5LNPqmeW+rObLeYApsrev6yxC+lWGrjs8YRVDAr9UaorijlMQ02e?= =?us-ascii?Q?Q8zOuY0RE7Mq9xNpim1ulO4fn6E+Eu2DXmvZayX9leubvBojpnf7cGrM35oF?= =?us-ascii?Q?3Y3x5tZ8tK08J/8s8LH0WqiiZm+WQl5RuDoDTdlrPhELc/2A0HL58Vl0X0bb?= =?us-ascii?Q?4y+KxocKowREm025AwuvY8wIEnFDVtCLqlaleoz01x//z74BOKrWq6n+TZ1R?= =?us-ascii?Q?bh6VGuHJRxuUyWz/GRYuIGCBl19/dgVQEW1jRtKbNiASMXiZSSrosnTYGbNF?= =?us-ascii?Q?n/6Tkfd3CI/WQ0Jeu1x/G27uZJWo9SLtxHKlR4G+V2dgGX0O+ThT1P91RvhY?= =?us-ascii?Q?PgQYOpe3TA3ox0qt9pkxg0zrzZls1tWJmO0bo+FB3u8wl5OQcuzO3TFs3RAi?= =?us-ascii?Q?j5bP3oM3BGdYvGhe904cSjIKJa/6jqjqvPZjfkxZo01Ms75YcaL7ICsa0nJy?= =?us-ascii?Q?Q1vZT82v1THVSK/LxVxS4T+eWR6vQCkYm78xKvMW13oKLPlV40c/M50LucA/?= =?us-ascii?Q?1hkR4QaHu8iJA/SsQu/2gJskB8gBqvFmkx91W/rv6PXYmIY4MJk0frsUKKqo?= =?us-ascii?Q?qhzMjxpdC5vGfXRASsejNXhF5mYsqNltXtAkoSkuiYL1FPYOmyW7lFjXBZ1q?= =?us-ascii?Q?l0z6ltdiyyhWZGPtqd8s0HJ1WZYkXRVZSUbTBC4TL7x6em30ZeT8W4JOiGWf?= =?us-ascii?Q?owZHB5i97tBoyCPMuHIDZAIY5Zal/6IYzJwmWJ/Q5yFyy2CIRmm436G2AJSp?= =?us-ascii?Q?2WElimyNwXKV+qXCuR/9XYjh34AIrD0rVuyvj2cB/HZX/nUI0WFDYSaKyc3C?= =?us-ascii?Q?pF8pj9/q+dMDd+6vLg+DPj3reYxCONHCBWW/W1bm8S+lUFv2Pw4Rgz8OYJ7k?= =?us-ascii?Q?KA4vyVGPURbF83jc/RdnYmcXSr+5BPFlZxCg4YRpfoExoM7zkqoJKJsznmBA?= =?us-ascii?Q?VeR5dgg+5XQKcITrYHAhex/IkFjvjNODEozwJXjEIRlg+4XZEyD8rBAYgYUE?= =?us-ascii?Q?przvyoatIl8Fs1W6bL3XKEh92mrDzCz8lovyf4fqBPYeDG3prZKDDX9kpchd?= =?us-ascii?Q?smGjVf+ufnpI42Ardm0Emvl4XpFJjHsDj/a1d0CntSSiAZNFjiG9kf8Xi0aG?= =?us-ascii?Q?w6oujdjvp1dsZiGoydtzH93lUpn4uI7dK8S1id/uBBfwm7okpDvbubJoZ0OS?= =?us-ascii?Q?Qlld28xt/bKAEHWKSk/rexEGxkK0rzSGvRWx63yuw21ciWn4xZ6rORD+MGvd?= =?us-ascii?Q?wVGLaZIEfSAJ50nSbNv3F8z3RTdmwmw2TosTj8YaLB8xpC5KVz7PevXDHs+a?= =?us-ascii?Q?EqtEcTbOKmtEGZTb7cg=3D?= 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)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:45.4114 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2a29c23d-3e30-4776-1af7-08de28ecf10e 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: SA2PEPF000015CD.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4492 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722761305018900 Content-Type: text/plain; charset="utf-8" The following functions, scattered in common/domain.c, and are only referen= ced and responsible for domctl-op: - domain_pause_by_systemcontroller - domain_resume - domain_set_node_affinity So they shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable codes when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule 2.1. Move them together to avoid scattering #ifdef. Signed-off-by: Penny Zheng Acked-by: Jan Beulich --- v3 - v4: - combine commit "xen/domctl: wrap domain_pause_by_systemcontroller() with = MGMT_HYPERCALLS", "xen/domctl: wrap domain_resume() with CONFIG_MGMT_HYPERCALLS", and "xen/domctl: wrap domain_set_node_affinity() with CONFIG_MGMT_HYPERCALLS" --- xen/common/domain.c | 114 ++++++++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 56 deletions(-) diff --git a/xen/common/domain.c b/xen/common/domain.c index 6935b7d5e8..c6b0f931dc 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1115,35 +1115,6 @@ void __init setup_system_domains(void) #endif } =20 -int domain_set_node_affinity(struct domain *d, const nodemask_t *affinity) -{ - /* Being disjoint with the system is just wrong. */ - if ( !nodes_intersects(*affinity, node_online_map) ) - return -EINVAL; - - spin_lock(&d->node_affinity_lock); - - /* - * Being/becoming explicitly affine to all nodes is not particularly - * useful. Let's take it as the `reset node affinity` command. - */ - if ( nodes_full(*affinity) ) - { - d->auto_node_affinity =3D 1; - goto out; - } - - d->auto_node_affinity =3D 0; - d->node_affinity =3D *affinity; - -out: - spin_unlock(&d->node_affinity_lock); - - domain_update_node_affinity(d); - - return 0; -} - /* rcu_read_lock(&domlist_read_lock) must be held. */ static struct domain *domid_to_domain(domid_t dom) { @@ -1361,33 +1332,6 @@ int domain_shutdown(struct domain *d, u8 reason) return 0; } =20 -void domain_resume(struct domain *d) -{ - struct vcpu *v; - - /* - * Some code paths assume that shutdown status does not get reset under - * their feet (e.g., some assertions make this assumption). - */ - domain_pause(d); - - spin_lock(&d->shutdown_lock); - - d->is_shutting_down =3D d->is_shut_down =3D 0; - d->shutdown_code =3D SHUTDOWN_CODE_INVALID; - - for_each_vcpu ( d, v ) - { - if ( v->paused_for_shutdown ) - vcpu_unpause(v); - v->paused_for_shutdown =3D 0; - } - - spin_unlock(&d->shutdown_lock); - - domain_unpause(d); -} - int vcpu_start_shutdown_deferral(struct vcpu *v) { if ( v->defer_shutdown ) @@ -1616,10 +1560,68 @@ static int _domain_pause_by_systemcontroller(struct= domain *d, bool sync) return 0; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS +int domain_set_node_affinity(struct domain *d, const nodemask_t *affinity) +{ + /* Being disjoint with the system is just wrong. */ + if ( !nodes_intersects(*affinity, node_online_map) ) + return -EINVAL; + + spin_lock(&d->node_affinity_lock); + + /* + * Being/becoming explicitly affine to all nodes is not particularly + * useful. Let's take it as the `reset node affinity` command. + */ + if ( nodes_full(*affinity) ) + { + d->auto_node_affinity =3D 1; + goto out; + } + + d->auto_node_affinity =3D 0; + d->node_affinity =3D *affinity; + +out: + spin_unlock(&d->node_affinity_lock); + + domain_update_node_affinity(d); + + return 0; +} + +void domain_resume(struct domain *d) +{ + struct vcpu *v; + + /* + * Some code paths assume that shutdown status does not get reset under + * their feet (e.g., some assertions make this assumption). + */ + domain_pause(d); + + spin_lock(&d->shutdown_lock); + + d->is_shutting_down =3D d->is_shut_down =3D 0; + d->shutdown_code =3D SHUTDOWN_CODE_INVALID; + + for_each_vcpu ( d, v ) + { + if ( v->paused_for_shutdown ) + vcpu_unpause(v); + v->paused_for_shutdown =3D 0; + } + + spin_unlock(&d->shutdown_lock); + + domain_unpause(d); +} + int domain_pause_by_systemcontroller(struct domain *d) { return _domain_pause_by_systemcontroller(d, true /* sync */); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int domain_pause_by_systemcontroller_nosync(struct domain *d) { --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722759; cv=pass; d=zohomail.com; s=zohoarc; b=V1a+oOSnsJGqd0zizvrLCV4/yx1VQ0wt7CuxVPmEwJNIAci0gNOeSA5L2K/HXpGrM1/+WtGsCpP4V29WhAS38k1QpmxayZ1pIWtPPbGcT3hpaeAjTZTASIGINbYl2DlfRCJSspwWKldWM9AZynkBqtf6e7q+l0YBBbTxk6WCmlE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722759; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lJQa97U8fCuAP/uXruekBreFwPtbzuy9JqoPuZ3dpZQ=; b=k21cNpb44sWQNIJPdUA+T7hVnoge2FLQHByMuqhghNZh+tLpYYLCGZVpd/mUnH9ULAiIw1y2mbmwWaOundD1hCUafVSFWgRx+5dM1GsrXRshWuc9WTcfnrG+bpMQxB8DOcaAq3XoJ9jer8NCPK+YpmLwsU3lqypSAtpA0SmeM7I= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722759112121.38740754247078; Fri, 21 Nov 2025 02:59:19 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168582.1494601 (Exim 4.92) (envelope-from ) id 1vMOqs-0000ia-GG; Fri, 21 Nov 2025 10:58:54 +0000 Received: by outflank-mailman (output) from mailman id 1168582.1494601; Fri, 21 Nov 2025 10:58:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqs-0000hl-66; Fri, 21 Nov 2025 10:58:54 +0000 Received: by outflank-mailman (input) for mailman id 1168582; Fri, 21 Nov 2025 10:58:53 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqr-0007TB-0e for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:53 +0000 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazlp170110003.outbound.protection.outlook.com [2a01:111:f403:c10d::3]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0fd5d176-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:51 +0100 (CET) Received: from SN7PR04CA0015.namprd04.prod.outlook.com (2603:10b6:806:f2::20) by CH3PR12MB8404.namprd12.prod.outlook.com (2603:10b6:610:12d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:58:47 +0000 Received: from SA2PEPF000015CC.namprd03.prod.outlook.com (2603:10b6:806:f2:cafe::9) by SN7PR04CA0015.outlook.office365.com (2603:10b6:806:f2::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:58:38 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015CC.mail.protection.outlook.com (10.167.241.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:47 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:45 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 0fd5d176-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pmQ1rt+lENMv7gdHWZ0GU3ZA4fOfFxHXSpX8JwdTXlfXK0cbBAACPQ3KdkvBDf8u17fgYin5ryqy+N+r/Qmd0lEK1wy01KTe37VMZNIdz/V4xZX0Avr9qjeNH5anYvzr2HV6xoqQW1JoMNoMqHoJqybqjw5ep8SnD9e17Z/vf1Qj+gVQlcFveYpfWx/EouhpoPCxBwYmIOsWnv+sjesJaBQf3psdSz6PlpcZA0fhJRQonoDyiktU0zjQoH6m1CzH7cNCyRUhGpkQKFDLROph/LHjmhnbmsNqHnEDacS0ua7umyZ2bg9dpA37y8lDpq66/TxxxW9kiI5e5A33kXp7Yg== 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=lJQa97U8fCuAP/uXruekBreFwPtbzuy9JqoPuZ3dpZQ=; b=QwxVp4kAsmq00Hnf9/vF2qrH23n+Lx40XsvD+S6ZNe0UORJHkrUZHUL4ba4U/7F/8jIqYWlROp5uDOP1I0afZQlDCqEdEHi+6mEruiZc8PkZ8gCLl7mg9nvE+G8jz1bljlv8tdVOqhEasN0vyYN7d8OiCyVBd6qi/lSNR/ATlhCwh5n2bbWY/TI+Q9ZMJzYSe1CLzOxxfhWIT4W3tv9DDX1G3m+Fw1Y8EIyyZPegXip6uAkYarYWviRO/hj3u7aKlfez3i1A8DHhEs81yGNWZzNWd/3M4Ng9M2M25yBKwuZsielWujwa5lbIuJ9pncmf/vEbSPVsGQgtBtYH2ET6Yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=lJQa97U8fCuAP/uXruekBreFwPtbzuy9JqoPuZ3dpZQ=; b=d4zkzIJq8N03DggK5o8HlFDHOo7MI8+tEgmB3+kmOVwrIYNmWHACI6OSOcvirxUk/8M+xWy7i/XxmMEIaBUz4hSU7zZSXr6ZsziRa2wolbG+AKWtnvrypDg83XFS1/1djEe9xeDaNHQdnqqakCcyEW3q14KQtFG6OcyxWTW54cU= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v4 07/24] xen/mem_sharing: make memory sharing depend on MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:44 +0800 Message-ID: <20251121105801.1251262-8-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015CC:EE_|CH3PR12MB8404:EE_ X-MS-Office365-Filtering-Correlation-Id: d0e54b4b-31a3-4dee-b37d-08de28ecf258 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/99LccyDKjT7hDg1mNae94XqBonr2M/Tpg0A7VtQcaWeTmoGzEjG3KkT1ed7?= =?us-ascii?Q?AvHFDZ0PAojBZG2BgttZfxyIdNUKxRsWAX2gerHAzYpCjQEsjtx9tm6a/C2J?= =?us-ascii?Q?zxPwjAaT9Avt1DGJwbUy6z/+3d8yAm6/3wuTWHl+11K6XSIjz3UptnR2mqZo?= =?us-ascii?Q?rTieeyoiDXUceumXlA1F6lIM5Q7y3G9f0fZIglDdhi9X6MiWD/aMz6wOuydi?= =?us-ascii?Q?roxpNeoSCL8DNUzjDmDIdggRuh/WghJkCkK90IjpaNY1T0LaH5gV/COJtCJb?= =?us-ascii?Q?TC6CGyzKF7hDQj81Lbl5Q0Rpr9Y5sq7IQLHgA4cn9lFqRcwNHl/yeLje2gV7?= =?us-ascii?Q?wRSlS/tTGYouZUJ1j1ElFWKXfswE6iC1AhJZpO7BCv6Qz4zYZlf7rkYnHtLn?= =?us-ascii?Q?JlJJraOVIgyjaE6sCaE8yKNZLWaGudL9QAHei++UbXoGSPX7vM8IbSJLNLhX?= =?us-ascii?Q?PWi955xGDEgAnCcBNMsqU2zT5wRGW+zk7uT3VjSjnv1p25h/QHbh6PebW90L?= =?us-ascii?Q?8utsNe8xKa7RcjPuznznAQEu5DYXdknnDCfCPdNzd5XpcHzdARikgALei98N?= =?us-ascii?Q?yDJ++KYO2cVULTvfklyT8pEL/4mpF/0A193PdE+5DTmtP1T9b+jgdGxEJkdw?= =?us-ascii?Q?eRUSnUhnAU566npgXiBmcBwRzIpmLzLSM2G8yhcW2OB364z+BAfVPeKGHFve?= =?us-ascii?Q?m7v6jqeEaW6KIX14wcM/k8TGIqyrzbW2X9H4M5HJeRN6zYSng2bGQ8ycEKDa?= =?us-ascii?Q?SI9+lkuOAYiL0byn3oTkFarv4u9Wl5MkvcP6Z2nBANnQvz9uC/YQg4in7pS6?= =?us-ascii?Q?hT3rvv/CjtbXTlQ5/FITSgD4Zao2X4o8cAdo7XZEKMZQwWfPwTzEqVdGawcP?= =?us-ascii?Q?1qT12qhR8kV1UFXQt5RvZaDanI4C0HPMfL+zGLalZ4Bf7lI8DZCM/bnmv2lr?= =?us-ascii?Q?k6xzSotC+eHA+nat/u33XaWrx2MF6CT7qiHYvM9mppHFD8GZCQ2V5nvBE7fz?= =?us-ascii?Q?yZa0I9+uYD6kiGjdYLY5EgZxhyCLtpaK0rduliMUBzEZBsnB2K6l8y3LnwKQ?= =?us-ascii?Q?dfqKN/JtChwrO61eJDsPko8b4h1CL43DgYHaibTl2rjFYa1zDtBDQp8Beq2g?= =?us-ascii?Q?M9L5aPuepbEgZ25/SAgdWpwV7ss/pCk+migef/0LRhryC6gmKRb/8252IOuN?= =?us-ascii?Q?e4E87Pr+d8R7JbzdGUtvr6EAVZEGgI/YMSbb4qHi7MXUshagEbsYwvKMgmXx?= =?us-ascii?Q?tveoaNCtyInMdvi8nFTWpnektvO3FuJgn/YKuNE/KO647VKUVlRSDJjYynwu?= =?us-ascii?Q?2lLnDrWyMa0eu31Ban4evwwW23HMKQbVGS1o4NY1Bqp193zuEuOjLuy9m6Ii?= =?us-ascii?Q?8Yuoqf9Qt6YBQ7m2BVK8HnJYx7LqfnyCg4y5BIcWghOzAbn98W0Ozb6dVUBd?= =?us-ascii?Q?PH0jmeQmKJk3Lnxn5Gj75lJhGfTnqfijyx5JwmsHVT3FvgAN2G+WEaFgaOMO?= =?us-ascii?Q?d4PCnLf+VOSG3Nr8dheNCWq4HPYhhHgsy0vYm/Diy/IMXIeaSMmZiqqSknoD?= =?us-ascii?Q?D4kif4gLR4n0OpgvyFQ=3D?= 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)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:47.5757 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0e54b4b-31a3-4dee-b37d-08de28ecf258 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: SA2PEPF000015CC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8404 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722761226018900 Content-Type: text/plain; charset="utf-8" The enabling bit (d->arch.hvm.mem_sharing.enabled) for memory sharing could only be enabled via domctl-op, so we shall make memory sharing feature depend on MGMT_HYPERCALLS. Signed-off-by: Penny Zheng --- v3 -> v4: - new commit --- xen/arch/x86/hvm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig index 62dfb1b6f1..d540c0ebf3 100644 --- a/xen/arch/x86/hvm/Kconfig +++ b/xen/arch/x86/hvm/Kconfig @@ -81,5 +81,6 @@ config MEM_PAGING config MEM_SHARING bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED depends on INTEL_VMX + depends on MGMT_HYPERCALLS =20 endif --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722771; cv=pass; d=zohomail.com; s=zohoarc; b=R//Rxd6AmL4LMPQE9LrJFE0bN+WGxfxOplFEBwN3yMJuCSotTx+yJJReY5Gl9Kx84icoiuHu/iaKGWOnhMlRiFKpvk5In34UvFAkSqqMl27T+U7M0NmmrIi1Hi5zuksW+v/mCZ/HIKDumQkIOLuY3ICbHimXEXIGjCfsTHmeioY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722771; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ltg8NEd19K9zNxJWI1ScsZ54nXB2wMydfRY2hEDjijY=; b=XEc7L29gvluShBjBqAbxZt/w2EVS0E3MxYXYedHBot3AQm1g19MKtuNKAMvASOLM53zmGObtl9SgBrBGETs3yMWDH4Hs5LtDD1lCjMynGS5Eg5c6+JZQYCgRGORInhNZd/JqqHmYmsPkS8MKprHQBNEwNxiVJhAw3O67vVh/2p0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722771173585.0986032815101; Fri, 21 Nov 2025 02:59:31 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168593.1494617 (Exim 4.92) (envelope-from ) id 1vMOqz-0001Vc-RG; Fri, 21 Nov 2025 10:59:01 +0000 Received: by outflank-mailman (output) from mailman id 1168593.1494617; Fri, 21 Nov 2025 10:59:01 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqz-0001VN-Lm; Fri, 21 Nov 2025 10:59:01 +0000 Received: by outflank-mailman (input) for mailman id 1168593; Fri, 21 Nov 2025 10:59:00 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqy-0008Dv-GV for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:00 +0000 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazlp170100005.outbound.protection.outlook.com [2a01:111:f403:c111::5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 13b3aa70-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:58:57 +0100 (CET) Received: from PH8PR22CA0009.namprd22.prod.outlook.com (2603:10b6:510:2d1::25) by DS0PR12MB8416.namprd12.prod.outlook.com (2603:10b6:8:ff::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:58:52 +0000 Received: from SA2PEPF000015C9.namprd03.prod.outlook.com (2603:10b6:510:2d1:cafe::b8) by PH8PR22CA0009.outlook.office365.com (2603:10b6:510:2d1::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:58:50 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:51 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:47 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 13b3aa70-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fnRs17zHX/kRzDu/wQ2cCk5wEKKuVkRDQ55ER7jp1WLUyWF/47vV5KWGaFUo62hMlYknloSOFTzWvvJ9B74917lZpx8M+PRWWZm0bu+POxOthesgvCQB3fdWxUMMyjr4tCV0h6q5Sdtau3oUwURWLWlUEjsv0WfbLjsKp9IEJMacNVT0Wm0wTY83hakGUHIJsI76aI9uxD29VLA8yrwpbKgnrk/7MD/nESidQvLxulACCIhVLNowJ3Pfmut+vHDF96H1H1a0WDxcA1Yqob0CwbTHUfwkCS+njVnXuYNyOnKRbSZFwvvdiOp4VoAXh6Uulpvrefs4tjnBG69NoitRcA== 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=ltg8NEd19K9zNxJWI1ScsZ54nXB2wMydfRY2hEDjijY=; b=v3sSCvIjz5/uw6c5QRFCftgcXRAABP70QfwAv4OquHCKiTLLEx3zpXJXvcPcqhxxV0/Gb+ucaFgfXAp5TY2vQl9zk6q9tE0pd29Bm84TO0w8H8iSw0QST5KUKgRwgab6UEQ6xzDOezW1FWXlUhkb8yGzZE2FWtwJX0LgpWsIXwCOWU2F+bKLIfzKwJ9SyjHWuI1fYSmeisL7GYB2yDPkGoAUjOaLKy6UApX9l/BYJGjGKIbRdz3dQtOonA6QXmKH4G6Y3sD9r0ja18enfoxHHVcxg18svwM7PmGLigty29C5ng13p0yppCyl/sxHPzGjYBW9WSYEcZF4bORAfdc1VA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=ltg8NEd19K9zNxJWI1ScsZ54nXB2wMydfRY2hEDjijY=; b=gMzby3sZHYBfl7la3998BaxPf4ilakhfS3Wmt8AHkjw9tzBKs4MwpnWEsc/hp11FwoZbbI9qe1BHhGbegp8p916oMAZ0pDQcDN5U9rEyQH0Ja3ggVMwdIjOdcAhL9CWMXnuQ1S4UAHqPTcLaPsPAwcUa8eE7mSQY45qRPGmJ+nM= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Stefano Stabellini , "Julien Grall" , Bertrand Marquis , "Michal Orzel" , Volodymyr Babchuk , Andrew Cooper , Anthony PERARD , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Timothy Pearson , Alistair Francis , Bob Eshleman , "Connor Davis" , Oleksii Kurochko Subject: [PATCH v4 08/24] xen/domctl: wrap domain_kill() with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:45 +0800 Message-ID: <20251121105801.1251262-9-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|DS0PR12MB8416:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d4d8650-655a-4907-0f4b-08de28ecf4f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|36860700013|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?BdyO40/hMnyNxsSp2gzGDwjAV9UxeLM+oRVUNzSPV/npYwlq0Ke9NDHLfct2?= =?us-ascii?Q?dQGHhFAOokP6wEp3881rbZoXXIOAw36Y0XG7k4S0ClIzpONg1QQ+/Ad5WHvV?= =?us-ascii?Q?AbYISagU7SoJ+9x3CXjpkkeAJ5SP8weqEXvDNWLV21zbgAnnL74UtKkUfFPz?= =?us-ascii?Q?+jQvWhvvwaMhyoV0+xDDETyN2hXPt8zYi7KuFkpfAWbXml/tRg6jL9JKCpdP?= =?us-ascii?Q?t03iwiSxiCJJazHI3aos5avEofq+QKR7n3eWhSWEtaNtJRJMLga6G3GzuKMP?= =?us-ascii?Q?YvTcZHqUfoe0JsBNRFQuWmRv6KaEdnSZmShJT84GbXbJdRvb3eWWPTeQD74i?= =?us-ascii?Q?XIu95HS2ADuJmguQRDcaoefcgrcbacxEr5cACtaBJM3mwyTr/crIBBo5b7s7?= =?us-ascii?Q?2ElzUVW8Aspli5kEueepMLagNwi6/W9h2BPHCU6swBFYBUeTm89V5gTZziLy?= =?us-ascii?Q?tbY5rj+BCXik9O1q4grwNcpZ1SKbS9iCX0oVuA8KKyQ3COzC8CZdtxjHZml6?= =?us-ascii?Q?hNp8lyd7sX3ixHGly73BVczWyTyzL9QN4ATjiNaKUvSe712V20SAX6YrXNRH?= =?us-ascii?Q?IljL0ynhRuKwG+7EOJMlB144spF7hsuOIkUoCQBp2ukBUXUYXtnU+Daen3Hi?= =?us-ascii?Q?kzHUQ6l4dwA7cq5zi0AbhewlY+bHkYCdKHVp5/WCmfwqmGLFEhmthZ6KqXpO?= =?us-ascii?Q?YfBxYYHX6GOOJqs5CKhc2Rxaz1kvrW5azp85sWxjWz0a8U/3WIzVWgZoPZn5?= =?us-ascii?Q?5Q+iFwVMmYlkdsr1ZC2iSeJ/Kpbg5kkQNq59JkbT3SfPbaD3sgUQSpG1eyRq?= =?us-ascii?Q?AUZZ4W7X/ax/PRivBqukTqfyjLkt60xY7hXqbzsOm5nSSknidzb0LffY38TS?= =?us-ascii?Q?775BPwELxkPGCW+Ns9kf9sBcJAL08qUWKGRXGGDawqsSS7gEfgHfkj/VsT9u?= =?us-ascii?Q?h7Klrt5Y67g/NMmprLY7Wf+svvoCvi+rG2XB65YaTRV8NTaZ6bdHssFTrvXb?= =?us-ascii?Q?znnbVMx5NT5zs2XRB9tYFcdcpbQ3IDypU+Q4eY1YCE23eASdkM6CRDUTgvR3?= =?us-ascii?Q?JIEF2/79UgzSJbyAOWtSnXHtmNpAcBG/F7W4N8/IaieTpB6i/uGQ5rNH1ZLE?= =?us-ascii?Q?HJGMlJHA7kJE2ghzWsbN5Fc+DMOrQgc33wrbM7+fLOa+mkppnQ0yYt5InBse?= =?us-ascii?Q?B7z459i9jUwjGsUpZX/Ov+E5VezIYXVZ1fGuf2DSUnSTPhoflGjmryUbYf5/?= =?us-ascii?Q?cpl6K0mb+YEDITpgO71VWS6nWhC7pfkcHLaLxpgO+UglrZJbcj91ZB90NhNz?= =?us-ascii?Q?iRLTVhzHe6dAJNCI2C7TBWLfFmKYDM6Xvg/hTNDmbLR5TkQs+jTYE/SocFAe?= =?us-ascii?Q?r4tGFfznoiTbTmlLXpEAnzjExHRFITM+vhFbNN8ThMO9kgd5su1oYdRVvmMw?= =?us-ascii?Q?1VW0PqiFjY6rv42Z1OeVFI6s8yCgCXYKfXTv0/cuTFyGmRBYQ+oghQvv3//n?= =?us-ascii?Q?WCoeKLe5fHTEkQcwp72JXlRanDdLIXRfxnuDYOdNsMOfJwAZs0s7HIAJsZOA?= =?us-ascii?Q?/cLKChDlvnYwB2z3Ec0=3D?= 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)(7416014)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:51.9449 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9d4d8650-655a-4907-0f4b-08de28ecf4f3 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: SA2PEPF000015C9.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8416 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722773166018900 Content-Type: text/plain; charset="utf-8" Function domain_kill() is responsible for killing domain and relinquish domain-held resources. and it is only invoked under XEN_DOMCTL_destroydomain-case. So it shall be wrapped with CONFIG_MGMT_HYPERCALLS. Tracking its calling chain, the following functions could also be wrapped w= ith CONFIG_MGMT_HYPERCALLS: - domain_relinquish_resource - pci_release_device - paging_teardown - p2m_pod_empty_cache - relinquish_memory - pit_deinit - iommu_release_dt_devices - tee_relinquish_resources - ffa_relinquish_resources/optee_relinquish_resources - relinquish_p2m_mapping - p2m_clear_root_pages Otherwise all these functions will become unreachable codes when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule 2.1. The reason why {arch_}domain_teardown() is not wrapped is that it is also u= sed on the failure path of domain_create(). And the exclusion of paging_final_teardown() is blocked by domain_destroy(), which will be triggered when d->refcnt equals zero. Signed-off-by: Penny Zheng Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_destroydomain-case transiently --- v2 -> v3: - add back stub wrapping in ppc/riscv - address "violating Misra rule 2.1" in commit message - remove transient wrapping around XEN_DOMCTL_destroydomain-case --- v3 -> v4: - remove diff in mem_sharing.c - add description for some functions to aid review --- xen/arch/arm/domain.c | 3 +++ xen/arch/arm/include/asm/tee/tee.h | 2 ++ xen/arch/arm/mmu/p2m.c | 4 ++++ xen/arch/arm/mpu/p2m.c | 2 ++ xen/arch/arm/tee/ffa.c | 4 ++++ xen/arch/arm/tee/optee.c | 4 ++++ xen/arch/arm/tee/tee.c | 2 ++ xen/arch/ppc/stubs.c | 2 ++ xen/arch/riscv/stubs.c | 2 ++ xen/arch/x86/domain.c | 2 ++ xen/arch/x86/emul-i8254.c | 2 ++ xen/arch/x86/mm/p2m-pod.c | 2 ++ xen/arch/x86/mm/p2m.c | 2 ++ xen/arch/x86/mm/paging.c | 2 ++ xen/common/domain.c | 2 ++ xen/drivers/passthrough/device_tree.c | 2 ++ xen/drivers/passthrough/pci.c | 2 ++ 17 files changed, 41 insertions(+) diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index ab78444335..e1fa76e1e8 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -988,6 +988,7 @@ int arch_vcpu_reset(struct vcpu *v) return 0; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int relinquish_memory(struct domain *d, struct page_list_head *list) { struct page_info *page, *tmp; @@ -1139,6 +1140,8 @@ int domain_relinquish_resources(struct domain *d) =20 #undef PROGRESS =20 +#endif /* CONFIG_MGMT_HYPERCALLS */ + void arch_dump_domain_info(struct domain *d) { p2m_dump_info(d); diff --git a/xen/arch/arm/include/asm/tee/tee.h b/xen/arch/arm/include/asm/= tee/tee.h index 15d664e28d..f4187c5dc3 100644 --- a/xen/arch/arm/include/asm/tee/tee.h +++ b/xen/arch/arm/include/asm/tee/tee.h @@ -40,12 +40,14 @@ struct tee_mediator_ops { int (*domain_teardown)(struct domain *d); void (*free_domain_ctx)(struct domain *d); =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* * Called during domain destruction to relinquish resources used * by mediator itself. This function can return -ERESTART to indicate * that it does not finished work and should be called again. */ int (*relinquish_resources)(struct domain *d); +#endif =20 /* Handle SMCCC call for current domain. */ bool (*handle_call)(struct cpu_user_regs *regs); diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c index 51abf3504f..30d6071e91 100644 --- a/xen/arch/arm/mmu/p2m.c +++ b/xen/arch/arm/mmu/p2m.c @@ -1243,6 +1243,7 @@ static void p2m_invalidate_table(struct p2m_domain *p= 2m, mfn_t mfn) p2m->need_flush =3D true; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* * The domain will not be scheduled anymore, so in theory we should * not need to flush the TLBs. Do it for safety purpose. @@ -1262,6 +1263,7 @@ void p2m_clear_root_pages(struct p2m_domain *p2m) =20 p2m_write_unlock(p2m); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Invalidate all entries in the root page-tables. This is @@ -1556,6 +1558,7 @@ int p2m_init(struct domain *d) return 0; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* * The function will go through the p2m and remove page reference when it * is required. The mapping will be removed from the p2m. @@ -1626,6 +1629,7 @@ int relinquish_p2m_mapping(struct domain *d) =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Clean & invalidate RAM associated to the guest vCPU. diff --git a/xen/arch/arm/mpu/p2m.c b/xen/arch/arm/mpu/p2m.c index f7fb58ab6a..c44297a9e3 100644 --- a/xen/arch/arm/mpu/p2m.c +++ b/xen/arch/arm/mpu/p2m.c @@ -57,10 +57,12 @@ bool p2m_resolve_translation_fault(struct domain *d, gf= n_t gfn) =20 void p2m_flush_vm(struct vcpu *v) {} =20 +#ifdef CONFIG_MGMT_HYPERCALLS int relinquish_p2m_mapping(struct domain *d) { return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void p2m_domain_creation_finished(struct domain *d) {} =20 diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c index 1d0239cf69..f9ba9b60bf 100644 --- a/xen/arch/arm/tee/ffa.c +++ b/xen/arch/arm/tee/ffa.c @@ -469,10 +469,12 @@ static void ffa_free_domain_ctx(struct domain *d) XFREE(d->arch.tee); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int ffa_relinquish_resources(struct domain *d) { return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void ffa_init_secondary(void) { @@ -623,7 +625,9 @@ static const struct tee_mediator_ops ffa_ops =3D .domain_init =3D ffa_domain_init, .domain_teardown =3D ffa_domain_teardown, .free_domain_ctx =3D ffa_free_domain_ctx, +#ifdef CONFIG_MGMT_HYPERCALLS .relinquish_resources =3D ffa_relinquish_resources, +#endif .handle_call =3D ffa_handle_call, }; =20 diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c index 5151bd90ed..1ed0fd231d 100644 --- a/xen/arch/arm/tee/optee.c +++ b/xen/arch/arm/tee/optee.c @@ -632,6 +632,7 @@ static void free_optee_shm_buf_pg_list(struct optee_dom= ain *ctx, cookie); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int optee_relinquish_resources(struct domain *d) { struct arm_smccc_res resp; @@ -693,6 +694,7 @@ static int optee_relinquish_resources(struct domain *d) =20 return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 #define PAGELIST_ENTRIES_PER_PAGE \ ((OPTEE_MSG_NONCONTIG_PAGE_SIZE / sizeof(u64)) - 1) @@ -1727,7 +1729,9 @@ static const struct tee_mediator_ops optee_ops =3D .probe =3D optee_probe, .domain_init =3D optee_domain_init, .domain_teardown =3D optee_domain_teardown, +#ifdef CONFIG_MGMT_HYPERCALLS .relinquish_resources =3D optee_relinquish_resources, +#endif .handle_call =3D optee_handle_call, }; =20 diff --git a/xen/arch/arm/tee/tee.c b/xen/arch/arm/tee/tee.c index 8501443c8e..a8e160700f 100644 --- a/xen/arch/arm/tee/tee.c +++ b/xen/arch/arm/tee/tee.c @@ -65,6 +65,7 @@ int tee_domain_teardown(struct domain *d) return cur_mediator->ops->domain_teardown(d); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int tee_relinquish_resources(struct domain *d) { if ( !cur_mediator ) @@ -72,6 +73,7 @@ int tee_relinquish_resources(struct domain *d) =20 return cur_mediator->ops->relinquish_resources(d); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 uint16_t tee_get_type(void) { diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c index 75ebcae5e2..e70e1a12cb 100644 --- a/xen/arch/ppc/stubs.c +++ b/xen/arch/ppc/stubs.c @@ -234,10 +234,12 @@ int arch_vcpu_reset(struct vcpu *v) BUG_ON("unimplemented"); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int domain_relinquish_resources(struct domain *d) { BUG_ON("unimplemented"); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void arch_dump_domain_info(struct domain *d) { diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c index 37b4346d3f..42bac26aa7 100644 --- a/xen/arch/riscv/stubs.c +++ b/xen/arch/riscv/stubs.c @@ -208,10 +208,12 @@ int arch_vcpu_reset(struct vcpu *v) BUG_ON("unimplemented"); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int domain_relinquish_resources(struct domain *d) { BUG_ON("unimplemented"); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void arch_dump_domain_info(struct domain *d) { diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 3a21e035f4..fff5cf7238 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -2305,6 +2305,7 @@ void sync_vcpu_execstate(struct vcpu *v) read_atomic(&v->dirty_cpu) !=3D dirty_cpu); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int relinquish_memory( struct domain *d, struct page_list_head *list, unsigned long type) { @@ -2629,6 +2630,7 @@ int domain_relinquish_resources(struct domain *d) =20 return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void arch_dump_domain_info(struct domain *d) { diff --git a/xen/arch/x86/emul-i8254.c b/xen/arch/x86/emul-i8254.c index 144aa168a3..f106ab794c 100644 --- a/xen/arch/x86/emul-i8254.c +++ b/xen/arch/x86/emul-i8254.c @@ -651,6 +651,7 @@ void pit_init(struct domain *d) pit_reset(d); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS void pit_deinit(struct domain *d) { PITState *pit =3D domain_vpit(d); @@ -664,6 +665,7 @@ void pit_deinit(struct domain *d) destroy_periodic_time(&pit->pt0); } } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Local variables: diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c index 05633fe2ac..4e915808f4 100644 --- a/xen/arch/x86/mm/p2m-pod.c +++ b/xen/arch/x86/mm/p2m-pod.c @@ -366,6 +366,7 @@ void p2m_pod_get_mem_target(const struct domain *d, xen= _pod_target_t *target) pod_unlock(p2m); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int p2m_pod_empty_cache(struct domain *d) { struct p2m_domain *p2m =3D p2m_get_hostp2m(d); @@ -409,6 +410,7 @@ int p2m_pod_empty_cache(struct domain *d) unlock_page_alloc(p2m); return p2m->pod.count ? -ERESTART : 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int p2m_pod_offline_or_broken_hit(struct page_info *p) diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index 2763f9a6be..a5db8e6d4a 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -2097,6 +2097,7 @@ int xenmem_add_to_physmap_one( return rc; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* * Remove foreign mappings from the p2m, as that drops the page reference = taken * when mapped. @@ -2160,6 +2161,7 @@ int relinquish_p2m_mapping(struct domain *d) =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 void p2m_log_dirty_range(struct domain *d, unsigned long begin_pfn, unsigned long nr, uint8_t *dirty_bitmap) diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c index 65455a6867..116389d4e9 100644 --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -768,6 +768,7 @@ void paging_vcpu_teardown(struct vcpu *v) shadow_vcpu_teardown(v); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* Call when destroying a domain */ int paging_teardown(struct domain *d) { @@ -794,6 +795,7 @@ int paging_teardown(struct domain *d) =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* Call once all of the references to the domain have gone away */ void paging_final_teardown(struct domain *d) diff --git a/xen/common/domain.c b/xen/common/domain.c index c6b0f931dc..e8a5c30557 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1211,6 +1211,7 @@ int rcu_lock_live_remote_domain_by_id(domid_t dom, st= ruct domain **d) return 0; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int domain_kill(struct domain *d) { int rc =3D 0; @@ -1261,6 +1262,7 @@ int domain_kill(struct domain *d) =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 =20 void __domain_crash(struct domain *d) diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthroug= h/device_tree.c index f5850a2607..015ffa15d4 100644 --- a/xen/drivers/passthrough/device_tree.c +++ b/xen/drivers/passthrough/device_tree.c @@ -108,6 +108,7 @@ int iommu_dt_domain_init(struct domain *d) return 0; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int iommu_release_dt_devices(struct domain *d) { const struct domain_iommu *hd =3D dom_iommu(d); @@ -136,6 +137,7 @@ int iommu_release_dt_devices(struct domain *d) =20 return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int iommu_dt_xlate(struct device *dev, const struct dt_phandle_args *iommu_spec, diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index 52c22fa50c..422e45f5a6 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -946,6 +946,7 @@ static int deassign_device(struct domain *d, uint16_t s= eg, uint8_t bus, return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int pci_release_devices(struct domain *d) { int combined_ret; @@ -1004,6 +1005,7 @@ int pci_release_devices(struct domain *d) =20 return combined_ret; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 #define PCI_CLASS_BRIDGE_HOST 0x0600 #define PCI_CLASS_BRIDGE_PCI 0x0604 --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722928; cv=pass; d=zohomail.com; s=zohoarc; b=D57qaZUjbZq876lUsmEhQxhQGoC97G1TCCSDnSusevURhrAkoSAeLKHRpKPl1sVlNEg7oCdGsfwr4pO6GHs195qN/XtgZ52FTusQg1QGtsAjeySXQ4D9kVMRABgO3Ir2EvNRKBW1Gkiw0Bbr5HDOYavvletcahC+TGbCfan8bSI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722928; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ujDe1zt9QHrXlG7ZNmi2RWPU8HuKyDN6Q+EP1SD7HV8=; b=OK8Y1TP2a7AE1slStlvSMJoFUmY+F82UpGJI/9l8wwVfRAV5zxC5JhoaZAgOq0jaffH1wF/xW7KPJgkt5aXDV+CLi4sao+/9NGRfE2GWRLw3tIfoFKM66J0fEPBe3ahQKPOcGY8Y1liDwH+DpSL3qYmWj7qXuJFbtvCvV3HqVOk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722928264710.1045837757757; Fri, 21 Nov 2025 03:02:08 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168734.1494785 (Exim 4.92) (envelope-from ) id 1vMOtk-0002CB-MJ; Fri, 21 Nov 2025 11:01:52 +0000 Received: by outflank-mailman (output) from mailman id 1168734.1494785; Fri, 21 Nov 2025 11:01:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtk-00029z-B0; Fri, 21 Nov 2025 11:01:52 +0000 Received: by outflank-mailman (input) for mailman id 1168734; Fri, 21 Nov 2025 11:01:50 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOqx-0007TB-Cn for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:58:59 +0000 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazlp170110003.outbound.protection.outlook.com [2a01:111:f403:c10d::3]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 149fe4eb-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:58:58 +0100 (CET) Received: from PH8PR22CA0013.namprd22.prod.outlook.com (2603:10b6:510:2d1::11) by SJ0PR12MB6990.namprd12.prod.outlook.com (2603:10b6:a03:449::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:58:54 +0000 Received: from SA2PEPF000015C9.namprd03.prod.outlook.com (2603:10b6:510:2d1:cafe::6b) by PH8PR22CA0013.outlook.office365.com (2603:10b6:510:2d1::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:58:53 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.9 via Frontend Transport; Fri, 21 Nov 2025 10:58:53 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:51 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 149fe4eb-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ke9yDmteeYhVKq/N6zQDOQkMwa/lKkcNa3u8t2t8LYuNdoqSDMiX2DcU6vsMUkkwFY8H4eu28kQjb9Xxd+M9w1l5vwS/EZXXDFy7RxZ/OvUqNToRdTSWWu4Q/rfurput33a5y8Lex84ORz6OaxbdhH6GP4Lsi9TugEKR2GFBsVd1feDsu27y6jx/h5m8nQ+O+2XHp5yhh5Dtnf8TG2Jm+sxtlh/5XXTFpuT3fTjaqCJQvZ6PtDUObe1FqcsSzcf7L4UAb3kq6KRpkffEZNSCoZiLJxYayM7gkh0FvE4jMNdcuVFIdDkIjlojgkET3nyWGX4xHa83ECaIImLsnOR4kQ== 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=ujDe1zt9QHrXlG7ZNmi2RWPU8HuKyDN6Q+EP1SD7HV8=; b=A90AZw0ITXUe5iH1c/cvR9CsOtGrqzefMgDb8VFVsBN0nHswsW1CNGDS5ARkl0ATbNxSdaJuQggeH4n6x+B2Q0J+lP9VHEs3Jclq4LAV1lrUvFOZjnpUwtfegx2+2Zy/vZIG7IgXhBsGuOAk/EeLdG6fCSTxxwQiVutWr7JU78KqFw4mXZqMiw7TUcGaxxO5SKXK0q3jy/js0DnZUBeWAU2ARoKvurS7zmykvCVuqbjH/0ZzasxjE8pD0CCrbwn1zNr7T5HSJDc/EXEwyvuyfYYfFKjd2A0pWy1g3Nz8cXGyFEPqm4PJMnIF/uP+7dbW0sRvkvFJUp2qurQTo80GMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=ujDe1zt9QHrXlG7ZNmi2RWPU8HuKyDN6Q+EP1SD7HV8=; b=e6gynIt5oRGe7GI4kszttLt9EKM/QkK2m4XDH0TB5o9AMVCIzD78gj8+I9jq5fcv6WYMa0yxsBrscAxxKtu3JAgdxBKyoEMbPi/POp6etdC2YZZu/01a7zhu8TTf1J8JRQypfO2KhArmOIDVjqohj3UWgw407OrhMeKrEtINntk= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Dario Faggioli , Juergen Gross , George Dunlap Subject: [PATCH v4 09/24] xen/domctl: wrap vcpu_affinity_domctl() with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:46 +0800 Message-ID: <20251121105801.1251262-10-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|SJ0PR12MB6990:EE_ X-MS-Office365-Filtering-Correlation-Id: 2f3fbe06-c867-409a-410a-08de28ecf611 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?oOxYw/VkdIQeDfwrW3v/OP4NAbJyQ9bfO1Pj23dG/ul6HbbfH7MDzaMAKwM5?= =?us-ascii?Q?GwwyM4R7dY+t/VkFtBKAtKEbAofbaduoxscTnTpmmUT0uCL9LYi3n/cu7ZfZ?= =?us-ascii?Q?2FoxBLEW6S+NHsbFiJg2ePfSwABK1banYrFJs2Cn4zCYtLCm4dOh4oZRpXNn?= =?us-ascii?Q?xGqMOjSrD3tU2oV2Awn8reOh+/AfAn1MDbs6KoqHER/CRg5nl7zoHRgGOHmr?= =?us-ascii?Q?g300TgNcPpAZzr27MzgcecUoLcbXDkCepBxKyBNHMuOBlUnQWt0JKpNOnbar?= =?us-ascii?Q?83FMBMdo6K7eskUT02gaK/2wQvaHhxepVdduoudrezryVM7RDciIi6i2DAjK?= =?us-ascii?Q?RKMVp4HOwFZgkxr0qJGZOXJS9DvMCbBCLMFJ4sbAignuQuM0NK2PM7mJf3lY?= =?us-ascii?Q?y7S5JH/RpQJXF8/V4bmjZqwPxIg6xoDUtINS8MljIWNW8VBfb8zviSgZHpJk?= =?us-ascii?Q?mxf1yuJnUIbO0Nx1BJiquxKUh/w3InbQuUSchog8aTxQqASImf56Bz2TqahE?= =?us-ascii?Q?mAU7mJuAzdjMOskLXSVJWQAq3BZpFQHl2kpbO7H8DTSP+j/oO/3i/WH3X6A7?= =?us-ascii?Q?z571p7UiABhRhuSJWqXfae+fJfVXFq0ZHIeUNl6nYYqOgsfdO43WC6HJwnp1?= =?us-ascii?Q?MmQi6nZ8imO/Edl2NhFE/gQDxX/QH9HXKjiKtmrGcjnKwice31zB2tZw3xLj?= =?us-ascii?Q?NCFv6l/VDBLD2b7J4YM4iTajcnRngX5CSyb/Z41pcYWqjUxBo7n/EpARmljd?= =?us-ascii?Q?4mlDZoTD7nf0LFu0yyGLhDwqE+DzQ6bWLseT4FBaOy1T4gno39TdTLIxkGn7?= =?us-ascii?Q?2DFsXWxBxWhzmME5KknJUOvbBNcR7BMTjauVX5Oe8d+P5u3wcADgg4UDg5CQ?= =?us-ascii?Q?lmo50JAgOQxJmra0lmibFxQrYbdoWtbJAy88MJ5/YPsM+mTnkTxrYVL1ElvH?= =?us-ascii?Q?zdroxmwpftN+OBJKDzcFzJ51i83cBgA/bKeD/SiPuDnttzIhaOUV5K/I6DrU?= =?us-ascii?Q?j422eGtGYtaEExbJsxzE6mViwrPNMGeBIYP1dp3X5rcdgtcCli+1Uce6DUfY?= =?us-ascii?Q?S49VGtGEAekFWGEAl820izFyuuv19WFfrH51vO/s/jv6u8uRX8AVi6vY4COx?= =?us-ascii?Q?xNxJhHTmKwgcaveQfuOB+9kdVGZYDTV2p3uJ8PjhdJp3o+gJOs9ex+hlQ3jj?= =?us-ascii?Q?VjRdQL2c9oIVPCfqDc8jdZmhAChtrw53wbcYvFhgCWgp7UxaZMFibd2JeZko?= =?us-ascii?Q?W2WiIe6wFat5M6UubrddrQMYzWYzOkO4Ag/ZMNKCqX1395vwqf1y3WLPP1R2?= =?us-ascii?Q?jaOmQyutEuYkO3h9UcG9Tj9t0pmKtcxHvnghzmpKjWRu3NrV7ZK8KjYda3cY?= =?us-ascii?Q?tgZb/yNMbfB8dlgWxCz8LsBucOATLdrCPHSNSbCrXcJ0Uq7v7IRn5ptpFJB0?= =?us-ascii?Q?KxuFslSWr72z77h3fi8MvCD9k/NsBU6gLfRScmSEB2IdjFZRz/ivjRCpBWdd?= =?us-ascii?Q?X8oDXTdKfx5c7Wrr7QajHtYV23bYdaUGEiPEde+iUaV1Qmc2nJ3lBMf2UGkn?= =?us-ascii?Q?dnm2hqAli1T1Wcj6YSs=3D?= 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)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:53.8224 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f3fbe06-c867-409a-410a-08de28ecf611 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: SA2PEPF000015C9.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6990 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722929738018901 Content-Type: text/plain; charset="utf-8" Function vcpu_affinity_domctl() is responsible for XEN_DOMCTL_{getvcpuaffinity,setvcpuaffinity} domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable codes when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule 2.1. Tracking its calling chain, vcpuaffinity_params_invalid() also needs wrapping too Signed-off-by: Penny Zheng --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_{getvcpuaffinity,setvcpuaffinity}-case transiently --- v2 -> v3: - adapt to changes of "remove vcpu_set_soft_affinity()" - address "violating Misra rule 2.1" in commit message - remove transient wrapping around XEN_DOMCTL_{getvcpuaffinity,setvcpuaffin= ity}-case --- v3 -> v4 - wrap vcpuaffinity_params_invalid() --- xen/common/sched/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c index 88150432c3..83e34e7c05 100644 --- a/xen/common/sched/core.c +++ b/xen/common/sched/core.c @@ -1678,6 +1678,7 @@ int vcpu_temporary_affinity(struct vcpu *v, unsigned = int cpu, uint8_t reason) return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int vcpuaffinity_params_invalid(const struct xen_domctl_vcpuaffinity *vcpu= aff) { @@ -1798,6 +1799,7 @@ int vcpu_affinity_domctl(struct domain *d, uint32_t c= md, =20 return ret; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 bool alloc_affinity_masks(struct affinity_masks *affinity) { --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722769; cv=pass; d=zohomail.com; s=zohoarc; b=i1xtbe7z7SsZ6TbJSvkN5Mu7Vo9nwGvF2KC+VNuRff9u7T5l4QcrOCGpccHdQyL+bgn0+Fpaq5f6xfhneVsetp9jFPOAoyHal68JmGPnygvSF4T1Foksl1JeODhzn2ASrb3sRRI3ZEHdwOMpk6Gy42/8iaRm24PYkBx4tjoo1tQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722769; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1SGeGKilNkPW5Ffxzg5kKaE0E0FbCgqcHjey+FbgZYY=; b=QCYPooaeSB+qDGgLUcz8RezfOKKr+NndZZpA76umkC8KQ+RuuLCJREwQmL15WCPrWxtCKJEUBhiDK5EI/EEjQqHXngdOLVk8XUlUW1SxkKzRr7AZjaBWSuzS0UvO79Z+m9+GwL/UnH4oidfnqpqGEoZZRxsosacCt7/d6fli0HI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722769893864.3612495936333; Fri, 21 Nov 2025 02:59:29 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168606.1494627 (Exim 4.92) (envelope-from ) id 1vMOr7-0002Kf-Bj; Fri, 21 Nov 2025 10:59:09 +0000 Received: by outflank-mailman (output) from mailman id 1168606.1494627; Fri, 21 Nov 2025 10:59:09 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOr7-0002Jb-6U; Fri, 21 Nov 2025 10:59:09 +0000 Received: by outflank-mailman (input) for mailman id 1168606; Fri, 21 Nov 2025 10:59:07 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOr5-0008Dv-Cg for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:07 +0000 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazlp170100001.outbound.protection.outlook.com [2a01:111:f403:c105::1]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 187aa613-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:05 +0100 (CET) Received: from CH2PR14CA0014.namprd14.prod.outlook.com (2603:10b6:610:60::24) by MW4PR12MB7142.namprd12.prod.outlook.com (2603:10b6:303:220::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:58:58 +0000 Received: from CH3PEPF00000014.namprd21.prod.outlook.com (2603:10b6:610:60:cafe::da) by CH2PR14CA0014.outlook.office365.com (2603:10b6:610:60::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:58:53 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:58:57 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:53 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 187aa613-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ft9+9JuvplachEXk7C7SqGSu9flEKZXtRKKYz0MNR8FnssZkrw02oobYXT1g9JZ63F5OPOFjgzhWA8XfGLRV6aGE4ppjRwvez/eyDshn+B6i+CfetoCj/vLwonbpeXUBDpitSVMdC2gBKYjyg5qOLTDKBqCO/7yP9uLMTK7uldv+UCdn9tucVrH62YljdhyIMfgjTJX7Oz/av3g8JzHMzzGiN5yka6xgtsjcggU7FBCpbnNWmOmrOEnsrTJn8QrrCYmHayK2uNr3aWxutb8VPWyIGXRT3WfByLxDEz+96znrEDijbI9ziuubzVXVRNJMZLBcM9wIceiSGz6YhrVAag== 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=1SGeGKilNkPW5Ffxzg5kKaE0E0FbCgqcHjey+FbgZYY=; b=kA55KhXFhZFPKI3qaZAo0/feqyoB4Go/ERj4A1CqzJdSRuLTwXKxn+T69SJf3phXQl6lLUhUw/2TGZ4aMS5o3LVI2I+Aqg7/FNyKSOeAqkZIoF43zqFAl4CNBJ1gNq35esfDD6WoipJDHz3DboiguCzaAXMFHG10DEc3OVtxtGsUw+AEl3fdmmXDnmPW4SLCzSeJjtcuEyzlrS2BJqVYjC4Ra83uwOxTza3qZ+85tqsh5fWBNA+sTHadouxNQCCLqtgy7/x+7qjktvvNkh5iBTt4q6rUTD9G+e9o0eSJOdqrbTKsb/dRkXacq0ujB4I4/IzdtYaV+ymcF9E2TDlm9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=1SGeGKilNkPW5Ffxzg5kKaE0E0FbCgqcHjey+FbgZYY=; b=mSCgesVEyMBg/bkHQy6J+Xm2NDl4VBM0qGmOakGA4F6ZPWm7iCPwKoHQEk6ryrPTunH49JVkVFQMuI2z0Jdw+8cbt41/gAC8l9XRvuc15tL3zYe/Bx2lBZLYRhlsnANAfIP13AKhE5MEG3wjSrMSYdjyhvAtNCqtOBCSy0OKc6Y= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: , CC: , , Penny Zheng , Nathan Studer , "Stewart Hildebrand" , Dario Faggioli , "Juergen Gross" , George Dunlap , Meng Xu , "Daniel P. Smith" , Stefano Stabellini Subject: [PATCH v4 10/24] xen/domctl: wrap sched_adjust() with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:47 +0800 Message-ID: <20251121105801.1251262-11-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000014:EE_|MW4PR12MB7142:EE_ X-MS-Office365-Filtering-Correlation-Id: bb10e3ad-1f2a-4dbd-cb37-08de28ecf818 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?pjh4VyIiI/vYMBC9HL13AGiMOWyclR1JlNBG6lzn4snbN/c6rDBaZZIdTMsn?= =?us-ascii?Q?D9tTQxCCJ6fpSRsthf9iDKrI5XAHCEvtsHxTWLgBEKp9utFW5uf2tIUySc8p?= =?us-ascii?Q?4G12oDI4KCwDs7JpHOj8yM1ruk9pl/1x5IHawOMECs23Y+cVoCdYh6Z8Iakd?= =?us-ascii?Q?HMc5z0vbmV+Y/Cu794ChoxhK1JSq0xAFcSvF86fnkxEbmqMnluLUoRUK4wmZ?= =?us-ascii?Q?pmfm4ye8q7q7v6KbI9MCiQ75KTJJ4JrAKA2yHp5lVZdS738SzbHZwvCVPu8A?= =?us-ascii?Q?ZEM3+8FdEdDDejNXIHe03wG+ZpUdTEqjtMJ+xyZyEFSP4ePsehvVnK1NGugv?= =?us-ascii?Q?uR8PD1ODoEOmFMYP2MmJReM0nraxnUNNKljhuLMTew2F/3vfN9cxoEbHkNFv?= =?us-ascii?Q?nOWmvG7SVqISiKthvTYpxTd+qZG3MtfQWu3K2Tyw3Wvk+285FbT5RQLsYS5F?= =?us-ascii?Q?m8PnLVLG1YEilGYFF5rOE5sK5ApXenOVe3uRDTz/CQ7KlO9einBlEf3kEL12?= =?us-ascii?Q?W29ahcRaFmD2m9WBTL5Nd95KVwJCJiGBRpdVubJI0Q8OL3/lwWNBPoUn6XMc?= =?us-ascii?Q?ISBHN68yuqnzNwAwPtlpWzQIkwoCPpwbxFr0ucg0899B4b7gz7K9SwJQRahk?= =?us-ascii?Q?CzM6H/mbsg54LQ1p7HB3s5/AZTn6Ko8kGDlSLGYyl5+C6D0eK1s2wZmJa6Vr?= =?us-ascii?Q?t6FbhkgLflpG5YjG8Ycbn4zA1HbE6F72UclWtbCyFbWxcA3S9e6eXSczy/RI?= =?us-ascii?Q?FXU84le7rIVGzwPry+hwE+9gKvovnb5C/CmUv9PrF4Jyh1lGfx0R00vZE29t?= =?us-ascii?Q?WOPJx2lt8h5+cWbP+R1tydqUV4VstSvvaC+HsPfkEm8Maza+xIUBi2Of17vq?= =?us-ascii?Q?/awwVr8wQkcfUOWmzS3fYyxqDgrIy1L28YSpcAs9i15UdqpytVsnG9MfJW5w?= =?us-ascii?Q?tMoAxeHagWjIsTpGBW0cVBp9ou3B9hHLSyTfhGapCRc4WOKyZKya9hyLiG4D?= =?us-ascii?Q?zrmERBJNXnjXTdB3YQNKw0cSZZg9VVPC9QHrFDYPMBafbxgW7IM68aH2+cep?= =?us-ascii?Q?h5DREVLo1I3xMoNMXrMhbWC6qNTwHfIr7XCfjVIEQqv5UHQ3GFJeKBY9dGoJ?= =?us-ascii?Q?hNHE/5cNLzBd3lxtPGGCoVh9PH8wCGFp3zB8bom4Khxv4ciZH22Qr4hr1Rle?= =?us-ascii?Q?ZXxK+TA8QhF8Dnsoyxg8zJn8yII20NZX5+rF4yA1uX6RJHxlvCzEgKFLa6u4?= =?us-ascii?Q?ru3RGfv8mdO3EmjDyj8b8AnX+P9mJLUyIhp1aOir/m8o0p6ykli5SOZBg3wM?= =?us-ascii?Q?8ha+ynOBx83oFzyHP/ZBYdjX2ti0s45sW4hFe1uvYlnrxBQwOqd2c2yXQv/3?= =?us-ascii?Q?GEVPwNgz9eGHhIXeTdOORy2HlhFJO3JmekU1/Srrut3SQApVmAOFOB+MK9NX?= =?us-ascii?Q?uo+OFaXQS5j3+pva0SU2FvN69JGF++5X6UkqEcFHzzEyqyYOz/GAIrl6wn1J?= =?us-ascii?Q?iVGEsJ7tmnHzmTdoCwDxpHBzNkFTB+5CzMyZsHeeXKklKbkEjoyjZACYO0Au?= =?us-ascii?Q?pyOZ5CQvrVoPFOI+knU=3D?= 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)(7416014)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:57.2429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bb10e3ad-1f2a-4dbd-cb37-08de28ecf818 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: CH3PEPF00000014.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7142 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722771168018900 Content-Type: text/plain; charset="utf-8" Function sched_adjust() is responsible for XEN_DOMCTL_scheduler_op domctl-o= p, so it could be wrapped with CONFIG_MGMT_HYPERCALLS. Tracing its calling chain, the following functions shall be wrapped with CONFIG_MGMT_HYPERCALLS too: - sched_adjust_dom() - scheduler-specific .adjust() callback - xsm_sysctl_scheduler_op() Otherwise all these functions will become unreachable when MGMT_HYPERCALLS= =3Dn, and hence violating Misra rule 2.1. Signed-off-by: Penny Zheng Reviewed-by: Stefano Stabellini Reviewed-by: Juergen Gross --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_scheduler_op-case transiently --- v2 -> v3 - add missing wrapping in xsm/dummy.h - move and get away with just a single #ifdef - address "violating Misra rule 2.1" in commit message - remove transient wrapping around XEN_DOMCTL_scheduler_op-case --- xen/common/sched/arinc653.c | 1 - xen/common/sched/core.c | 2 -- xen/common/sched/credit.c | 4 +++- xen/common/sched/credit2.c | 4 +++- xen/common/sched/private.h | 8 ++++---- xen/common/sched/rt.c | 4 ++++ xen/include/xsm/dummy.h | 2 ++ xen/include/xsm/xsm.h | 4 ++-- xen/xsm/dummy.c | 2 +- xen/xsm/flask/hooks.c | 4 ++-- 10 files changed, 21 insertions(+), 14 deletions(-) diff --git a/xen/common/sched/arinc653.c b/xen/common/sched/arinc653.c index 7d6c40d800..5a6f8c8642 100644 --- a/xen/common/sched/arinc653.c +++ b/xen/common/sched/arinc653.c @@ -735,7 +735,6 @@ static const struct scheduler sched_arinc653_def =3D { =20 .switch_sched =3D a653_switch_sched, =20 - .adjust =3D NULL, #ifdef CONFIG_MGMT_HYPERCALLS .adjust_global =3D a653sched_adjust_global, #endif diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c index 83e34e7c05..0943cb1e97 100644 --- a/xen/common/sched/core.c +++ b/xen/common/sched/core.c @@ -2072,7 +2072,6 @@ int scheduler_id(void) { return operations.sched_id; } -#endif =20 /* Adjust scheduling parameter for a given domain. */ long sched_adjust(struct domain *d, struct xen_domctl_scheduler_op *op) @@ -2109,7 +2108,6 @@ long sched_adjust(struct domain *d, struct xen_domctl= _scheduler_op *op) return ret; } =20 -#ifdef CONFIG_MGMT_HYPERCALLS long sched_adjust_global(struct xen_sysctl_scheduler_op *op) { struct cpupool *pool; diff --git a/xen/common/sched/credit.c b/xen/common/sched/credit.c index 0cbec2a9c0..ed3241bec8 100644 --- a/xen/common/sched/credit.c +++ b/xen/common/sched/credit.c @@ -1183,6 +1183,7 @@ csched_unit_yield(const struct scheduler *ops, struct= sched_unit *unit) set_bit(CSCHED_FLAG_UNIT_YIELD, &svc->flags); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check csched_dom_cntl( const struct scheduler *ops, @@ -1227,6 +1228,7 @@ csched_dom_cntl( =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void cf_check csched_aff_cntl(const struct scheduler *ops, struct sched_unit *unit, @@ -2288,9 +2290,9 @@ static const struct scheduler sched_credit_def =3D { .wake =3D csched_unit_wake, .yield =3D csched_unit_yield, =20 - .adjust =3D csched_dom_cntl, .adjust_affinity=3D csched_aff_cntl, #ifdef CONFIG_MGMT_HYPERCALLS + .adjust =3D csched_dom_cntl, .adjust_global =3D csched_sys_cntl, #endif =20 diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c index 307e63ebd8..b73dd3c548 100644 --- a/xen/common/sched/credit2.c +++ b/xen/common/sched/credit2.c @@ -2909,6 +2909,7 @@ static void cf_check csched2_unit_migrate( sched_set_res(unit, get_sched_res(new_cpu)); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check csched2_dom_cntl( const struct scheduler *ops, @@ -3114,6 +3115,7 @@ csched2_dom_cntl( =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void cf_check csched2_aff_cntl(const struct scheduler *ops, struct sched_unit *unit, @@ -4246,9 +4248,9 @@ static const struct scheduler sched_credit2_def =3D { .wake =3D csched2_unit_wake, .yield =3D csched2_unit_yield, =20 - .adjust =3D csched2_dom_cntl, .adjust_affinity=3D csched2_aff_cntl, #ifdef CONFIG_MGMT_HYPERCALLS + .adjust =3D csched2_dom_cntl, .adjust_global =3D csched2_sys_cntl, #endif =20 diff --git a/xen/common/sched/private.h b/xen/common/sched/private.h index b7ff67200b..3b35002c5d 100644 --- a/xen/common/sched/private.h +++ b/xen/common/sched/private.h @@ -349,14 +349,14 @@ struct scheduler { void (*migrate) (const struct scheduler *ops, struct sched_unit *unit, unsigned int new_cpu); - int (*adjust) (const struct scheduler *ops, - struct domain *d, - struct xen_domctl_scheduler_op *op); void (*adjust_affinity)(const struct scheduler *ops, struct sched_unit *unit, const struct cpumask *hard, const struct cpumask *soft); #ifdef CONFIG_MGMT_HYPERCALLS + int (*adjust) (const struct scheduler *ops, + struct domain *d, + struct xen_domctl_scheduler_op *op); int (*adjust_global) (const struct scheduler *ops, struct xen_sysctl_scheduler_op *sc); #endif @@ -506,13 +506,13 @@ static inline void sched_adjust_affinity(const struct= scheduler *s, s->adjust_affinity(s, unit, hard, soft); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int sched_adjust_dom(const struct scheduler *s, struct domai= n *d, struct xen_domctl_scheduler_op *op) { return s->adjust ? s->adjust(s, d, op) : 0; } =20 -#ifdef CONFIG_MGMT_HYPERCALLS static inline int sched_adjust_cpupool(const struct scheduler *s, struct xen_sysctl_scheduler_op *op) { diff --git a/xen/common/sched/rt.c b/xen/common/sched/rt.c index 7b1f64a779..a42040b259 100644 --- a/xen/common/sched/rt.c +++ b/xen/common/sched/rt.c @@ -1362,6 +1362,7 @@ out: unit_schedule_unlock_irq(lock, unit); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* * set/get each unit info of each domain */ @@ -1471,6 +1472,7 @@ rt_dom_cntl( =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * The replenishment timer handler picks units @@ -1572,7 +1574,9 @@ static const struct scheduler sched_rtds_def =3D { .insert_unit =3D rt_unit_insert, .remove_unit =3D rt_unit_remove, =20 +#ifdef CONFIG_MGMT_HYPERCALLS .adjust =3D rt_dom_cntl, +#endif =20 .pick_resource =3D rt_res_pick, .do_schedule =3D rt_schedule, diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index 9b1d31b6ec..5810a18087 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -141,12 +141,14 @@ static XSM_INLINE int cf_check xsm_getdomaininfo( return xsm_default_action(action, current->domain, d); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_domctl_scheduler_op( XSM_DEFAULT_ARG struct domain *d, int cmd) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, d); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 #ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_sysctl_scheduler_op(XSM_DEFAULT_ARG int= cmd) diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 4c6e0dc0f9..9dd485646a 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -56,8 +56,8 @@ struct xsm_ops { struct xen_domctl_getdomaininfo *info); int (*domain_create)(struct domain *d, uint32_t ssidref); int (*getdomaininfo)(struct domain *d); - int (*domctl_scheduler_op)(struct domain *d, int op); #ifdef CONFIG_MGMT_HYPERCALLS + int (*domctl_scheduler_op)(struct domain *d, int op); int (*sysctl_scheduler_op)(int op); #endif int (*set_target)(struct domain *d, struct domain *e); @@ -240,13 +240,13 @@ static inline int xsm_get_domain_state(xsm_default_t = def, struct domain *d) return alternative_call(xsm_ops.get_domain_state, d); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_domctl_scheduler_op( xsm_default_t def, struct domain *d, int cmd) { return alternative_call(xsm_ops.domctl_scheduler_op, d, cmd); } =20 -#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_sysctl_scheduler_op(xsm_default_t def, int cmd) { return alternative_call(xsm_ops.sysctl_scheduler_op, cmd); diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index dbe363f0de..724b2a2653 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -18,8 +18,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_= ops =3D { .security_domaininfo =3D xsm_security_domaininfo, .domain_create =3D xsm_domain_create, .getdomaininfo =3D xsm_getdomaininfo, - .domctl_scheduler_op =3D xsm_domctl_scheduler_op, #ifdef CONFIG_MGMT_HYPERCALLS + .domctl_scheduler_op =3D xsm_domctl_scheduler_op, .sysctl_scheduler_op =3D xsm_sysctl_scheduler_op, #endif .set_target =3D xsm_set_target, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index d0fd057db5..839a4cf9e6 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -609,6 +609,7 @@ static int cf_check flask_getdomaininfo(struct domain *= d) return current_has_perm(d, SECCLASS_DOMAIN, DOMAIN__GETDOMAININFO); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check flask_domctl_scheduler_op(struct domain *d, int op) { switch ( op ) @@ -626,7 +627,6 @@ static int cf_check flask_domctl_scheduler_op(struct do= main *d, int op) } } =20 -#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check flask_sysctl_scheduler_op(int op) { switch ( op ) @@ -1883,8 +1883,8 @@ static const struct xsm_ops __initconst_cf_clobber fl= ask_ops =3D { .security_domaininfo =3D flask_security_domaininfo, .domain_create =3D flask_domain_create, .getdomaininfo =3D flask_getdomaininfo, - .domctl_scheduler_op =3D flask_domctl_scheduler_op, #ifdef CONFIG_MGMT_HYPERCALLS + .domctl_scheduler_op =3D flask_domctl_scheduler_op, .sysctl_scheduler_op =3D flask_sysctl_scheduler_op, #endif .set_target =3D flask_set_target, --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722905; cv=pass; d=zohomail.com; s=zohoarc; b=NMnij8n1J2cRtl/ISbV7MGgy4MYvuEo5FjA483tQYe4dYW7JpZEvhstJVMG1Tk2VPA5650FARZzr1/jfeFfIuIyaGRrWunQqKq+ZkIu6rzyEBtAcgC5a+zCUcfKahjyBMUGoXXHGuzlvrQIbi1hJzStSudLTJhjFqBHlW5/IpuU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722905; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=S9x7Xa5KkUvXjjgvJRgz/0aHtQ5ZefYKpd00CZcZ/TA=; b=V5vk/wVp31Flq99kbz7JCAMgQ1MF3Mv0tNbjq2CTVMQpaKOQ/7oomRcuGJ1Yutrg3YMigEILBqYz9ANT1xpk/ttgOIFFEix5P2yS7OKLR9c+zt6vF82W6j8ZhgAwe+W7V+8E2+GU2EnKWX8AenzfHyxdZ0+DBVGUxJkutxqmc+s= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722905474934.5922028555144; Fri, 21 Nov 2025 03:01:45 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168650.1494641 (Exim 4.92) (envelope-from ) id 1vMOtM-0005JD-0V; Fri, 21 Nov 2025 11:01:28 +0000 Received: by outflank-mailman (output) from mailman id 1168650.1494641; Fri, 21 Nov 2025 11:01:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtL-0005Ik-Rh; Fri, 21 Nov 2025 11:01:27 +0000 Received: by outflank-mailman (input) for mailman id 1168650; Fri, 21 Nov 2025 11:01:27 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOr8-0008Dv-Ue for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:10 +0000 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazlp170130007.outbound.protection.outlook.com [2a01:111:f403:c112::7]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1a18df56-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:08 +0100 (CET) Received: from CH2PR05CA0060.namprd05.prod.outlook.com (2603:10b6:610:38::37) by BY5PR12MB4068.namprd12.prod.outlook.com (2603:10b6:a03:203::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:59:00 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::95) by CH2PR05CA0060.outlook.office365.com (2603:10b6:610:38::37) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.4 via Frontend Transport; Fri, 21 Nov 2025 10:59:00 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:58:59 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:57 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1a18df56-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g6Ya6gqkbROa3OowkVc9Uc8fAqW3wRooUNxeWtLbOj9JJwAlT2gbJ3pr+U4guVJyNK3qLIgRfUdk/+oWXaY/yficpRBI/VGv5qLxM/BpfwR5L1qU8sdcl2FJWqbr2Zr9sQ7l6zG+gD2HPJmD1/+jJfogZ/lRq+61oN09FCKBw/4Xkv94fRmF88Mh60gZUJl+bXFRZUlCvRKK/tVgeErQwMg8ZnhSHmQCsYt6ha4NgGRVOz8cTbsfIl79zSWDJHEEOmikaqZvKUcHIXM/Xc3/TrfJagE+GEygAnQiTdOxy0fgnYrDVNEnaZ70J2ArIC5cqhlPuv6WeGm6wGTaYaPmJQ== 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=S9x7Xa5KkUvXjjgvJRgz/0aHtQ5ZefYKpd00CZcZ/TA=; b=emEPVFs4W8TvfJeMQ9ww54/vz6nOs8p/xSZ5b1cx5ggA0V0i4tJwc+F8zDy+XLKZXrdttUBqd/VhLZUZOm1oIJbj9TMldnCu/aVqKTEJsnlfu6Qb47QrgBzfxkcVU2XDQrUMTAEHTt4iPV+rphN0z1+m+C7zUqY3QbydobV/iNsOeU4YdT+VGELMUTTRTKjSQWnuIt5XkZtupJRxsL0PLL8aqkDPom2K+CwylYBfHRTAwktcHYdmr/395VRdNp0A50yCeB/L1laVbMgqPPo47kN/NWuqcoSBKjqYFhyZ7I9VV6X81QEBNrabXhtp7h3XaGYxAkRa53R9JOscuCzUjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=S9x7Xa5KkUvXjjgvJRgz/0aHtQ5ZefYKpd00CZcZ/TA=; b=Pa6QS+yiDRFBx/RIkAXXL1oMXAVaJqvThezPf7xt3nZSVszhhy7cJ4G4sDYdJDL1Gen0nAYP2SzuQhBzHCDPk3/MG7c1l/nFA8LFJi4oawHOVtj2YAiofh61qQ//827elzlx83809hWezD0I340D0HaVkvVadRvXdPZN10rePiQ= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , "Daniel P. Smith" Subject: [PATCH v4 11/24] xen/domctl: wrap xsm_irq_permission with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:48 +0800 Message-ID: <20251121105801.1251262-12-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|BY5PR12MB4068:EE_ X-MS-Office365-Filtering-Correlation-Id: 5540983f-01b0-4517-43d2-08de28ecf9ba X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?fCIE6AuomiK/6XF/ME93ynVGvwinL5LurQwuR/JKZJFgr5LUp6ZhKIDWBXBC?= =?us-ascii?Q?j11jN8FdZWMc3DTmTSffaUSoA5GuGAh5ayJX6Wpl6lpvDaBwc+dMw+7zgRA3?= =?us-ascii?Q?6kEIFyI0510r3A93rF4bnfSLAD0gjq7To8W11GB31X5DORfGNBJEib9k/Wgj?= =?us-ascii?Q?nQz4YtsHeGFvbwywnKZ2KTnGoEWghmkWwUtxPO9ztrVA21++WzzffMdPhatl?= =?us-ascii?Q?TGSA9nf7OEIHihO9YPZGvx05h82LZMRhDJvI1p9G3PMs93Mmj6/imUBmY7Eb?= =?us-ascii?Q?aqNCI4wKycXKcUVmEaBfMFtEL38ZpKqVSTLui4bb6aRx9uQgVFONhiVjFDqu?= =?us-ascii?Q?u4uqbJBmoZ/8Wnk5wErWhUQGjqX7m9lOQ74+/fS7r0i1H6nfiJIzHWT8Bteo?= =?us-ascii?Q?uQk3gPpLKU2REjzjfP+Mw0D79HxRo9FndaTB+nNjhTlYIe/6nxH9uZqxCkka?= =?us-ascii?Q?yV3ryHxkMFjYLg+agZqmKRU02UnW94u59xu08qKVvLt1g3fL0cGlyOA2TgqR?= =?us-ascii?Q?pcEf2x3fitTWjqF46k8gI5h7vkKFERtD5B/desvaJG7CwW/zAI7N2HoLW9wH?= =?us-ascii?Q?0PrU+5tyTzbRmwyd2cIoOci13ABUB8nU5bw4CpXLg4pcjFrPjkWcpIXbeqsL?= =?us-ascii?Q?r6KY+wzFNdcQyfWCGpcWaFD/2f2y8paypmQI37IJdQ0nf6T8KrYMkp68Rp5m?= =?us-ascii?Q?7SspG31hNcQCwT8LOYdyzVwkcbuQXdBqm/HIGtCs6ICMuPMgjzJPVPzUooO9?= =?us-ascii?Q?ZdCiReyP+wVb+MruXzJ9wK2074iJ2v54zXfUNzDQxpEoHuxg7zLPZjs3g8dk?= =?us-ascii?Q?9Tk8w/ov8QrwDB8pN/HpzLhTvvPOFCA2kC+FFdiw58hnDT6F9sCRzB7DhEWD?= =?us-ascii?Q?dcdm5axL5Tt+qUEQqA4ofdhGkvBdv5q7c8yMg2vKt1TF+aC/HAqA/rebZU5d?= =?us-ascii?Q?nw3toFafDczPe6SQM/CE1JLoDPZYxylIL6y5Fo2CHgvmykhs2TSNWD+y4KG8?= =?us-ascii?Q?mmY/7egpbEu01UeFJ3bO06thrZGzh/Ul1EQO67ehUDWlchHSCDrk83m5m/lg?= =?us-ascii?Q?Meoc4e5OIbEP6NdWzKmRNBRswTb384tpwbgiDfPJ6LwkxOcZ9OAv8YFUtU7j?= =?us-ascii?Q?Gl4+RmZ7YiIQ4ZTONX2Shm705nhVsnr8VUc+f8LDWGSiCDlNxe1/DNgokBA2?= =?us-ascii?Q?+52wtsvlEyJE5B9qBvd+4v+LRth9ENJltfJfVbiPeQ0qSHecEyo0E7rQXE8p?= =?us-ascii?Q?0NBspduwAgtGrDVueeNwbh3j5E7uuMipMcdJADHJntmxjwSkAHv4lbsI3b8G?= =?us-ascii?Q?3DvangdNJwQsdyQHt+YvjPXyFXp+8DIxoksnuJ5OxAp/gjbovLdyIMl0DVtg?= =?us-ascii?Q?JOVMFORV7zOaEdQ0vAAf7tkZmKN/OembqkfY5gfUqvxfNZ6hcBAyleu5a1Wv?= =?us-ascii?Q?Lfm659m0Nt0v6eRmUKB97Ou65ZP8Lz0xtjF5UARXHoUco7cOZdHtON/iWWqx?= =?us-ascii?Q?LwKo3KZhuZm8SFTQzb2HM0D8zxAYAv4j4nt7WjR9iQjhJ7KNLm64I3wsyYGH?= =?us-ascii?Q?gss+c1seWvUZ6t9QCOQ=3D?= 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:ErrorRetry;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:58:59.9981 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5540983f-01b0-4517-43d2-08de28ecf9ba 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4068 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722907625018900 Content-Type: text/plain; charset="utf-8" Function xsm_irq_permission() is invoked only under XEN_DOMCTL_irq_permission domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreanchable when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule 2.1. Signed-off-by: Penny Zheng --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" --- v2 -> v3 - add missing wrapping in xsm/dummy.h - adapt to the commit of "remove redundant xsm_iomem_mapping()" - address "violating Misra rule 2.1" in commit message --- xen/include/xsm/dummy.h | 2 ++ xen/include/xsm/xsm.h | 4 ++++ xen/xsm/dummy.c | 2 ++ xen/xsm/flask/hooks.c | 4 ++++ 4 files changed, 12 insertions(+) diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index 5810a18087..a5deb8a975 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -564,12 +564,14 @@ static XSM_INLINE int cf_check xsm_unmap_domain_irq( return xsm_default_action(action, current->domain, d); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_irq_permission( XSM_DEFAULT_ARG struct domain *d, int pirq, uint8_t allow) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, d); } +#endif =20 static XSM_INLINE int cf_check xsm_iomem_permission( XSM_DEFAULT_ARG struct domain *d, uint64_t s, uint64_t e, uint8_t allo= w) diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 9dd485646a..ee43002fdb 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -115,7 +115,9 @@ struct xsm_ops { int (*unmap_domain_irq)(struct domain *d, int irq, const void *data); int (*bind_pt_irq)(struct domain *d, struct xen_domctl_bind_pt_irq *bi= nd); int (*unbind_pt_irq)(struct domain *d, struct xen_domctl_bind_pt_irq *= bind); +#ifdef CONFIG_MGMT_HYPERCALLS int (*irq_permission)(struct domain *d, int pirq, uint8_t allow); +#endif int (*iomem_permission)(struct domain *d, uint64_t s, uint64_t e, uint8_t allow); int (*pci_config_permission)(struct domain *d, uint32_t machine_bdf, @@ -499,11 +501,13 @@ static inline int xsm_unbind_pt_irq( return alternative_call(xsm_ops.unbind_pt_irq, d, bind); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_irq_permission( xsm_default_t def, struct domain *d, int pirq, uint8_t allow) { return alternative_call(xsm_ops.irq_permission, d, pirq, allow); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static inline int xsm_iomem_permission( xsm_default_t def, struct domain *d, uint64_t s, uint64_t e, uint8_t a= llow) diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index 724b2a2653..7cf00ce37e 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -73,7 +73,9 @@ static const struct xsm_ops __initconst_cf_clobber dummy_= ops =3D { .unmap_domain_irq =3D xsm_unmap_domain_irq, .bind_pt_irq =3D xsm_bind_pt_irq, .unbind_pt_irq =3D xsm_unbind_pt_irq, +#ifdef CONFIG_MGMT_HYPERCALLS .irq_permission =3D xsm_irq_permission, +#endif .iomem_permission =3D xsm_iomem_permission, .pci_config_permission =3D xsm_pci_config_permission, .get_vnumainfo =3D xsm_get_vnumainfo, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 839a4cf9e6..ca07585450 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1111,12 +1111,14 @@ static int cf_check flask_unbind_pt_irq( return current_has_perm(d, SECCLASS_RESOURCE, RESOURCE__REMOVE); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check flask_irq_permission( struct domain *d, int pirq, uint8_t access) { /* the PIRQ number is not useful; real IRQ is checked during mapping */ return current_has_perm(d, SECCLASS_RESOURCE, resource_to_perm(access)= ); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 struct iomem_has_perm_data { uint32_t ssid; @@ -1938,7 +1940,9 @@ static const struct xsm_ops __initconst_cf_clobber fl= ask_ops =3D { .unmap_domain_irq =3D flask_unmap_domain_irq, .bind_pt_irq =3D flask_bind_pt_irq, .unbind_pt_irq =3D flask_unbind_pt_irq, +#ifdef CONFIG_MGMT_HYPERCALLS .irq_permission =3D flask_irq_permission, +#endif .iomem_permission =3D flask_iomem_permission, .pci_config_permission =3D flask_pci_config_permission, =20 --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722928; cv=pass; d=zohomail.com; s=zohoarc; b=jdMi4vekN82/bR7Q201wmLOqpR73tD9pVsASs/g5+rnelLevYodJ6T0+n3HZuZ2RurVd540M4hytbUwq6K3RTe8DhRqgyZ0lx0NrrPKGKrIiAhYAqtcTQ4sjCuivtnE1XTeerQ1onBRxrdlG/FjpHTChkfhFX37R8IpYYYc/yHc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722928; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=J3UFs5sCDheraCgj0VMwmwGxoRmq66F8fjZzyOxlM6M=; b=iI962M7wxbqnUU+PpHaWnXMwgsIBaIPDBWtGfIb+JbKbQjyz3xgGNaHvX1IVb0nYII7dsEsdqlTH7ylft/84GsAq7F6QfXCWn7X1+esgkGMT6vpE/pDKXFNd6jzwfWjSo7O2AwOLfGbcPjq9OkkLra5nSMwYISBGiUgyKX0TVKk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722928316456.5847715967602; Fri, 21 Nov 2025 03:02:08 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168685.1494732 (Exim 4.92) (envelope-from ) id 1vMOtY-0008Eb-Ip; Fri, 21 Nov 2025 11:01:40 +0000 Received: by outflank-mailman (output) from mailman id 1168685.1494732; Fri, 21 Nov 2025 11:01:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtY-0008Di-7Z; Fri, 21 Nov 2025 11:01:40 +0000 Received: by outflank-mailman (input) for mailman id 1168685; Fri, 21 Nov 2025 11:01:38 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrQ-0007TB-Mc for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:28 +0000 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazlp170120005.outbound.protection.outlook.com [2a01:111:f403:c105::5]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 212e5862-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:20 +0100 (CET) Received: from CH2PR05CA0060.namprd05.prod.outlook.com (2603:10b6:610:38::37) by SJ2PR12MB9191.namprd12.prod.outlook.com (2603:10b6:a03:55a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:59:04 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::57) by CH2PR05CA0060.outlook.office365.com (2603:10b6:610:38::37) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.4 via Frontend Transport; Fri, 21 Nov 2025 10:59:04 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:03 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:58:59 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 212e5862-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Eno/fBYc+iGKUmo7leJPLHZpMQMcCQNnU/ZA5H7n+/WsJzUqcv7d5KCfuJhSJBRi5iHlA5pdu+OrKONYj934gKev/t/6ttZx7Z/b8vQ8eydjDmEJTGS40hhJ3JHYm8oYVgUvyLE3jpgojMryw+ffoI9iXRjNmtNNim5ZrThqaSR4QmfDYXRDF05ZDljzVG5ZwcFkQRyFthTV9U8dkb0oNAQ+CyH3owZItIoq3Af/9n5vZTA+xKFRPHBtl1no/l+M/V2/bjwWtGUBQf9JGDKtQSlbwdfN4hWdqEN2rMglAIgKK8oAE8UG0k0rSzEIlOqaqqTAgYjp4Jb2AB1MLcrmnA== 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=J3UFs5sCDheraCgj0VMwmwGxoRmq66F8fjZzyOxlM6M=; b=HCcCS1HiMzeYggwnFuV6wWq+/R7m16MZvPxGLy8ZRN9Uco0JiqqVLP0vSL42Qq0oqhz3TFs+ybGAfF6gRX1hSldcpJZ/8wFc/kpL3j4oJp3SwNexJOyJ+hfLz6LHwmYcc00ykJhDVXzWCrQoWLPBvzfg9PUmwRhOYRPswoTroTccB8u2JQxFisA92ay4LKVJ5PqAU4mEC9lJ1ArzVge4nowhvupv0KA2p1o/a54kgjlDCeyJ8ekXPybfArGC/zyqn+ei6QkTKrUHCz1ydqSeOsxEGQfoCJdtAuhEncpQ6FGSg5zS5dsPKsw/JGYSDg5blLzYqiEPPw5/mIeRf3DWHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=J3UFs5sCDheraCgj0VMwmwGxoRmq66F8fjZzyOxlM6M=; b=KadVtFv07EgKo1bOv8HPDBCSTxtIeu6qS6VfUuF/vBW6O5B0DZZSJKjnM+CvB6OfpIgYrItQn7lYkhZW9st2qN6KfJpXS4mCOktAC3JeCQG2C+0G4kQP+cgzUCE5NAm5oHrl7PlB4p8hC8R9Gygq2V6wv2Yt2bIbseHSuE+/Qz8= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Stefano Stabellini , "Julien Grall" , Bertrand Marquis , "Michal Orzel" , Volodymyr Babchuk , Alistair Francis , Bob Eshleman , Connor Davis , "Oleksii Kurochko" , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v4 12/24] xen/domctl: wrap arch-specific domain_set_time_offset() with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:49 +0800 Message-ID: <20251121105801.1251262-13-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|SJ2PR12MB9191:EE_ X-MS-Office365-Filtering-Correlation-Id: 844d5909-5abc-49f4-05f3-08de28ecfbf4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UsgNclqnHkocyuiQULa40XQ+Sbul8Dilo8yj/i10sN//rhohEvY3snhtXtaT?= =?us-ascii?Q?WRiHyNVeVBfGFMvL1ZeFkwoCm9T9Tp0dWA9IqxxNErZ+40loTQO1y/inmJSh?= =?us-ascii?Q?eN6OFeq0eGW0ApvuTwPZHm6GiqbEGR4VbFd17N9/DdSlzhJke4/PebHqHBby?= =?us-ascii?Q?M83ovemdYHvM+4hlKcjITB+OHRBi2b35iDXz0MD2Vip7yuBwlSMtpqFo37Dp?= =?us-ascii?Q?SVwXZnISu6rbvBpcbsYMMD1Rnh5OD4JNd5wDgBE2BrbEY0hi+IkG/dXHHCFb?= =?us-ascii?Q?MmBCeMMFY2NauKU8RzwO/xuPPlyJu0gwfOGumVJN4/9/bsz4P5IlQ8XQ56Xp?= =?us-ascii?Q?64Rwn9Qdna50l75Y2E/Ekp6G/q4TFOWxALs+v4Ocw5rTzGL20t8ZlSd0UuTI?= =?us-ascii?Q?wKozgyGc8ir+NxmhWlBNNNxsG11bP341CFe9dqPGMFebfhcABEbk+XB/BVWr?= =?us-ascii?Q?lMCMzZfXYFNtPetzeOYWv34/SX4pHc/KsjZsrUQBlPJthkrLibBJqfyg6xmS?= =?us-ascii?Q?qiLrJwXvA4x0Va5DbSFViQB6JIfKA0nXbZ+DJBQGVZTdnpoByClGavfVAH+U?= =?us-ascii?Q?dnJ0aS4NiRTiF+r3TCfoareOp7DIbmNmVN+/b/c4nctXhtR1MhPqX865ap4O?= =?us-ascii?Q?+zKisQeDrvmVv/8Y7PB7BhyK8V8xyraRr6ENt6NMgY+H8fEX9hoYJG0WogaF?= =?us-ascii?Q?7yDox2m7/ZDFw/dnVaQ5Trg5wuVhioKBr2iK0DR/JCYNOhKD0fMj6iTq1v9r?= =?us-ascii?Q?QqfEviLe12S7p816lPQVWWk+M2I+IPSzj9tiswWKFEPKBA1Do1dkPph5+QWL?= =?us-ascii?Q?warLALIBtkWYpA8E/VJYJasGePgA2Z5Z0zeQlx+/0HZH0e3Ai89CcnlZ4IOP?= =?us-ascii?Q?+chTzsQbgBZMztPGAc0tIiXA8P0WzMM0Ns2BbUxxS3uKmIY1MFyLXpNTVvTI?= =?us-ascii?Q?JW/X9ipXIQX8i+5bSyXPMbs4HtQ6+ZlPRtS3g7f78TTZp4HyaDzppP1Wew5z?= =?us-ascii?Q?xb2peddHl9dg/UkntCZTkJoHqztlEMzqwiHdLx9ugQZDNOPeYNhMkBbOy4hm?= =?us-ascii?Q?Rq8epYrmHGhHSLJ4JVaBzVu1uONAchvuq+ZwX+GABR6KLJDCzpheNRk6YYGe?= =?us-ascii?Q?SKNNiS38dm/QqAUhDMxtSP8DpvgpuMXTfapCXgdfKLIBu82t3UZQroaGSurm?= =?us-ascii?Q?FH17kJSmvHml4iCliFF5LKt0T9m7MjJHgeOntlPhH1QDMphE38c3hZgOaEEj?= =?us-ascii?Q?jAX43i/84WmT/LZZMgtE1Gk6erwWUqtfgVJgWsGIInX9+EmDXJgiEIfyVade?= =?us-ascii?Q?rI/5qltkQWtgahfe6ePptTQv/8jKOZE7eBnToNZAzvRTZxpQksyHR7d5f8Z7?= =?us-ascii?Q?roJI737cRyU+DaDAjK2XG8poeQfXmYDUmKKncX3sTOyyVYPiIF04t7LefLrJ?= =?us-ascii?Q?ZGpnyYkqIj2J+9DGp4l3HkaqHR8RvMzsOBzFa1g8njzM5bawLQAAPX5kldss?= =?us-ascii?Q?GKa1StVVqynzeYI3OwqnGKCxQdQvjj1IXGhGoowrP8cqwyrrqd2laUV26inF?= =?us-ascii?Q?JFx3ACQ94BT6LLe4Y1A=3D?= 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)(7416014)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:03.7093 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 844d5909-5abc-49f4-05f3-08de28ecfbf4 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9191 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722929711018900 Content-Type: text/plain; charset="utf-8" Arch-specific domain_set_time_offset() is responisble for XEN_DOMCTL_settimeoffset domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule 2.1. Signed-off-by: Penny Zheng Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich # x86 --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_settimeoffset-case transiently --- v2 -> v3: - add back stub wrapping for riscv - address "violating Misra rule 2.1" in commit message - remove transient wrapping around XEN_DOMCTL_settimeoffset-case --- xen/arch/arm/time.c | 2 ++ xen/arch/riscv/stubs.c | 2 ++ xen/arch/x86/time.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c index 3710eab109..a40b233f9d 100644 --- a/xen/arch/arm/time.c +++ b/xen/arch/arm/time.c @@ -378,12 +378,14 @@ void force_update_vcpu_system_time(struct vcpu *v) update_vcpu_system_time(v); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) { d->time_offset.seconds =3D time_offset_seconds; d->time_offset.set =3D true; /* XXX update guest visible wallclock time */ } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int cpu_time_callback(struct notifier_block *nfb, unsigned long action, diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c index 42bac26aa7..b414a85177 100644 --- a/xen/arch/riscv/stubs.c +++ b/xen/arch/riscv/stubs.c @@ -31,10 +31,12 @@ void send_timer_event(struct vcpu *v) BUG_ON("unimplemented"); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) { BUG_ON("unimplemented"); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* domctl.c */ =20 diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index ece9ae0b34..8ba2dd9395 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -1841,6 +1841,7 @@ static void update_domain_rtc(void) rcu_read_unlock(&domlist_read_lock); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds) { d->time_offset.seconds =3D time_offset_seconds; @@ -1849,6 +1850,7 @@ void domain_set_time_offset(struct domain *d, int64_t= time_offset_seconds) rtc_update_clock(d); update_domain_wallclock_time(d); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int cpu_frequency_change(u64 freq) { --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722917; cv=pass; d=zohomail.com; s=zohoarc; b=PFqG7XQyn1pgURhON2mVkys4FMtNpbO42V0RUSDOzlBRMXG3NZemOb5AjvGiU1nk+5BmAiSbDv+Bf3vtzBtZTaGricssdGVtP4WjQ19/413af1Hsv/b/41EOTBq7Dhaq9oIKtCwnxmoVI3ib1OIgvaBKZ5GZk+A6PrArXvLCleQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722917; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wwm19MfQLFYMEaHpF+50GvvhGNeqkRUXQdYfCrb3X5E=; b=fjz0oJYAsaR+nWiUKH6Wdiw/y8P+gOXzUt4RjHdcB5zwraN9qAc63WcTXlvRLYDlnpZgzIq0Yo6ISZ6D8GVSvgUOEh7NRRiC+a+tXbqwrXaGcjF4M2JaDXfCaAXHnrm+4pesBHASd5CwSNWugFjS674FPs+AS1iERXjGZHwjTmo= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722917740485.903532164902; Fri, 21 Nov 2025 03:01:57 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168659.1494684 (Exim 4.92) (envelope-from ) id 1vMOtP-0006G0-A7; Fri, 21 Nov 2025 11:01:31 +0000 Received: by outflank-mailman (output) from mailman id 1168659.1494684; Fri, 21 Nov 2025 11:01:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtP-0006Db-1A; Fri, 21 Nov 2025 11:01:31 +0000 Received: by outflank-mailman (input) for mailman id 1168659; Fri, 21 Nov 2025 11:01:29 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOr9-0008Dv-JO for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:11 +0000 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazlp170120002.outbound.protection.outlook.com [2a01:111:f403:c001::2]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1b352ecd-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:09 +0100 (CET) Received: from CH2PR05CA0068.namprd05.prod.outlook.com (2603:10b6:610:38::45) by MN2PR12MB4301.namprd12.prod.outlook.com (2603:10b6:208:1d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.12; Fri, 21 Nov 2025 10:59:05 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::ce) by CH2PR05CA0068.outlook.office365.com (2603:10b6:610:38::45) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.5 via Frontend Transport; Fri, 21 Nov 2025 10:59:02 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:04 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:02 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1b352ecd-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XBoGBM9kmhycAJ/P/h0v0rhxfilNO83Myy1b1yJnrNMptvt443X6MlVY4lnZ/ka6DY2HR4FzfU5smJFyZqxkIJ3fz5Lr8rpBa60hu+ZHYKdfS/l4wI8JYu0UoiXwhgdd7P2wUHRd0SAUZliATLOaMlAhYa7SkQp8cd3YrGux8R2rdockRGZdrFUKvFBNTaKfuLcdEDbgACs0+YrxW+FxZulWNS88pyP1qVKvFFJ5CNJjVxWpBZD89pIoQO7x+W2qkArgCrDfnbkv8D6RP17TEzLYAGWXmMu47hPtxpMXHs59xKdwahvVbd/SpMvEEfSwY+Yn9Yux+Vi67TFhD2kZVA== 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=wwm19MfQLFYMEaHpF+50GvvhGNeqkRUXQdYfCrb3X5E=; b=k8JjviAMDf4gx5CWBRnFDV8dRck5gxZwVYYV0wPSAatZCeVYn7pfd+AXLvibMPyLn8Gs2yGGYnSbNz/qACQXO12o8K/Dc/6AaLWx4T7+y26STQHXBlk+bWp+Um8/a0O4qwdY5MH6wU7reaD3wDBInm4RPzqZK3jyEUt98f882ashUFsIslJJ7E6Y3jp+oijM0jEOoQzkNfU3EwxVp1G7Nae/O6T46u3umUZaR0vocxqucpgSmdIIjatarIKVXAyFnhDPcrYSDMqDoIetAqKDuIrglCWy17B5Sbjqke91SLx+QL8glw4Jp1f//fczhP44wK4w8ZseAdp75n0DeudZHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=wwm19MfQLFYMEaHpF+50GvvhGNeqkRUXQdYfCrb3X5E=; b=FLT8O90nGGVtn7XYlH9JCiz+LfUZU6A+LcSn0Mbqbz5XEhzTPL48uU65EGUe/CqOqIVMJDV3BOQvf0DLCWToDoMWRxYf/avv+7xaNisi6He17I2ZddL3IbwbZcMnvJNi/XEh4xhu+2NNN6KnME8qVMd68Ko8vQkXw/RvnG+IBIE= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , "Daniel P. Smith" Subject: [PATCH v4 13/24] xen/domctl: wrap xsm_set_target() with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:50 +0800 Message-ID: <20251121105801.1251262-14-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|MN2PR12MB4301:EE_ X-MS-Office365-Filtering-Correlation-Id: 536e7e46-c303-4df3-258b-08de28ecfcae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?08YJzvRQ6DZaXTYa5PH97VDH9+1ic6fnf97OwLE84gAEXEY2ppY5T2wkyC0v?= =?us-ascii?Q?jF7QSqbdfXtNupBeAktzEbfH0yaFcKzz0Mm3hJdIp3SXUV17bM7lqhJO17t1?= =?us-ascii?Q?HhV0ehj9SOwcyQijaTsphwQijfbiIeBzfpjUuzOVc9mMUMPjCfTNz/oo3fRL?= =?us-ascii?Q?SpznNuyOnUo5MQlgh86lp5V58RQq9oAAJifhXPRsJ4IgPzXO0DZBj1OsCZBg?= =?us-ascii?Q?6RUxLJox7TpZFceiza7dHp3k/FOABRxxCvtm0SUc9/AiuJyQ0atM+jMUKqnI?= =?us-ascii?Q?yl8++vL7lp3pM+Y4wHpzQz5j+yB8BWc/wYEJKfC58Hjwhm8ui0KiGUYGmuc/?= =?us-ascii?Q?tbnzjFahXoNF6Te+Woj3l8UYwsAB1/q+XhcjMvVRUcQu/kex/Zn4TFecxbxF?= =?us-ascii?Q?OEMOx95QwZ8+8UBAa9yw1mlDZKdWtOFN8BA/3YwKLrV8UE2y9Tsr2PaS0ERo?= =?us-ascii?Q?A/SyRJeUdry4cx0JM6b3aL1Va3beVOQgcT3biw9uxJSgnAxu2KmYxZfEEt/y?= =?us-ascii?Q?eIpuEz2xKt9XfDk31NpDQ6TIiigJnKIvUDc018/uh4pFDhUoHHIxOl/rVSWI?= =?us-ascii?Q?QV9RBoZwJK/QlUQqYuf25aHhaBwOe3to50QqXmbobMeOMarFJzzsfRk+fSyj?= =?us-ascii?Q?oU74CVXuEytujp8ycxPF5gyqjjWI4mEBwJS+0jWOgLajfKYr0VVGPRZjTzSa?= =?us-ascii?Q?zEqIsfDiEy5dQF/CklKidY58pQZJ77LWs/I5+urZdHa1N7ujcHtzoWKBZK5m?= =?us-ascii?Q?mO4eYC6m73k2/9gnTzeJPjIwQNikAyK8oL5eJ++VvOVzpGMYMFDehAHxQs1N?= =?us-ascii?Q?ro1skVaMwzswDqaDOLNxdGLvcZZzl111imwQ7D956UoD6JlTvldXMfhy7ngc?= =?us-ascii?Q?+dgCaWUMHdHyXz1/VYiCZIMi/jHIjBFxtHTTXd9DVlfFByx5MLO/pZwNhjmb?= =?us-ascii?Q?FHr2tWJaQL1gYgDYRSx58HLfPF3lFezAydVFxsVqHg3dW+GvbtlCR5TWsgpJ?= =?us-ascii?Q?Dwc93LSo4FqLX7CzhDJSE8VPMDSuYQtrWR68q/+JqxsTRYMeY9HRh7n5/0ny?= =?us-ascii?Q?WBWVI7b/1HsQSF1f/hJi64FhUre/uc95BMf0DcL7mzN4Jl73s84IrnWtPh6e?= =?us-ascii?Q?IfFku2BMPrG52EEURPJdF8U/TySoYJyh8JEVewNXETu9EbQ00iUyqVyEE+Em?= =?us-ascii?Q?P3r4b39Ckqls11IWGFR8qkMdBCfBt6ElaR4NmK4k7YIc4i28HNGrWpCICWVD?= =?us-ascii?Q?dj7OfNb0h/tarW4W2GCbiY1iFGN928oL/iPdAmgphC1EwejgCnSHdf4R6uDb?= =?us-ascii?Q?f4fTsOwEWtDrX35PhFeTNSoxiFrh47z0bwRcJAgg3/5ckL5EfdDFjO9+8aLV?= =?us-ascii?Q?WK6QNjng877amkm7LpYKk8QGqoCw/u2d0zFbyxW32OfchmtZLeX8eubVP+uf?= =?us-ascii?Q?vjsHM1hSwSVTpRpq1oeEjTjUAX17tfwvJTu1JrINmofVr8PA4rBJf3Z6w1nB?= =?us-ascii?Q?ISBetj7eLQ5c4fgnTRNbok1PpyQshC25LdfnH9K7QhP4AZtr7QV70H62iA2E?= =?us-ascii?Q?WXr+d3veFvp5hy1dp8E=3D?= 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)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:04.9528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 536e7e46-c303-4df3-258b-08de28ecfcae 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4301 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722919750018900 Content-Type: text/plain; charset="utf-8" Function xsm_set_target() is only invoked under XEN_DOMCTL_set_target domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable codes when MGMT_HYPERCALLS=3Dn, and hence violat= ing Misra 2.1. Signed-off-by: Penny Zheng --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" --- v2 -> v3 - wrap the whole inline function xsm_set_target() - add missing wrapping in xsm/dummy.h - address "violating Misra rule 2.1" in commit message --- xen/include/xsm/dummy.h | 2 ++ xen/include/xsm/xsm.h | 4 +++- xen/xsm/dummy.c | 2 +- xen/xsm/flask/hooks.c | 4 ++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index a5deb8a975..a598d74f1f 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -158,12 +158,14 @@ static XSM_INLINE int cf_check xsm_sysctl_scheduler_o= p(XSM_DEFAULT_ARG int cmd) } #endif /* CONFIG_MGMT_HYPERCALLS */ =20 +#ifdef CONFIG_MGMT_HYPERCALLS static XSM_INLINE int cf_check xsm_set_target( XSM_DEFAULT_ARG struct domain *d, struct domain *e) { XSM_ASSERT_ACTION(XSM_HOOK); return xsm_default_action(action, current->domain, NULL); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static XSM_INLINE int cf_check xsm_domctl( XSM_DEFAULT_ARG struct domain *d, unsigned int cmd, uint32_t ssidref) diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index ee43002fdb..154a4b8a92 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -59,8 +59,8 @@ struct xsm_ops { #ifdef CONFIG_MGMT_HYPERCALLS int (*domctl_scheduler_op)(struct domain *d, int op); int (*sysctl_scheduler_op)(int op); -#endif int (*set_target)(struct domain *d, struct domain *e); +#endif int (*domctl)(struct domain *d, unsigned int cmd, uint32_t ssidref); #ifdef CONFIG_MGMT_HYPERCALLS int (*sysctl)(int cmd); @@ -255,11 +255,13 @@ static inline int xsm_sysctl_scheduler_op(xsm_default= _t def, int cmd) } #endif =20 +#ifdef CONFIG_MGMT_HYPERCALLS static inline int xsm_set_target( xsm_default_t def, struct domain *d, struct domain *e) { return alternative_call(xsm_ops.set_target, d, e); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static inline int xsm_domctl(xsm_default_t def, struct domain *d, unsigned int cmd, uint32_t ssidref) diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index 7cf00ce37e..9774bb3bdb 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -21,8 +21,8 @@ static const struct xsm_ops __initconst_cf_clobber dummy_= ops =3D { #ifdef CONFIG_MGMT_HYPERCALLS .domctl_scheduler_op =3D xsm_domctl_scheduler_op, .sysctl_scheduler_op =3D xsm_sysctl_scheduler_op, -#endif .set_target =3D xsm_set_target, +#endif .domctl =3D xsm_domctl, #ifdef CONFIG_MGMT_HYPERCALLS .sysctl =3D xsm_sysctl, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index ca07585450..9b63c516e6 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -641,7 +641,6 @@ static int cf_check flask_sysctl_scheduler_op(int op) return avc_unknown_permission("sysctl_scheduler_op", op); } } -#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int cf_check flask_set_target(struct domain *d, struct domain *t) { @@ -666,6 +665,7 @@ static int cf_check flask_set_target(struct domain *d, = struct domain *t) &dsec->target_sid); return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int cf_check flask_domctl(struct domain *d, unsigned int cmd, uint32_t ssidref) @@ -1888,8 +1888,8 @@ static const struct xsm_ops __initconst_cf_clobber fl= ask_ops =3D { #ifdef CONFIG_MGMT_HYPERCALLS .domctl_scheduler_op =3D flask_domctl_scheduler_op, .sysctl_scheduler_op =3D flask_sysctl_scheduler_op, -#endif .set_target =3D flask_set_target, +#endif .domctl =3D flask_domctl, #ifdef CONFIG_MGMT_HYPERCALLS .sysctl =3D flask_sysctl, --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722940; cv=pass; d=zohomail.com; s=zohoarc; b=nM5RsepKzwi66XFxn2XmJBq2QTs7ikVpHwslP1nlCJDj8C/BW2nagdgCT7E2tQyBB/kuCs2VJGKUhcJDIZfwNwRdQEOTSltG6BlU0IxojKcIMG3MkttwiER8e0i2SHsuZTZWxoyjw3xyVOETHc+Fkqm8LVE9PF8CI21Cksi+ONs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722940; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KAc5h4CIkrhPqQT7QktYcMBymNFGJFkm0bXneImigWw=; b=URUEEnhk/xk5r9dgjS9zsuiBs84msX36LP6gla7bD3kxpMUuGARE4gk8iTzt6LsQUcbJ/h4ibi2YQUTgNF29rrD6Yih3dEv2oMFwVwm3j5Ur7lLfRf+YVktFgR4anLmwnnyAbLXm9VmfAXQC2J3B7qy/ZwEUosrpiy3MHkcmeYE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722940181977.9503132251997; Fri, 21 Nov 2025 03:02:20 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168745.1494794 (Exim 4.92) (envelope-from ) id 1vMOtm-0002YW-8w; Fri, 21 Nov 2025 11:01:54 +0000 Received: by outflank-mailman (output) from mailman id 1168745.1494794; Fri, 21 Nov 2025 11:01:54 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtm-0002Xs-25; Fri, 21 Nov 2025 11:01:54 +0000 Received: by outflank-mailman (input) for mailman id 1168745; Fri, 21 Nov 2025 11:01:53 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrG-0008Dv-NV for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:18 +0000 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azlp170100001.outbound.protection.outlook.com [2a01:111:f403:c110::1]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 1e989f91-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:16 +0100 (CET) Received: from CH2PR05CA0064.namprd05.prod.outlook.com (2603:10b6:610:38::41) by IA1PR12MB7733.namprd12.prod.outlook.com (2603:10b6:208:423::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:08 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::a6) by CH2PR05CA0064.outlook.office365.com (2603:10b6:610:38::41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.5 via Frontend Transport; Fri, 21 Nov 2025 10:59:08 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:08 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:04 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1e989f91-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=f3WhPly/4tgtOFxUGktLr4fUWRYTCk/Zrwii70ataigmmnmqIpqehT8infA+kUPFWahtJ2hn70lQo8aUAuvLyamjTS0yfLk/e2pDnFCb2PXmpjvClX7rooO3fJsO+q4d2tW4vC7XQyLQpAK7aQ7XxlV2DVTkR46a7QBJ4nd+bI56blWsBQdBqwtB2WP+TkiHorKo3ImElw67wbPOm+xHOZo7TYBkuXwm4S6B7nNWcZ6b7EW+fZSRRobOvmRQQIMlPW3fkD53vHLHzao2GW8E6D72JoctSnXma36doBsDUhIljMQevKljLIzr977J0TKniaa9liI8BFG0n9zG36En4A== 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=KAc5h4CIkrhPqQT7QktYcMBymNFGJFkm0bXneImigWw=; b=iT/cNiDuFJ1ZmwR3x+XAm6OJOAzZBm6u7A17c0O4sYPyPC1jacLRmXvRL7XdMusDvjo6dYJEgPVNThHu09tsoIob8+tzsu9WgHglv+sF1jinpvai+5u+gGcZvDNAKL2ZuUq0u+c90J6tgktVLof5vWCG/Xv+FmWzV4ayS6nBUHk76e/8Ulrxb/rF5pxh65emOk7E0EjXnuTtkpyF0+V6V0oaOVGxP3jvmFsWZYUy7yY1lVt+9d6PFhnFYGrW0IwEaJBDmBAUx/OCLrV6Ay3UOlpJDkkMymNCa/3589bLFHw8D+uwZXQYCiAWxyNWjMSfuH4N20KjL9wA/xEehDiKzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=KAc5h4CIkrhPqQT7QktYcMBymNFGJFkm0bXneImigWw=; b=OO6js5ezkLRT/5WLUScSG6HUf/vdpfZCOwlCxFjQxjsEXNCKnHOI8/C2Ej5mOQ5fj2SB2spIJU3dBHFmu/e1HruZNN89FzA4SMonqAWpO5TQ21d0ZFTbeLvibB8Wrsm/YKDeYX8O0tSsqxKAwXerG2vfospVDBa1WXxLsM/z+zM= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Jason Andryuk , "Daniel P. Smith" Subject: [PATCH v4 14/24] xen/domctl: wrap pci-subset iommu-related domctl op with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:51 +0800 Message-ID: <20251121105801.1251262-15-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|IA1PR12MB7733:EE_ X-MS-Office365-Filtering-Correlation-Id: 243b221e-ea13-4f42-f8f2-08de28ecfecf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?94gn5mwcD3ZwtHmccBqLdAvHsKoMA+JvXr4AqrZXx9+2EQCbiscpTw6L8jeU?= =?us-ascii?Q?bC+FEXTNFLxbCPnniYFQRTu3FENu9jNIAlqVjjRiQ3r8fcNR2tVoXWo9Il/I?= =?us-ascii?Q?JgVxZvT7p9xqOtzEdZgpo5BGjEH3FQlVlsT/9PErriIm4p7VwUKlbazz1Otb?= =?us-ascii?Q?GoYm6AgRHxf8goSTkoODWqBg3yzOyH6ADVgiB8Qt0Y1IbH3rRHjrlaTycHk8?= =?us-ascii?Q?FHhZhkLjF2qmedyG8n+8ylRP9NTJZgL7RumNWrC6W1m5UsGRw3za3dYM4L4k?= =?us-ascii?Q?GA+vhgE8o8kn/MEr16lrPZSySlxZNTHhlX089PBdZmxUWK0KAOHkqEs/3l/l?= =?us-ascii?Q?bjSxfj0zFGzwz6Yy661nc1HMeQNkFERqVd3QxZsaK3sVcA3SyOIGjiWJlq6G?= =?us-ascii?Q?la2jhv6lZgoW0WMAjhMwucJuGYNsqWp+l2ZpZTu3dUw5d1vaCxuqcO617Lg0?= =?us-ascii?Q?koBwAoA6K1h/LyC2DpIVFxmj4nQGQctAeqpFInZ22kfC6vTybdROzOSIXqjY?= =?us-ascii?Q?P4B8h1hZt5ZbUB+yf0yniSiW+JZeuWGktAQ25YyX4y0sFpmahEFl18OxyyNI?= =?us-ascii?Q?g9E3JVCP8UsPkl9Ulq2pUHOEjckdYXfWwCMZcxi0RrdbkFm69qQIwAxB98wV?= =?us-ascii?Q?Xc4JO8FG4wi/n/LU4EQKG+1uQyKtd2U5yiWbbLIKoBXfTiZSDDxwXYXJFIu7?= =?us-ascii?Q?gtJJZJivvf/n5E197uRoEgq9tUcc5NE5cpimpVMc7pqKTCAklQbUUwEmAeMP?= =?us-ascii?Q?zJcOd3iCloWvm0U8PBITVOpLlG1qPM14WdL5NrbaFdWFofw7UJxQqE10kIMU?= =?us-ascii?Q?29C+nFyrv76LubDY0domcrEfHOdpIuSilcg4R2IdHoKaVCcPvea4uGzQNZ4y?= =?us-ascii?Q?Voje91wJ+FQ6TXPKUAWTSsF1UGFA5Gpu3WKKtyMypoa5wX23jSZ6IrNEliv+?= =?us-ascii?Q?GWy2ylHt1hyJ+2gxpOX5JbzX1KcsoPxsurWTlsv3J4yEJ8Icp/tPX16OQ5FI?= =?us-ascii?Q?mBbGerx8XDu+vb6rVE9IM6R/RpjJ3i64nmgmJM4vrGiS1zB0ihmNTuraYuan?= =?us-ascii?Q?W+5M4j0i4vWuss5p+BSDF/N9nVqqhUCKDNf85LzZKovzSyCiE8SrDovaAtdX?= =?us-ascii?Q?Crs8Nh+iIxbr3zz/pVK9BENixR/EFscCUqSxzNuDU5NQ/SWm0z9kJvVDtBha?= =?us-ascii?Q?KeYDSOX57n5zfVatXH9LUrZGHoq55VEL0yR0XuCdGshHHUigU8D1cELk08yq?= =?us-ascii?Q?7vPL5azLo8tQnmbTDCTmqiX4F7mx5d0ZZpzGK/f6wOd6lONPJjiEy88pUYCa?= =?us-ascii?Q?a4emY4yJHZNOn3IjrtBLMGHYk5eiYr1szvM36JhhNUqB7rsmZxDuhvkG0W3l?= =?us-ascii?Q?FPWWrqaIfDQp2Raty2QrZBkRPlv/mEk6mqFQRHKwtNvleLcCmXixcOjdGUaf?= =?us-ascii?Q?t9LdLee+uwzrvYDoO8ObWJqTlxW5IGbb4wWrIBiMRyHPLTGFr074C31BGZw6?= =?us-ascii?Q?SqCUyQ7f9EqTrjmP9hsroNClBGYjNBysTH2gDCs0XIMoJ9XxhjReBAW6Gben?= =?us-ascii?Q?4gB4MfR42xjtzOavpo8=3D?= 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)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:08.5076 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 243b221e-ea13-4f42-f8f2-08de28ecfecf 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7733 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722942075018901 Content-Type: text/plain; charset="utf-8" Function iommu_do_pci_domctl() is the main entry for pci-subset iommu-related domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Tracking its calling chain, the following functions shall all be wrapped with CONFIG_MGMT_HYPERCALLS: - iommu_do_pci_domctl - iommu_get_device_group - xsm_get_device_group - iommu_ops.get_device_group_id - amd_iommu_group_id/intel_iommu_group_id - device_assigned - xsm_assign_device - assign_device - iommu_ops.assign_device - intel_iommu_assign_device/amd_iommu_assign_device - xsm_deassign_device - deassign_device - iommu_ops.reassign_device - reassign_device_ownership/reassign_device Otherwise all the functions will become unreachable when MGMT_HYPERCALLS=3D= n, and hence violating Misra rule 2.1 Signed-off-by: Penny Zheng --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_assign_device{test_assign_device,deassign_device, get_device_group}-case transiently --- v2 -> v3: - make PCI_PASSTHROUGH(, then HAS_VPCI_GUEST_SUPPORT) depend on MGMT_HYPERC= ALLS - add wrapping for iommu_remove_dt_device/iommu_dt_device_is_assigned_locke= d/ arm_smmu_detach_dev/arm_smmu_domain_remove_master - fold commit "xen/xsm: wrap xsm-iommu-related functions with CONFIG_MGMT_HYPERCALLS" in - fix overly long #ifdef - add missing wrapping in xsm/dummy.h - address "violating Misra rule 2.1" in commit message - remove transient wrapping of XEN_DOMCTL_assign_device{test_assign_device,deassign_device,get_device_grou= p}-case --- v3 -> v4: - move codes to wrap with a single #ifdef - split into PCI related subset and DT subset --- xen/drivers/passthrough/amd/pci_amd_iommu.c | 20 ++++---- xen/drivers/passthrough/pci.c | 52 +++++++++++---------- xen/drivers/passthrough/vtd/iommu.c | 6 ++- xen/include/xsm/dummy.h | 6 ++- xen/include/xsm/xsm.h | 12 +++-- xen/xsm/dummy.c | 6 ++- xen/xsm/flask/hooks.c | 12 +++-- 7 files changed, 68 insertions(+), 46 deletions(-) diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/pass= through/amd/pci_amd_iommu.c index 3a14770855..576b36af92 100644 --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -461,6 +461,7 @@ static void amd_iommu_disable_domain_device(const struc= t domain *domain, spin_unlock_irqrestore(&iommu->lock, flags); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check reassign_device( struct domain *source, struct domain *target, u8 devfn, struct pci_dev *pdev) @@ -551,6 +552,14 @@ static int cf_check amd_iommu_assign_device( return rc; } =20 +static int cf_check amd_iommu_group_id(u16 seg, u8 bus, u8 devfn) +{ + unsigned int bdf =3D PCI_BDF(bus, devfn); + + return (bdf < ivrs_bdf_entries) ? get_dma_requestor_id(seg, bdf) : bdf; +} +#endif /* CONFIG_MGMT_HYPERCALLS */ + static void cf_check amd_iommu_clear_root_pgtable(struct domain *d) { struct domain_iommu *hd =3D dom_iommu(d); @@ -698,13 +707,6 @@ static int cf_check amd_iommu_remove_device(u8 devfn, = struct pci_dev *pdev) return 0; } =20 -static int cf_check amd_iommu_group_id(u16 seg, u8 bus, u8 devfn) -{ - unsigned int bdf =3D PCI_BDF(bus, devfn); - - return (bdf < ivrs_bdf_entries) ? get_dma_requestor_id(seg, bdf) : bdf; -} - #include =20 static void amd_dump_page_table_level(struct page_info *pg, int level, @@ -772,14 +774,16 @@ static const struct iommu_ops __initconst_cf_clobber = _iommu_ops =3D { .quarantine_init =3D amd_iommu_quarantine_init, .add_device =3D amd_iommu_add_device, .remove_device =3D amd_iommu_remove_device, - .assign_device =3D amd_iommu_assign_device, .teardown =3D amd_iommu_domain_destroy, .clear_root_pgtable =3D amd_iommu_clear_root_pgtable, .map_page =3D amd_iommu_map_page, .unmap_page =3D amd_iommu_unmap_page, .iotlb_flush =3D amd_iommu_flush_iotlb_pages, +#ifdef CONFIG_MGMT_HYPERCALLS + .assign_device =3D amd_iommu_assign_device, .reassign_device =3D reassign_device, .get_device_group_id =3D amd_iommu_group_id, +#endif .enable_x2apic =3D iov_enable_xt, .update_ire_from_apic =3D amd_iommu_ioapic_update_ire, .update_ire_from_msi =3D amd_iommu_msi_msg_update_ire, diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index 422e45f5a6..8ab229bfe7 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -878,6 +878,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn) return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* Caller should hold the pcidevs_lock */ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus, uint8_t devfn) @@ -946,7 +947,6 @@ static int deassign_device(struct domain *d, uint16_t s= eg, uint8_t bus, return ret; } =20 -#ifdef CONFIG_MGMT_HYPERCALLS int pci_release_devices(struct domain *d) { int combined_ret; @@ -1484,6 +1484,7 @@ static int iommu_remove_device(struct pci_dev *pdev) return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(p= dev)); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int device_assigned(u16 seg, u8 bus, u8 devfn) { struct pci_dev *pdev; @@ -1648,30 +1649,6 @@ static int iommu_get_device_group( return i; } =20 -void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev) -{ - pcidevs_lock(); - - disable_ats_device(pdev); - - ASSERT(pdev->domain); - if ( d !=3D pdev->domain ) - { - pcidevs_unlock(); - return; - } - - pdev->broken =3D true; - - if ( !d->is_shutting_down && printk_ratelimit() ) - printk(XENLOG_ERR "dom%d: ATS device %pp flush failed\n", - d->domain_id, &pdev->sbdf); - if ( !is_hardware_domain(d) ) - domain_crash(d); - - pcidevs_unlock(); -} - int iommu_do_pci_domctl( struct xen_domctl *domctl, struct domain *d, XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl) @@ -1805,6 +1782,31 @@ int iommu_do_pci_domctl( =20 return ret; } +#endif /* CONFIG_MGMT_HYPERCALLS */ + +void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev) +{ + pcidevs_lock(); + + disable_ats_device(pdev); + + ASSERT(pdev->domain); + if ( d !=3D pdev->domain ) + { + pcidevs_unlock(); + return; + } + + pdev->broken =3D true; + + if ( !d->is_shutting_down && printk_ratelimit() ) + printk(XENLOG_ERR "dom%d: ATS device %pp flush failed\n", + d->domain_id, &pdev->sbdf); + if ( !is_hardware_domain(d) ) + domain_crash(d); + + pcidevs_unlock(); +} =20 struct segment_iter { int (*handler)(struct pci_dev *pdev, void *arg); diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/= vtd/iommu.c index 90f36ac22b..ad2e657bca 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -2742,6 +2742,7 @@ static int __init cf_check vtd_setup(void) return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int cf_check reassign_device_ownership( struct domain *source, struct domain *target, @@ -2937,6 +2938,7 @@ static int cf_check intel_iommu_group_id(u16 seg, u8 = bus, u8 devfn) =20 return PCI_BDF(bus, devfn); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int __must_check cf_check vtd_suspend(void) { @@ -3245,14 +3247,16 @@ static const struct iommu_ops __initconst_cf_clobbe= r vtd_ops =3D { .add_device =3D intel_iommu_add_device, .enable_device =3D intel_iommu_enable_device, .remove_device =3D intel_iommu_remove_device, - .assign_device =3D intel_iommu_assign_device, .teardown =3D iommu_domain_teardown, .clear_root_pgtable =3D iommu_clear_root_pgtable, .map_page =3D intel_iommu_map_page, .unmap_page =3D intel_iommu_unmap_page, .lookup_page =3D intel_iommu_lookup_page, +#ifdef CONFIG_MGMT_HYPERCALLS + .assign_device =3D intel_iommu_assign_device, .reassign_device =3D reassign_device_ownership, .get_device_group_id =3D intel_iommu_group_id, +#endif .enable_x2apic =3D intel_iommu_enable_eim, .disable_x2apic =3D intel_iommu_disable_eim, .update_ire_from_apic =3D io_apic_write_remap_rte, diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index a598d74f1f..83972d36b7 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -407,7 +407,8 @@ static XSM_INLINE int cf_check xsm_get_vnumainfo( return xsm_default_action(action, current->domain, d); } =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS) +#ifdef CONFIG_HAS_PCI static XSM_INLINE int cf_check xsm_get_device_group( XSM_DEFAULT_ARG uint32_t machine_bdf) { @@ -429,7 +430,8 @@ static XSM_INLINE int cf_check xsm_deassign_device( return xsm_default_action(action, current->domain, d); } =20 -#endif /* HAS_PASSTHROUGH && HAS_PCI */ +#endif /* CONFIG_HAS_PCI */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) static XSM_INLINE int cf_check xsm_assign_dtdevice( diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 154a4b8a92..f2e92645ef 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -123,11 +123,13 @@ struct xsm_ops { int (*pci_config_permission)(struct domain *d, uint32_t machine_bdf, uint16_t start, uint16_t end, uint8_t acc= ess); =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS) +#ifdef CONFIG_HAS_PCI int (*get_device_group)(uint32_t machine_bdf); int (*assign_device)(struct domain *d, uint32_t machine_bdf); int (*deassign_device)(struct domain *d, uint32_t machine_bdf); -#endif +#endif /* CONFIG_HAS_PCI */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) int (*assign_dtdevice)(struct domain *d, const char *dtpath); @@ -524,7 +526,8 @@ static inline int xsm_pci_config_permission( return alternative_call(xsm_ops.pci_config_permission, d, machine_bdf,= start, end, access); } =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS) +#ifdef CONFIG_HAS_PCI static inline int xsm_get_device_group(xsm_default_t def, uint32_t machine= _bdf) { return alternative_call(xsm_ops.get_device_group, machine_bdf); @@ -541,7 +544,8 @@ static inline int xsm_deassign_device( { return alternative_call(xsm_ops.deassign_device, d, machine_bdf); } -#endif /* HAS_PASSTHROUGH && HAS_PCI) */ +#endif /* CONFIG_HAS_PCI */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) static inline int xsm_assign_dtdevice( diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index 9774bb3bdb..0026a0963b 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -80,11 +80,13 @@ static const struct xsm_ops __initconst_cf_clobber dumm= y_ops =3D { .pci_config_permission =3D xsm_pci_config_permission, .get_vnumainfo =3D xsm_get_vnumainfo, =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS) +#ifdef CONFIG_HAS_PCI .get_device_group =3D xsm_get_device_group, .assign_device =3D xsm_assign_device, .deassign_device =3D xsm_deassign_device, -#endif +#endif /* CONFIG_HAS_PCI */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) .assign_dtdevice =3D xsm_assign_dtdevice, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 9b63c516e6..805a9a528e 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1388,7 +1388,8 @@ static int cf_check flask_mem_sharing(struct domain *= d) } #endif =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS) +#ifdef CONFIG_HAS_PCI static int cf_check flask_get_device_group(uint32_t machine_bdf) { uint32_t rsid; @@ -1459,7 +1460,8 @@ static int cf_check flask_deassign_device( =20 return avc_current_has_perm(rsid, SECCLASS_RESOURCE, RESOURCE__REMOVE_= DEVICE, NULL); } -#endif /* HAS_PASSTHROUGH && HAS_PCI */ +#endif /* CONFIG_HAS_PCI */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) static int flask_test_assign_dtdevice(const char *dtpath) @@ -1987,11 +1989,13 @@ static const struct xsm_ops __initconst_cf_clobber = flask_ops =3D { .remove_from_physmap =3D flask_remove_from_physmap, .map_gmfn_foreign =3D flask_map_gmfn_foreign, =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_PCI) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_MGMT_HYPERCALLS) +#ifdef CONFIG_HAS_PCI .get_device_group =3D flask_get_device_group, .assign_device =3D flask_assign_device, .deassign_device =3D flask_deassign_device, -#endif +#endif /* CONFIG_HAS_PCI */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 #if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) .assign_dtdevice =3D flask_assign_dtdevice, --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722910; cv=pass; d=zohomail.com; s=zohoarc; b=CCv5zbE19oCxa3ybvDRg7Sk4VqC+s7SEQibgGfStsshjm8XcBLbATAUGlsCIUh63qjtGiYEmrfqulPU0Z16SKiffANQER6Jy8Rps3H8eBTO3Y6NxcWarlEUl7BD5V3EOzXnIogjqiL+YJ+zurG6sYAXbfGxe8Idz+2sJ93g5PcI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722910; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=qPiKSRzmKmBy67WRs8uqmzP5qkra7BuAXLqSmIOjGg4=; b=M3UZ3EG9JqfT/dljxIQbEpBxR9uoOswmnr9uEr8JPruwOvth8Q57/nnDfo0QWSkcJVngDojrLJQmIPcGJso+bWJvXgqOywQkWOXGeOWfnt4AvTpTQAmpRoJjj1RUYZj4kHYptxyXSrbmfRvt3TGQ7mGvvIzyMw8cSiRQbsQBL1Q= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722909917806.3208157336602; Fri, 21 Nov 2025 03:01:49 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168654.1494666 (Exim 4.92) (envelope-from ) id 1vMOtN-0005rZ-Mt; Fri, 21 Nov 2025 11:01:29 +0000 Received: by outflank-mailman (output) from mailman id 1168654.1494666; Fri, 21 Nov 2025 11:01:29 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtN-0005px-GT; Fri, 21 Nov 2025 11:01:29 +0000 Received: by outflank-mailman (input) for mailman id 1168654; Fri, 21 Nov 2025 11:01:27 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrI-0007TB-IA for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:20 +0000 Received: from CH4PR04CU002.outbound.protection.outlook.com (mail-northcentralusazlp170130007.outbound.protection.outlook.com [2a01:111:f403:c105::7]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 1f0224e5-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:16 +0100 (CET) Received: from CH0PR13CA0015.namprd13.prod.outlook.com (2603:10b6:610:b1::20) by SA3PR12MB9226.namprd12.prod.outlook.com (2603:10b6:806:396::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:10 +0000 Received: from CH3PEPF00000015.namprd21.prod.outlook.com (2603:10b6:610:b1:cafe::a3) by CH0PR13CA0015.outlook.office365.com (2603:10b6:610:b1::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.4 via Frontend Transport; Fri, 21 Nov 2025 10:59:10 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000015.mail.protection.outlook.com (10.167.244.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:10 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:07 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1f0224e5-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=o47vB8NEwJFlr65tBURN74Y+SXnmJUsnvvQBmePHwtuVgbiLEcw08gLgDhbGcAf7t8q0b1Gzob1LmDk6jlAwhkdnegrEmPsppfuVhe5UyFKX0bypGZoWUC4JAjsP9mCadBQhgDuWnPttMKgXkA0+T/Ft9rac663ydk7KhRwAtClWMfMlPb0oh77yS5nhybJMR9mAWptSbFbbL21U4guokbXOUKf4A9z8vio0TPYY7wOhnM+uR/NABJZwEh6omFhRuoOOfDOOxZfJ7xaqnj1PrrgSu9+dZe6k7o5jDX+6xr4uDEU/0ALPNu8tdNl+qBFRYOaFEfQT/E2RlugOaijUJQ== 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=qPiKSRzmKmBy67WRs8uqmzP5qkra7BuAXLqSmIOjGg4=; b=rR/ZkihojgxO+33hjQ4Pr1b469mSQ0lzcuktr/P+SaqPQ75TZQK0logYoM3Ey600JnXRAuIUnk58yOaEzUOue4OhUkNQrYyU3MBbu6p5RBGumv/lYIBU19rBbTi1KTG6wP+p4tt3AKxFwsCJCL33zolw5KE+1IG2bt984IWnDMl12fS2DZGsQ8CDlfXDC9i+Pyc/8Zks+zg/gdGgCWRewK/6ENBeNLbqZMBXXDqnPQN9o3G4WvFAEefC7so/wntUUww0IG0wsjR2lhCPZrNuaKcSF5k4SM1r0XEWVY/eCjeodHA0YDn8dDY6rfO6W5AYMbbSNwpxNdSNSVkXoB5FXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=qPiKSRzmKmBy67WRs8uqmzP5qkra7BuAXLqSmIOjGg4=; b=xINDEfD0VKS+XeUjdNn9W3qzBydl5Iv//NIgUpwgxmX9JXsGb6iwPFuZ2t9stI3eiQTE5gl9fDZ8VzE3qyBAVz9pJJuXFaDU3VtY2XIFKV/8nO3LWG8A4rf2//Hgt9UxwzfDDg5mfL5KdQgK4dmLYpObTdv1xR90+NpcgdKg2fA= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Stefano Stabellini , "Julien Grall" , Bertrand Marquis , "Michal Orzel" , Volodymyr Babchuk , Rahul Singh , "Daniel P. Smith" Subject: [PATCH v4 15/24] xen/domctl: wrap device-tree-subset iommu-related domctl op with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:52 +0800 Message-ID: <20251121105801.1251262-16-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000015:EE_|SA3PR12MB9226:EE_ X-MS-Office365-Filtering-Correlation-Id: efed9477-9661-4776-854d-08de28ecffb4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?iNG9xUTsa0EZffnmrsjxfJhV5pR5iCFYJ5b7PeNx4Av92uZ9dW10Mjc8l9A8?= =?us-ascii?Q?Wektmk4Sa2quNsDG0J7WeZ/bk7JBb2B0vUM2tTpVXJD7R0cW3WgKgoktTdQH?= =?us-ascii?Q?0eB8/f1cPYg1FEvCVKgRcgVRTNPA4GflsFfN6UA2RVEdPUQzPgOWuMZ2FQqE?= =?us-ascii?Q?7EvEuoDEd+fIFtiDxYeLpt0sEP6Bu0xIZMYA2J+skmQj4baQTTjcjydOKRFC?= =?us-ascii?Q?rB9mR5cR40IiOBTiQNLfP4gXvQNbai2G/3pzIXwn5ljRJO6LI89oG89dceLk?= =?us-ascii?Q?vpjvtd6Cr+86sP7EA7ya8dWhzCzi+3FKgV9KWSDUqS/1kzxNq98GZNnPKFoS?= =?us-ascii?Q?sT3hicBwBwdzm3JZY5cXsXqx8OymAvJJnOjBKvQFwIHD09M9ex5NadW7uoaD?= =?us-ascii?Q?tAXjy35ZzMUHkzNFfKi1KvcnVxBp42L0BIzpT/rM3VOGJa4Xpj0+hVxAxgmI?= =?us-ascii?Q?jeRYWgSZAlTb6onoefXzlsIau4Wv+YTVOlRpvm/0pvwDpMI6oMNOAY/xSOiG?= =?us-ascii?Q?5X5dvCAKy1nH8DQGhzgAOWHDsHgt8B517UNdQ4y6Rw1nuWDoF2iThXOcpamj?= =?us-ascii?Q?PugTk6bVhc1Xf6tL5ya8Jw4oEFgDC5j9btbe+laNEewkrRzO82h60FkkPugO?= =?us-ascii?Q?i6Ekh3eh5JtUzcKzZ5reNOMa/tVWHZcR3+e7haL11rd5It7dfuWqOyh0RL3e?= =?us-ascii?Q?MyGv3azGq/MgkM3jurUZbimz9GM2ydEEZSxdbvB5BrV5Gx3YeobgvyTAlgKf?= =?us-ascii?Q?yKoiL78ptzriBGd9jJjfK7tXxxbMCzjs9Cz0nsqVI4qrWXbGlt1uoU3fCsG1?= =?us-ascii?Q?aplfuc3DKEbGbyDVwqqKpjvkSX2BlPgpyOmr4t/4AKwaqGcFeXk6wkhDTKxh?= =?us-ascii?Q?A0drjvteLvUnSPrXt31P6cNM+aC79yv1VXWZXFVenafI3C/HtbAmmRPxR40e?= =?us-ascii?Q?Ocxjjle5gpnG7praeS3aX11J9LZx0ZrExAEA+wmXI8LGw3wDpQ+qihTqzvvB?= =?us-ascii?Q?Hi/cRzBBbxzSMO921UpYsZWt2K15hYhChiyLFjbO4/GXDZQMg3hrSC4jrY/A?= =?us-ascii?Q?9UTcAoj3QkT6zDTBj7ufsrpTmbIbQVepYbZ27beqkyky5dBSCHfENd56GHn1?= =?us-ascii?Q?tFRDJI9z8sHfGdwZt1RbH5YZknmIDCtL7jc0ZXOukPRiHAiZpGdc64qA8P9/?= =?us-ascii?Q?9uJ4g7IDGVsD9AnQz/PUjUrBKvSAlEjLxC5X52NX8nNZbbAPWEUZ1CdfaSDF?= =?us-ascii?Q?36dEbtTcRrJmcQtfnCB08PUqNxM4cfvzKBhOsvKqjbpnHmCyQHkVPUYkDH50?= =?us-ascii?Q?Fbgp0ZtS5wKpz7DNtg7ZB6VRZnyZECC72hWxj3DjsjK6fbz3QODTr5OPC4Zl?= =?us-ascii?Q?V8FzChtcmu54i9utTwO3RfDIs0FuVyINRHcv+gabPC+Yd32CL258Ko2n4lt+?= =?us-ascii?Q?jovccAZh5p3+iXp6Y1tMu1tZW6dzfIFHh24gy9o5VBOmQviQgicMNGrf78d1?= =?us-ascii?Q?QZsW8q7epHFpbDSPHWnlzKdPXzvM0EEMMLQ57W4GCHFiWN4pG3lg9Iq4p0Cr?= =?us-ascii?Q?u+PEDAyTQ5YNDz9PB5g=3D?= 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)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:10.0312 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: efed9477-9661-4776-854d-08de28ecffb4 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: CH3PEPF00000015.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9226 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722913628018900 Content-Type: text/plain; charset="utf-8" Function iommu_do_dt_domctl() is the main entry for all device-tree-subset iommu-related domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Tracking its calling chain, the following functions shall all be wrapped with CONFIG_MGMT_HYPERCALLS: - make PCI_PASSTHROUGH depend on MGMT_HYPERCALLS - iommu_do_dt_domctl - xsm_assign_dtdevice - xsm_deassign_dtdevice - iommu_deassign_dt_device - arm_smmu_reassign_dev - arm_smmu_deassign_dev - arm_smmu_detach_dev - arm_smmu_domain_remove_master - ipmmu_reassign_device - ipmmu_deassign_device - ipmmu_detach_device - iommu_remove_dt_device - iommu_dt_device_is_assigned_locked - dt_find_node_by_gpath Otherwise all the functions will become unreachable when MGMT_HYPERCALLS=3D= n, and hence violating Misra rule 2.1 Move codes closer to avoid scattering #ifdef Signed-off-by: Penny Zheng --- v3 -> v4 - split into PCI related subset and DT subset - Move codes closer to avoid scattering #ifdef --- xen/arch/arm/Kconfig | 2 +- xen/common/device-tree/device-tree.c | 2 + xen/drivers/passthrough/arm/ipmmu-vmsa.c | 26 +++--- xen/drivers/passthrough/arm/smmu-v3.c | 4 + xen/drivers/passthrough/arm/smmu.c | 55 ++++++------ xen/drivers/passthrough/device_tree.c | 108 ++++++++++++----------- xen/include/xsm/dummy.h | 6 +- xen/include/xsm/xsm.h | 12 +-- xen/xsm/dummy.c | 6 +- xen/xsm/flask/hooks.c | 12 +-- 10 files changed, 126 insertions(+), 107 deletions(-) diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index cf6af68299..5a5d7810c8 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -270,7 +270,7 @@ source "arch/arm/firmware/Kconfig" =20 config PCI_PASSTHROUGH bool "PCI passthrough" if EXPERT - depends on ARM_64 && HAS_PASSTHROUGH + depends on ARM_64 && HAS_PASSTHROUGH && MGMT_HYPERCALLS help This option enables PCI device passthrough =20 diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/= device-tree.c index 0b5375f151..70bd8e7da5 100644 --- a/xen/common/device-tree/device-tree.c +++ b/xen/common/device-tree/device-tree.c @@ -371,6 +371,7 @@ struct dt_device_node *dt_find_node_by_path_from(struct= dt_device_node *from, return np; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int dt_find_node_by_gpath(XEN_GUEST_HANDLE(char) u_path, uint32_t u_plen, struct dt_device_node **node) { @@ -386,6 +387,7 @@ int dt_find_node_by_gpath(XEN_GUEST_HANDLE(char) u_path= , uint32_t u_plen, =20 return (*node =3D=3D NULL) ? -ESRCH : 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 struct dt_device_node *dt_find_node_by_alias(const char *alias) { diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthr= ough/arm/ipmmu-vmsa.c index ea9fa9ddf3..b1fc14bc32 100644 --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c @@ -739,16 +739,6 @@ static int ipmmu_attach_device(struct ipmmu_vmsa_domai= n *domain, return 0; } =20 -static void ipmmu_detach_device(struct ipmmu_vmsa_domain *domain, - struct device *dev) -{ - struct iommu_fwspec *fwspec =3D dev_iommu_fwspec_get(dev); - unsigned int i; - - for ( i =3D 0; i < fwspec->num_ids; ++i ) - ipmmu_utlb_disable(domain, fwspec->ids[i]); -} - static int ipmmu_init_platform_device(struct device *dev, const struct dt_phandle_args *args) { @@ -1138,7 +1128,9 @@ static void ipmmu_free_root_domain(struct ipmmu_vmsa_= domain *domain) xfree(domain); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int ipmmu_deassign_device(struct domain *d, struct device *dev); +#endif =20 static int ipmmu_assign_device(struct domain *d, u8 devfn, struct device *= dev, uint32_t flag) @@ -1254,6 +1246,17 @@ out: return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS +static void ipmmu_detach_device(struct ipmmu_vmsa_domain *domain, + struct device *dev) +{ + struct iommu_fwspec *fwspec =3D dev_iommu_fwspec_get(dev); + unsigned int i; + + for ( i =3D 0; i < fwspec->num_ids; ++i ) + ipmmu_utlb_disable(domain, fwspec->ids[i]); +} + static int ipmmu_deassign_device(struct domain *d, struct device *dev) { struct ipmmu_vmsa_xen_domain *xen_domain =3D dom_iommu(d)->arch.priv; @@ -1309,6 +1312,7 @@ static int ipmmu_reassign_device(struct domain *s, st= ruct domain *t, =20 return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int ipmmu_dt_xlate(struct device *dev, const struct dt_phandle_args *spec) @@ -1487,7 +1491,9 @@ static const struct iommu_ops ipmmu_iommu_ops =3D .teardown =3D ipmmu_iommu_domain_teardown, .iotlb_flush =3D ipmmu_iotlb_flush, .assign_device =3D ipmmu_assign_device, +#ifdef CONFIG_MGMT_HYPERCALLS .reassign_device =3D ipmmu_reassign_device, +#endif .map_page =3D arm_iommu_map_page, .unmap_page =3D arm_iommu_unmap_page, .dt_xlate =3D ipmmu_dt_xlate, diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthroug= h/arm/smmu-v3.c index bf153227db..22def57b03 100644 --- a/xen/drivers/passthrough/arm/smmu-v3.c +++ b/xen/drivers/passthrough/arm/smmu-v3.c @@ -2759,6 +2759,7 @@ out: return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn, struct d= evice *dev) { struct iommu_domain *io_domain =3D arm_smmu_get_domain(d, dev); @@ -2826,6 +2827,7 @@ static int arm_smmu_reassign_dev(struct domain *s, st= ruct domain *t, =20 return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int arm_smmu_iommu_xen_domain_init(struct domain *d) { @@ -2862,7 +2864,9 @@ static const struct iommu_ops arm_smmu_iommu_ops =3D { .teardown =3D arm_smmu_iommu_xen_domain_teardown, .iotlb_flush =3D arm_smmu_iotlb_flush, .assign_device =3D arm_smmu_assign_dev, +#ifdef CONFIG_MGMT_HYPERCALLS .reassign_device =3D arm_smmu_reassign_dev, +#endif .map_page =3D arm_iommu_map_page, .unmap_page =3D arm_iommu_unmap_page, .dt_xlate =3D arm_smmu_dt_xlate, diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/a= rm/smmu.c index 22d306d0cb..a75ec08633 100644 --- a/xen/drivers/passthrough/arm/smmu.c +++ b/xen/drivers/passthrough/arm/smmu.c @@ -894,8 +894,10 @@ static int register_smmu_master(struct arm_smmu_device= *smmu, /* Forward declaration */ static int arm_smmu_assign_dev(struct domain *d, u8 devfn, struct device *dev, u32 flag); +#ifdef CONFIG_MGMT_HYPERCALLS static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn, struct device *dev); +#endif =20 /* * The driver which supports generic IOMMU DT bindings must have this @@ -1699,21 +1701,6 @@ static int arm_smmu_domain_add_master(struct arm_smm= u_domain *smmu_domain, return 0; } =20 -static void arm_smmu_domain_remove_master( - const struct arm_smmu_domain *smmu_domain, - struct arm_smmu_master_cfg *cfg) -{ - uint32_t i, idx; - struct arm_smmu_device *smmu =3D smmu_domain->smmu; - struct arm_smmu_s2cr *s2cr =3D smmu->s2crs; - const struct iommu_fwspec *fwspec =3D arm_smmu_get_fwspec(cfg); - - for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) { - s2cr[idx] =3D s2cr_init_val; - arm_smmu_write_s2cr(smmu, idx); - } -} - static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device = *dev) { int ret; @@ -1761,16 +1748,6 @@ static int arm_smmu_attach_dev(struct iommu_domain *= domain, struct device *dev) return arm_smmu_domain_add_master(smmu_domain, cfg); } =20 -static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device= *dev) -{ - struct arm_smmu_domain *smmu_domain =3D domain->priv; - struct arm_smmu_master_cfg *cfg =3D find_smmu_master_cfg(dev); - - if (cfg) - arm_smmu_domain_remove_master(smmu_domain, cfg); - -} - #if 0 /* * Xen: The page table is shared with the processor, therefore * helpers to implement separate is not necessary. @@ -2849,6 +2826,31 @@ out: return ret; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS +static void arm_smmu_domain_remove_master( + const struct arm_smmu_domain *smmu_domain, + struct arm_smmu_master_cfg *cfg) +{ + uint32_t i, idx; + struct arm_smmu_device *smmu =3D smmu_domain->smmu; + struct arm_smmu_s2cr *s2cr =3D smmu->s2crs; + const struct iommu_fwspec *fwspec =3D arm_smmu_get_fwspec(cfg); + + for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) { + s2cr[idx] =3D s2cr_init_val; + arm_smmu_write_s2cr(smmu, idx); + } +} + +static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device= *dev) +{ + struct arm_smmu_domain *smmu_domain =3D domain->priv; + struct arm_smmu_master_cfg *cfg =3D find_smmu_master_cfg(dev); + + if (cfg) + arm_smmu_domain_remove_master(smmu_domain, cfg); + +} static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn, struct device *dev) { @@ -2918,6 +2920,7 @@ static int arm_smmu_reassign_dev(struct domain *s, st= ruct domain *t, =20 return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static int arm_smmu_iommu_domain_init(struct domain *d) { @@ -2956,7 +2959,9 @@ static const struct iommu_ops arm_smmu_iommu_ops =3D { .teardown =3D arm_smmu_iommu_domain_teardown, .iotlb_flush =3D arm_smmu_iotlb_flush, .assign_device =3D arm_smmu_assign_dev, +#ifdef CONFIG_MGMT_HYPERCALLS .reassign_device =3D arm_smmu_reassign_dev, +#endif .map_page =3D arm_iommu_map_page, .unmap_page =3D arm_iommu_unmap_page, .dt_xlate =3D arm_smmu_dt_xlate_generic, diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthroug= h/device_tree.c index 015ffa15d4..72c38355eb 100644 --- a/xen/drivers/passthrough/device_tree.c +++ b/xen/drivers/passthrough/device_tree.c @@ -59,6 +59,14 @@ fail: return rc; } =20 +int iommu_dt_domain_init(struct domain *d) +{ + INIT_LIST_HEAD(&dom_iommu(d)->dt_devices); + + return 0; +} + +#ifdef CONFIG_MGMT_HYPERCALLS int iommu_deassign_dt_device(struct domain *d, struct dt_device_node *dev) { const struct domain_iommu *hd =3D dom_iommu(d); @@ -101,14 +109,6 @@ static bool iommu_dt_device_is_assigned_locked(const s= truct dt_device_node *dev) return assigned; } =20 -int iommu_dt_domain_init(struct domain *d) -{ - INIT_LIST_HEAD(&dom_iommu(d)->dt_devices); - - return 0; -} - -#ifdef CONFIG_MGMT_HYPERCALLS int iommu_release_dt_devices(struct domain *d) { const struct domain_iommu *hd =3D dom_iommu(d); @@ -212,51 +212,6 @@ int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev) } #endif /* CONFIG_HAS_PCI */ =20 -int iommu_remove_dt_device(struct dt_device_node *np) -{ - const struct iommu_ops *ops =3D iommu_get_ops(); - struct device *dev =3D dt_to_dev(np); - int rc; - - ASSERT(rw_is_locked(&dt_host_lock)); - - if ( !iommu_enabled ) - return 1; - - if ( !ops ) - return -EOPNOTSUPP; - - spin_lock(&dtdevs_lock); - - if ( iommu_dt_device_is_assigned_locked(np) ) - { - rc =3D -EBUSY; - goto fail; - } - - if ( !ops->remove_device ) - { - rc =3D -EOPNOTSUPP; - goto fail; - } - - /* - * De-register the device from the IOMMU driver. - * The driver is responsible for removing is_protected flag. - */ - rc =3D ops->remove_device(0, dev); - - if ( !rc ) - { - ASSERT(!dt_device_is_protected(np)); - iommu_fwspec_free(dev); - } - - fail: - spin_unlock(&dtdevs_lock); - return rc; -} - int iommu_add_dt_device(struct dt_device_node *np) { const struct iommu_ops *ops =3D iommu_get_ops(); @@ -320,6 +275,52 @@ int iommu_add_dt_device(struct dt_device_node *np) return rc; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS +int iommu_remove_dt_device(struct dt_device_node *np) +{ + const struct iommu_ops *ops =3D iommu_get_ops(); + struct device *dev =3D dt_to_dev(np); + int rc; + + ASSERT(rw_is_locked(&dt_host_lock)); + + if ( !iommu_enabled ) + return 1; + + if ( !ops ) + return -EOPNOTSUPP; + + spin_lock(&dtdevs_lock); + + if ( iommu_dt_device_is_assigned_locked(np) ) + { + rc =3D -EBUSY; + goto fail; + } + + if ( !ops->remove_device ) + { + rc =3D -EOPNOTSUPP; + goto fail; + } + + /* + * De-register the device from the IOMMU driver. + * The driver is responsible for removing is_protected flag. + */ + rc =3D ops->remove_device(0, dev); + + if ( !rc ) + { + ASSERT(!dt_device_is_protected(np)); + iommu_fwspec_free(dev); + } + + fail: + spin_unlock(&dtdevs_lock); + return rc; +} + int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d, XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl) { @@ -431,3 +432,4 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struc= t domain *d, =20 return ret; } +#endif /* CONFIG_MGMT_HYPERCALLS */ diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h index 83972d36b7..fba0de9d4b 100644 --- a/xen/include/xsm/dummy.h +++ b/xen/include/xsm/dummy.h @@ -431,9 +431,8 @@ static XSM_INLINE int cf_check xsm_deassign_device( } =20 #endif /* CONFIG_HAS_PCI */ -#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY static XSM_INLINE int cf_check xsm_assign_dtdevice( XSM_DEFAULT_ARG struct domain *d, const char *dtpath) { @@ -448,7 +447,8 @@ static XSM_INLINE int cf_check xsm_deassign_dtdevice( return xsm_default_action(action, current->domain, d); } =20 -#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */ +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 static XSM_INLINE int cf_check xsm_resource_plug_core(XSM_DEFAULT_VOID) { diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index f2e92645ef..3bef1ec8ad 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -129,12 +129,12 @@ struct xsm_ops { int (*assign_device)(struct domain *d, uint32_t machine_bdf); int (*deassign_device)(struct domain *d, uint32_t machine_bdf); #endif /* CONFIG_HAS_PCI */ -#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY int (*assign_dtdevice)(struct domain *d, const char *dtpath); int (*deassign_dtdevice)(struct domain *d, const char *dtpath); -#endif +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 int (*resource_plug_core)(void); int (*resource_unplug_core)(void); @@ -545,9 +545,8 @@ static inline int xsm_deassign_device( return alternative_call(xsm_ops.deassign_device, d, machine_bdf); } #endif /* CONFIG_HAS_PCI */ -#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY static inline int xsm_assign_dtdevice( xsm_default_t def, struct domain *d, const char *dtpath) { @@ -560,7 +559,8 @@ static inline int xsm_deassign_dtdevice( return alternative_call(xsm_ops.deassign_dtdevice, d, dtpath); } =20 -#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */ +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 static inline int xsm_resource_plug_pci(xsm_default_t def, uint32_t machin= e_bdf) { diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c index 0026a0963b..f624e90992 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -86,12 +86,12 @@ static const struct xsm_ops __initconst_cf_clobber dumm= y_ops =3D { .assign_device =3D xsm_assign_device, .deassign_device =3D xsm_deassign_device, #endif /* CONFIG_HAS_PCI */ -#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY .assign_dtdevice =3D xsm_assign_dtdevice, .deassign_dtdevice =3D xsm_deassign_dtdevice, -#endif +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 .resource_plug_core =3D xsm_resource_plug_core, .resource_unplug_core =3D xsm_resource_unplug_core, diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 805a9a528e..4e67bc214a 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1461,9 +1461,8 @@ static int cf_check flask_deassign_device( return avc_current_has_perm(rsid, SECCLASS_RESOURCE, RESOURCE__REMOVE_= DEVICE, NULL); } #endif /* CONFIG_HAS_PCI */ -#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY static int flask_test_assign_dtdevice(const char *dtpath) { uint32_t rsid; @@ -1524,7 +1523,8 @@ static int cf_check flask_deassign_dtdevice( return avc_current_has_perm(rsid, SECCLASS_RESOURCE, RESOURCE__REMOVE_= DEVICE, NULL); } -#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */ +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 static int cf_check flask_platform_op(uint32_t op) { @@ -1995,12 +1995,12 @@ static const struct xsm_ops __initconst_cf_clobber = flask_ops =3D { .assign_device =3D flask_assign_device, .deassign_device =3D flask_deassign_device, #endif /* CONFIG_HAS_PCI */ -#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#ifdef CONFIG_HAS_DEVICE_TREE_DISCOVERY .assign_dtdevice =3D flask_assign_dtdevice, .deassign_dtdevice =3D flask_deassign_dtdevice, -#endif +#endif /* CONFIG_HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && MGMT_HYPERCALLS */ =20 .platform_op =3D flask_platform_op, #ifdef CONFIG_X86 --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722914; cv=pass; d=zohomail.com; s=zohoarc; b=IJUA+QbJvYR59Z9N064zjYwst///Uj9vo5hlgV/gaPDQSoFlqMDV/9va5+eAbICs02zCr2lzeJm/y08v6JKYAlv19U2aG177waNFLXcSPn96VVSFIYP9lDpV7UyJbOKcQjmW3gtGbFBlGN+gCa6VrglZS6ZQAC54Ne8LfFXCwVc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722914; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xNMzRlErBQ12Vn+6GkVpQ076LkBKAM8h0jxV4hHbrGg=; b=XEOaUw92isrDf/J4lk3UZC5t5+KyFdXZtQiQV6A0xvif3Y/yx1/XESEaupopLVDpbLMwP9pbUST/2PM+Os7Mn+5mexpNqlgGq7yynY+eVuuAvOttRF866Pu/i2GINTo8wrcDrdOiNzK6/aeLhg92SDHB1wGshvXYh23HQDUVqOA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722914570533.3323777526817; Fri, 21 Nov 2025 03:01:54 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168662.1494692 (Exim 4.92) (envelope-from ) id 1vMOtQ-0006UC-1E; Fri, 21 Nov 2025 11:01:32 +0000 Received: by outflank-mailman (output) from mailman id 1168662.1494692; Fri, 21 Nov 2025 11:01:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtP-0006R9-Nu; Fri, 21 Nov 2025 11:01:31 +0000 Received: by outflank-mailman (input) for mailman id 1168662; Fri, 21 Nov 2025 11:01:29 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrK-0007TB-IU for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:22 +0000 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazlp17011000f.outbound.protection.outlook.com [2a01:111:f403:c100::f]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 1f082ff8-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:17 +0100 (CET) Received: from CH0PR03CA0016.namprd03.prod.outlook.com (2603:10b6:610:b0::21) by SA3PR12MB9159.namprd12.prod.outlook.com (2603:10b6:806:3a0::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:12 +0000 Received: from CH3PEPF00000012.namprd21.prod.outlook.com (2603:10b6:610:b0:cafe::51) by CH0PR03CA0016.outlook.office365.com (2603:10b6:610:b0::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:59:10 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000012.mail.protection.outlook.com (10.167.244.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:11 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:10 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 1f082ff8-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mP6UxM53kXBQFRzYC4irbUBA1QpxR5acj3Xd9sD6qYmem7bw47e0ntI9VhnrcIHZQ8gUp5Mv5RAbs607F1pmqvU4P8kwIXGJ4UwZ+ypKJXY7VMLge51ffUrdBrCPaOswCYpEc4b6nYbp+9ZNwHH7s0+too+aAoY/6ehypzVTc9uiY18oqMSVFfFAOYBgN+6GAbTxNm5G8DXSxGsKdbtPzRMUernmcavTVyp19C6ncSoSG8/JvHrzgIISdxfODtOOjSNI+Ix9w8fmbeivpM9ji7QtXVnRLrm/rUFmdZNacz3ue/2NzlKHY0sw5MDp18MfCc3Mpop8xALn6a6kBOT/CQ== 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=xNMzRlErBQ12Vn+6GkVpQ076LkBKAM8h0jxV4hHbrGg=; b=gR5A+EXMxJpzoue0zSwlvhDOqHwNXAX6ekPEs8f76K+fwSC6pM/W7KSOEVbonVI40HwkiOQGcOudG3Z6XLsUxKiCGBoEeJJck388hMlkIOmW80TRuzgYcbumT6SDpJ4Xo/BvFfh6YikknqeL53+NQNOgpD43XWFSFRPoKAFgxwJEw309mzpcxaEMhMxPLmu1UzlnKWS+wHBPOVg7DjApkFc+fOSocTEHqJmHkD9iWO6uapBbgX1RKOlWfQ0wBnZWaxLLbHbwy3pCP2nYYXaIv5QRcZK6xM1zX/hkO1O0Yt1Q+V+9XWm6FtfMEUJoesVvN0RBpGcIAQReoiHVZT1Mjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=xNMzRlErBQ12Vn+6GkVpQ076LkBKAM8h0jxV4hHbrGg=; b=S+OcfJN+8JcIN0yBmlRamMtPDjEkjaryu+ouz8jY1/xU4EOFKICXjYEXk6GmeBOeiD5+sa18+g2vqT2BQXdpo4M4WiHjYKTzsgGrCEvsXEfpeNty1mNBB6aOioeKDYsiXtcO+Fko3fVkeSfWFsUL792vpHrvqaHY7Zfy+98jHA0= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v4 16/24] xen/domctl: wrap iommu-related domctl op with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:53 +0800 Message-ID: <20251121105801.1251262-17-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000012:EE_|SA3PR12MB9159:EE_ X-MS-Office365-Filtering-Correlation-Id: adc24ce5-6a61-4833-cb75-08de28ed00e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tEwCc5uFCZdnqENDScLlK7Ub9mqOlZszBiePqtHyf4qt22Blr1c3Qr9iMsDV?= =?us-ascii?Q?NNOHVllZifLKnC/+FdSHlHAQfeonatxopbIr+eXKaTRB5O8WSPGmISxHJNEX?= =?us-ascii?Q?HyILqsjvFC1ZzAylTBDsHkfnhY+rEtj7EIDKwZgUaDfxPEonX6Q7dPZNqtkp?= =?us-ascii?Q?eJTPcoag4WO0mfcsYKXO7EW65w0g2kYcz46ooGJ1XTw9bya0xsA2XrmicSpN?= =?us-ascii?Q?ziLyYHKjcR8K3wOn8pS6/dxbRF3Tl/h1dmjOvV39TUUYr07DLQsMVo8n2p82?= =?us-ascii?Q?2N+V7h/F9+etB1m0LvI4c2/TLin6DNJXfsJjO23zF03H+6DY1j2qggG/qt2K?= =?us-ascii?Q?WLJsON3HNkfpS/N2qjT2Z6gkvmhbi2b+sQWRq5WdsnULdpVHqfYXSwDe8hme?= =?us-ascii?Q?35siiomI7lRgY2aYK9l/HfiEpyq6HOil+N87HOZZbStyzmdjc0/7IwEF0Y3z?= =?us-ascii?Q?1Hfd8agWcFEOR6r8A7rzYojOYkpujdGe3f0o+K80Rb1/iV3Mjw8CeiihXJfV?= =?us-ascii?Q?Vve2osvjcw8DHT/cZDoUcxoBDMMVn2jkrzbj0FG4ringLOI/xSH7E1lsYyy7?= =?us-ascii?Q?ElJzNIrnlRO/RPjH3N/3TjeuWhANFbBRqc05s7YtvnGXOHcaw/Lc131B5otb?= =?us-ascii?Q?YYhwYhpbKfcub53eNMEQAcTPRHJdCOn6oICDd98InBUTPhQHBzX3aTUwRtLj?= =?us-ascii?Q?cnmj5oN7CiP/TBx9ng/O6XV//XiphpnVZTlCGIqpR/kVJO+vrEBsFWqh5Kbk?= =?us-ascii?Q?LUeeuqy8kX23mtwco30OD3AV9ru1o54r991EL/GKHBTxSCWWYHfLfJSMStkt?= =?us-ascii?Q?8BOjxwd4fKcq7MkQiQeLIQH2lfuK94zPzZcbnh4L4xEHw79eu8Lk3zkfNrXW?= =?us-ascii?Q?/iMc3KH4J8tr+TXVKtAT7EP4OjOub4AfnhFSGp+EZds89yirBmM39JttM2Tj?= =?us-ascii?Q?qrkhaueUvKKvSiN5IeJe9eEcTvM32wg5h6MItPERCODCX7UnWRGYpy8PKL2D?= =?us-ascii?Q?fYAqjC3ol7JyPbtKr9Q2rfLCZlhHdj0V3756ZJUkGv9/uA0tDd94m7+cPal1?= =?us-ascii?Q?D5Tlax+TP61BdCvXkepYDI5YUAsYAiFH/KHQFktvpv7EsGFnl8lEVpcz32cj?= =?us-ascii?Q?NiPelogXC+MiloaNGzLEkwFnb8Cn0zp2OZ/d6gUgilquwmaYZlPON4Q0KbZg?= =?us-ascii?Q?509DbFogZy06vDTY73ztvBL/y6CCCH/r/Z1nrfk7Bp27+EOZrJDYVU3suRxO?= =?us-ascii?Q?99TO9p+aqZextUTr3YfMpNrA4SHwSk7ayir/2qIpAvC/jwRX47NFJD/A4xhI?= =?us-ascii?Q?BWSVYw5T7oHBeJLZiA+s9/UOpdATyI2C8FIi3Wv/FO9zeOfBeQIJxV22Bj6m?= =?us-ascii?Q?22A+tjjpwrTGh7gObL9BUOATZxlaQRC625GfYDajeF00bd56m2500+KVPE/D?= =?us-ascii?Q?EBWKnTaY9BB766i+7Z3gR2acR4eS+W14mbkjeScdJUgsx9TgqMhm35+/U3im?= =?us-ascii?Q?bpRuqxC3e/2pSh9OKdlWe5L3cNUVqb9CjAT8FWVDbi/2kPCjFQCAH6X3ivAE?= =?us-ascii?Q?uhlM0SUkxtbrfX/I4qI=3D?= 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)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:11.9970 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: adc24ce5-6a61-4833-cb75-08de28ed00e0 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: CH3PEPF00000012.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9159 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722917616018900 Content-Type: text/plain; charset="utf-8" Function iommu_do_domctl() is the main entry for all iommu-related domctl-o= p, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule 2.1 Signed-off-by: Penny Zheng --- v3 -> v4: - new commit --- Commit "xen/domctl: wrap pci-subset iommu-related domctl op with CONFIG_MGMT_HYPERCALLS" and "xen/domctl: wrap device-tree-subset iommu-rela= ted domctl op with CONFIG_MGMT_HYPERCALLS" are the prereq commit. --- xen/drivers/passthrough/iommu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iomm= u.c index c9425d6971..8812e38174 100644 --- a/xen/drivers/passthrough/iommu.c +++ b/xen/drivers/passthrough/iommu.c @@ -625,6 +625,7 @@ void iommu_resume(void) iommu_vcall(iommu_get_ops(), resume); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int iommu_do_domctl( struct xen_domctl *domctl, struct domain *d, XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl) @@ -645,6 +646,7 @@ int iommu_do_domctl( =20 return ret; } +#endif /* CONFIG_MGMT_HYPERCALLS */1 =20 void iommu_crash_shutdown(void) { --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722929; cv=pass; d=zohomail.com; s=zohoarc; b=SrXB/yhyX/Cm3KRu0gly4MxmFwdHqHdKPYoAHwnJW7fc5Zk+Z3zsSyUCBfAu7tJxakYn4Xbx00PfAeQ2cWVcf9YIq2gp0tdxRDtME+B30oHTtVDOvUBvXZFiUhGPgscSVmQH5470L64a2ytfdegHTey9r5knQkqLJS9/A3cOLkU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722929; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KWivIiaybYPw5jJB/DQbmVNl+SgpVQga3F7RYOvVWbg=; b=PgzyvxhDJSg0xOgsh5sI4yahH6N5IJB56FSoRmwC5TUTG5ptu2+Tx57GOEmznO+NuHHX5zzdaKqh2xtq9slL+okYTBZOEmL9FvzRC9CLT5MwJvWFTxkEuqZCE5WT4fKGIsyA9tXizNllRKWbEJrLwIfBeu1hqofAcSd1Efi02z4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722926393177.02137690859206; Fri, 21 Nov 2025 03:02:06 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168684.1494727 (Exim 4.92) (envelope-from ) id 1vMOtX-0008A6-V6; Fri, 21 Nov 2025 11:01:39 +0000 Received: by outflank-mailman (output) from mailman id 1168684.1494727; Fri, 21 Nov 2025 11:01:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtX-00088u-O2; Fri, 21 Nov 2025 11:01:39 +0000 Received: by outflank-mailman (input) for mailman id 1168684; Fri, 21 Nov 2025 11:01:38 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrR-0007TB-Jh for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:29 +0000 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazlp170130007.outbound.protection.outlook.com [2a01:111:f403:c112::7]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 22727fbd-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:22 +0100 (CET) Received: from CH0PR03CA0382.namprd03.prod.outlook.com (2603:10b6:610:119::35) by DS0PR12MB6487.namprd12.prod.outlook.com (2603:10b6:8:c4::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:15 +0000 Received: from CH3PEPF00000016.namprd21.prod.outlook.com (2603:10b6:610:119:cafe::a9) by CH0PR03CA0382.outlook.office365.com (2603:10b6:610:119::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.14 via Frontend Transport; Fri, 21 Nov 2025 10:58:53 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000016.mail.protection.outlook.com (10.167.244.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:15 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:12 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 22727fbd-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QiR7UdL87DpLLqjDIlj0eYeyBk4wbzXPqGAnRxMeWehqEzWcilEX5rQKEJyyYCa9qGh/HGhrJ+E203f1+tXRAAkBVuuvaiHO89179Qd2VrWSJFeHAuhlrZmzgnU3ygtFyR7MydDTX6vExyew4g5ukdaahZ3VqTCSQf2h93aTaokTOmcS6a6cNq7S6GfRXZrADwtZp9q6J1AzG5aqu2AfxiRjRvkpRZaQEckqdT8qOelvHp2caSyiRHJyjwZ6Sw6tLH/WMrhrKLtHSM0l358AMd9W4OeyS/7prAOUL8QJVYv3FJHm9SEr3ydSUm7VezEyO/uOLjWQMh2Tj83cv6WdWw== 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=KWivIiaybYPw5jJB/DQbmVNl+SgpVQga3F7RYOvVWbg=; b=sb9G+O9V90no3sYy/cmOTHbRJjmD75kcT3A5UEFPCCE7CeUe6x0Xarb8jeMLleo4ONmtwA5pPYZ6vg9MnTns/kz0zVZfbjTbA4zxxzCGJHvHaIcHHJjPckkgWP9ZSb1kxL5Rh8abGTTWbb90zPX4JYXb2CviLIxh+DfSCN73LmogJmelwv4ZsWh+Rs63oVuRzymi/jJWFSPey/9DtBt27tWqx+aDvx7vwkBoJozEU9pZ0zWSAmoAgMGwwvD4j7G0fJts+zxsbgImc7h6rbUAZL2es44fWHlZP6KgPDVAk3yTr0h2BetTR5xo1EuuJ4LeuK/R3jmbrVIE3aNorrsWJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=KWivIiaybYPw5jJB/DQbmVNl+SgpVQga3F7RYOvVWbg=; b=M80YngrVB4ImGTAok0mmHXaBgyIAdIwZcZ8HBDOdGXUxz8xgby5z7Zb6+QkjVZvc2wSmC/jbE3fgDhd0ic45wP34dSdz/5zeDopWk6K3sXkxEyIyjzTo5q0PnZGhDb7sqShSqCwTXIEcdL/qTaoBNP7ccqMoODNlo27G9S481Kc= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Stefano Stabellini , "Julien Grall" , Bertrand Marquis , "Michal Orzel" , Volodymyr Babchuk , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v4 17/24] xen/domctl: wrap arch_{get,set}_paging_mempool_size() with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:54 +0800 Message-ID: <20251121105801.1251262-18-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000016:EE_|DS0PR12MB6487:EE_ X-MS-Office365-Filtering-Correlation-Id: bd779b61-3f18-4f62-5b27-08de28ed02ad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Zao6KP4KfrJiFlJupVkHjspoYYLYKsvzMspS9MiqBrY+pKgd3nmNSzQptvif?= =?us-ascii?Q?D4YiEgSS2qefu8vdvTiA/dXf0TuIvAgD2iJdVkQ/1dAlSXoLgVqx/6IB5UpW?= =?us-ascii?Q?M9DDTbssbFK6xEh8UPdunsr0B9Ol4NwgP1sOs/XNNhYnV8Mp7g7cpyIkhbQy?= =?us-ascii?Q?Sz9s9u+xo/mKlbcpEfzgCf3tzIgCpRY9VJ+F3siVLPggep2sSApcpP/UR/bP?= =?us-ascii?Q?K9fJnA4dj3uVhrjfi2+x8mtugcfbpOGxQqWaGBT17CaiBLacse4IGWIC8Efa?= =?us-ascii?Q?qHgJvQJi60kVOkEVAer+ZZ/ukD5GDyOM3w2XvvehNtmX0LI8mjeBuGqSDDBu?= =?us-ascii?Q?vfAke2ea++3mL6A0LsTKkm9N0TeBMf4X+zw0AmwhDU04p5rFgHUTPOX4cywC?= =?us-ascii?Q?Ycx+Uyh3SNCuLrulTX0hHmQoZZkJrR3vpuNdb7JQ8gf2EpZRXUs1KJnrnq6l?= =?us-ascii?Q?sni8h2WuehcduljNzZDe5FOhR2xcMjKv0IXKPbL2WTeLdCGZUViFooRT/9m6?= =?us-ascii?Q?kW7C+hIaipHo8+8Gc/u+DRmPHOtQO9dUxyc52JtzqwiyCje88wQI7zV2bjFG?= =?us-ascii?Q?OuJKQw2HffDjhiFjYba5IRTyU+tvlN+Ror1Tux/RfNIAc+qSpdJqRUyFurCA?= =?us-ascii?Q?4+CLs5HhAI4MLlUrQaECxS/UQtcDI8XUAGgNuEBMtAC6Xz+RSlbBkqDjWwuI?= =?us-ascii?Q?8ptTb94Ne8J2CLR3rm3Oydfeub46Pb2m1nhP+ou52YJUEo/iu9qGZefWEbhA?= =?us-ascii?Q?dG8rfhQBbfu9UFsolfSFymyoMaWBw8fr51RP6pYjyIADf7X51O/yEnTNJwHT?= =?us-ascii?Q?84bx4AkDi9sEW69JM6M2IYLxSA2wS1h3jeM00Jgcy5S61LSvu+RMIowJ/MCE?= =?us-ascii?Q?zTuqotUp3PSeKqn08c5Kw2ots3S8yfxHYBGcwpUD8aZWuo7Zpg/Zf4K1kwcU?= =?us-ascii?Q?PYapL5Rsg5P1tNOKNmUIydVhMOUd/qmCJbUXGy4eaRgiemsdiv+pTKeKDcCz?= =?us-ascii?Q?fW94my4PJgaIkiu9H0zSlJ+PFGZYBZadxI4tD3EAI7I99pLi0GUQXIugM8iV?= =?us-ascii?Q?KsPclzpgh7N6I5DZq5JHABvDpm6Wqed8AJU0+CMoK2Shj/8xPiKO8VT/+/vd?= =?us-ascii?Q?oQROQEzMJ/Xv9aVoLSFQl8M7aaEzhKsZOly2gx84/u1d8uhqtFgd2jp9dJm2?= =?us-ascii?Q?W1z6Y6g7FE6X015bMK00ccNJcYYW73M+kiCwn/UQteOnHLeuk4zMlBBb6ZiK?= =?us-ascii?Q?JxrXpOzVeG79V499NqKlg94+MgXMZx4bjGr3Ap+PmamfL8uwmzsJ5vCXskQq?= =?us-ascii?Q?zuvB+fAnlTkezVvadmLK0vi/ysVSgeWcIt+KoWSazjBKEDy113yDxRXWRMNW?= =?us-ascii?Q?05tBD7A0dpRNlEem6rbqfO++yQXAYz1TyOA47FvQXzxiXW9sGpzn6V5jDGBz?= =?us-ascii?Q?WfRmP+nnSv2CeFLj9aNmsHC0LRc6ejB87kPVG78dFnEnws4WSOMr+u7qiMXv?= =?us-ascii?Q?HdwkMijfGNsGi+hs9lexCtxApCbHQQEL2dVS+Wa1bYwC1n+W+70jv+ebVyWb?= =?us-ascii?Q?cWM8rx+o9uvpBZPnbwc=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:15.0156 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bd779b61-3f18-4f62-5b27-08de28ed02ad 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: CH3PEPF00000016.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6487 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722931757018900 Content-Type: text/plain; charset="utf-8" Arch-specific arch_{get,set}_paging_mempool_size() is responsible for XEN_DOMCTL_{get,set}_paging_mempool_size domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS. Otherwise it will become unreachable codes when MGMT_HYPERCALLS=3Dn, and hence violating Misra 2.1. Signed-off-by: Penny Zheng Acked-by: Jan Beulich # x86 Reviewed-by: Stefano Stabellini --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap XEN_DOMCTL_{get,set}_paging_mempool_size-case transiently --- v2 -> v3 - address "violating Misra rule 2.1" in commit message - remove transient wrapping around XEN_DOMCTL_{get,set}_paging_mempool_size= -case --- xen/arch/arm/mmu/p2m.c | 4 ++++ xen/arch/x86/mm/paging.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c index 30d6071e91..4caa5844e4 100644 --- a/xen/arch/arm/mmu/p2m.c +++ b/xen/arch/arm/mmu/p2m.c @@ -58,12 +58,14 @@ static void p2m_free_page(struct domain *d, struct page= _info *pg) } } =20 +#ifdef CONFIG_MGMT_HYPERCALLS /* Return the size of the pool, in bytes. */ int arch_get_paging_mempool_size(struct domain *d, uint64_t *size) { *size =3D (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAG= E_SHIFT; return 0; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Set the pool of pages to the required number of pages. @@ -122,6 +124,7 @@ int p2m_set_allocation(struct domain *d, unsigned long = pages, bool *preempted) return 0; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int arch_set_paging_mempool_size(struct domain *d, uint64_t size) { unsigned long pages =3D size >> PAGE_SHIFT; @@ -140,6 +143,7 @@ int arch_set_paging_mempool_size(struct domain *d, uint= 64_t size) =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int p2m_teardown_allocation(struct domain *d) { diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c index 116389d4e9..c6e3996093 100644 --- a/xen/arch/x86/mm/paging.c +++ b/xen/arch/x86/mm/paging.c @@ -949,6 +949,7 @@ int __init paging_set_allocation(struct domain *d, unsi= gned int pages, } #endif =20 +#ifdef CONFIG_MGMT_HYPERCALLS int arch_get_paging_mempool_size(struct domain *d, uint64_t *size) { unsigned long pages; @@ -991,6 +992,7 @@ int arch_set_paging_mempool_size(struct domain *d, uint= 64_t size) =20 return preempted ? -ERESTART : rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* * Local variables: --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763724458; cv=pass; d=zohomail.com; s=zohoarc; b=UShZ8sspdPyW3lozwhlFfk8+cHSDKGdoH+8nU0B4C5hxm6obdfzV3MKBGjIjVOg17LsrWs8yW9ryZg3aUjyjgyjS4uYfLg7p51GWF3Rl1ZogBzSjqpsPKuVZlJM/Aaj0aH4u6YT1BogUyE2OF0sWEdqKGsKMa2Ud3SkCnhuyLic= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763724458; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bok7u4Xk+jAmguRQIjJccc8H+q65eQAsNIZzfh2MqlE=; b=f2xc166Ql9dIGYJcJE8xHc3pPK4RmCbx012yvolkvDzJIpqYz67nmO5kXVtRicrCFFtpwbKkv8U/+ffIfGggeAe1t7FvuRUe3TOgh/SS5LT9hK3UOl4HbvbW5neyOOFM7Bp1dX6VutJWPQMF7WbU7peAo9cgi1DXplS1wbJ1zSc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763724458677552.4496981005534; Fri, 21 Nov 2025 03:27:38 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168671.1494716 (Exim 4.92) (envelope-from ) id 1vMOtT-0007SM-FS; Fri, 21 Nov 2025 11:01:35 +0000 Received: by outflank-mailman (output) from mailman id 1168671.1494716; Fri, 21 Nov 2025 11:01:35 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtT-0007Rx-C7; Fri, 21 Nov 2025 11:01:35 +0000 Received: by outflank-mailman (input) for mailman id 1168671; Fri, 21 Nov 2025 11:01:34 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrN-0008Dv-Pp for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:25 +0000 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azlp170100005.outbound.protection.outlook.com [2a01:111:f403:c005::5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 22466583-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:23 +0100 (CET) Received: from CH0PR13CA0008.namprd13.prod.outlook.com (2603:10b6:610:b1::13) by CY5PR12MB6645.namprd12.prod.outlook.com (2603:10b6:930:42::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:17 +0000 Received: from CH3PEPF00000015.namprd21.prod.outlook.com (2603:10b6:610:b1:cafe::1b) by CH0PR13CA0008.outlook.office365.com (2603:10b6:610:b1::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.4 via Frontend Transport; Fri, 21 Nov 2025 10:59:17 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000015.mail.protection.outlook.com (10.167.244.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:17 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:15 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 22466583-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nkCbCIX2JSHTC0qFgslGT1yCz9+FZvGDqVkH4celR4Le7V3MtKVuC7Yw40NLzJ3BR7bg4hZegtBZM2l9RgyS0aqUBBAmD3f11v/m81X/wl+V+czQA51E7C8WyctZ/uOuY7JCChKEuIc1rbcp1bHyWmKhDXoDsnWB1wAFH16Wy/tiYnjcfsBRUhaoHRxzb4jn9LwXVZZX9duqGz4YmMjbjSpWPkqnFChSXBytXb6VZxHMJUurDe5ReXQB3vAOlSjPnKW2AAIEt5MGJhnC6SO8ADq2yuQ3rdGN9s7kFdosJcV5jIeEgqY4anBPVlcSXff+dHKXMZX+It/4d8Z2kkDbcA== 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=bok7u4Xk+jAmguRQIjJccc8H+q65eQAsNIZzfh2MqlE=; b=hjIrAUnmKTfgGZGb4fLX513VZWTHa2RYbMiWWwGsdRrLHqlb2oDBRpYu5xbwNBd14fndoZVfkm0tlyFz1gtkSnISnZAy5sB/csEamQzAdUvsmxSOKvzG70Gsj9jnagJ3wzFYr/6zy2xUvT115vlvJqt/SFRgUpIjvWbqmrAhl6rNz19XSI/sSk1y4GscXH52dCor/RDBQFzerhi2VAkrLqMB/O1dDeAj2QNRyRLeGigsjzjD6HCTk+FaFfjS/3XJMJ9F9USSQUFyhQibSIOra8XQKsdCHufLTfguXBkYHeSS8JVJGAjuo7qI3oA61tjqqHnGXf/hFTqUDiErw42TDQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=bok7u4Xk+jAmguRQIjJccc8H+q65eQAsNIZzfh2MqlE=; b=N6KaD++mA6MdxZFClLVvvy6Go+cPRAcWhplY6Ih0SnsW9UofK+AGJPx6h9LfvxDXJHDKKHGOGX9Fkdr5INXJ7+6gEpYpbHfpRNkrCqfatuzqJg9tAesqnj6H770o7CM3/oQeBBg1GxP0aBx8F9rK0s0huu61ybqpeZQnBEkxXHk= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH v4 18/24] xen/domctl: make CONFIG_X86_PSR depend on CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:55 +0800 Message-ID: <20251121105801.1251262-19-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000015:EE_|CY5PR12MB6645:EE_ X-MS-Office365-Filtering-Correlation-Id: f530720f-1606-4d31-0141-08de28ed0437 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?90bMlelL283CidhHjedQ5xMwk11EtBNdvE5uTplqvuYWkW2PhYVNVcfdE+oo?= =?us-ascii?Q?IespSUyKVSJRxpe87ajzIx4hisJZmtSRReu1LhmOZfnW4YdA5oVhL5TezymT?= =?us-ascii?Q?28joA4TftmAOxJeQkO0YRaOYBxkjHLHs9iv8ubjaHlv9Quv8Ks2OzXx4WGe9?= =?us-ascii?Q?+Dd6W0eT5IydQS573S07PLpRNGR36pEWD35hN7+/8QFEAexb5lUcGgSN+t5Z?= =?us-ascii?Q?QVKZwbuNwvSnl/fdifLq/DZVGApeX2/L6kly5/5u9EDXqIlzY1x3utRaVxIN?= =?us-ascii?Q?9m/9fwJTsFOXBNHSn8YPMmavmt/ldu/BNbTNSiMzF9HcASgdcAqeAStJU8xT?= =?us-ascii?Q?ibdSIMrNEP5Ep7manFYIbPQmZDp3uGG/dNktzpZKd+sNt5fHVapo7Z28Dezj?= =?us-ascii?Q?OvH9mdp99k+c32zj8dQJYcIhAcZCtmGeBtNoo28OEn5AgFhp/1AyA1YBUCuq?= =?us-ascii?Q?ULy7QWq/3B6slCV6oQmetqP4KpMesMNrTlaHyNj9zaVohHXTKpJ7a2KeUIUM?= =?us-ascii?Q?cCuZMCu0wKAjsX9Z0hUfxGaduVZKBUPw4PGsDcwB//A6AbzshFKtp+7Eq7TL?= =?us-ascii?Q?CSPJEnqkqMIA1oes43Om5wOelUtfzNWiafY5Fmh89pF9uZByh4XDjuDv+tb/?= =?us-ascii?Q?e6dN4IP7TyTwCNGqDuYa3LZlF8ZsclQNI+zyo8UF5Mvb491M+MTRnl2kXtid?= =?us-ascii?Q?5+/wDvA0iDoVu6wvslIY+4qpIsVSmYZCQTiyYyxKaQC1C2pxmAVfA4/iNocr?= =?us-ascii?Q?KtFrz1JxWnBXn2mJRl6Htc1JJ2RVTgiYqKey1GdKTMTZrtorWIiyCGlH55dD?= =?us-ascii?Q?aLpr3AXuXSCo5xjMqDUM+Fobh44XzDHgV0Kdqai30sl3IgY/qxC/QzjwTTq0?= =?us-ascii?Q?viEk2le0oiiLjGDFnj29XklR2gyrHKjSimEiBm1Fp0Me/dQd4PW5Ia+j2Hox?= =?us-ascii?Q?Ae+stMbTSwmpU89o2mz/C9KalnIo90pJzn6cW14JtvIDsdSG2wmvLr4vKxT/?= =?us-ascii?Q?loR58yL3ZerYcjqJg48qm/TpSzL0xPtRv5EOz3dD87n9TxTQR/lTnbwvR17u?= =?us-ascii?Q?9HPHT7Pig1PJIMsBfQwREAMAQb04GOo6bN5VjRoo9N3LblSBW3q85R+EWRJ3?= =?us-ascii?Q?HlMdAFiy0VN75ZStnYJE4H+NaWubkKBi5PNrPI7s71oYkDwN2CLWY6A646vW?= =?us-ascii?Q?p3fa331UEpJWILCXyUOjCWDg/woRPthI29YbfkvSstFtbRDUeKUPt3ynG2co?= =?us-ascii?Q?GXKYRppacNINSL3sU95HaSBZ7dT/lOw2LXUXdYopg69/UZJvOn6BeJYgE4wL?= =?us-ascii?Q?9UoLwwvtNG+dDT4xM2a0klmuXoihnrRuDylgLAFyaj5XI7LyIQ1SAy/+umTp?= =?us-ascii?Q?9hP82/0HJaHC/CzDlIcGoTQjksYZU8cLSyYQhKAFmM7IoGCkLV/VLbN853Xy?= =?us-ascii?Q?HoRWUdCxvhE0p5qyNRYomRnONpcrepy3wzdoQVOvLcbz7J222uWgytcOwSU7?= =?us-ascii?Q?Yf6hWMF+k1UvjQGUWunwKVOo3DrYS/9gpPPCwao9fbUjTado9a8RGR83jXyQ?= =?us-ascii?Q?O6d7Ec/eg39sZUR+aeE=3D?= 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)(1800799024)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:17.5682 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f530720f-1606-4d31-0141-08de28ed0437 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: CH3PEPF00000015.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6645 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763724460771018900 Content-Type: text/plain; charset="utf-8" Users control/monitor Intel Platform Shared Resource (PSR) through related domctl-op or sysctl-op, so CONFIG_X86_PSR can be put under MGMT_HYPERCALLS. With this change, we could remove MGMT_HYPERCALLS-wrapping in psr.c. Signed-off-by: Penny Zheng Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- v1 -> v2: - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" --- xen/arch/x86/Kconfig | 1 + xen/arch/x86/psr.c | 18 ------------------ 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index c808c989fc..8368c6ecf0 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -191,6 +191,7 @@ config TBOOT config X86_PSR bool "Platform Shared Resource support" if EXPERT default INTEL + depends on MGMT_HYPERCALLS help Support of Platform Shared Resource technology, which is basis for monitoring and control of resources like cache and memory bandwidth. diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c index 80ce5804b4..4f2c2d0042 100644 --- a/xen/arch/x86/psr.c +++ b/xen/arch/x86/psr.c @@ -135,11 +135,9 @@ static const struct feat_props { */ enum psr_type alt_type; =20 -#ifdef CONFIG_MGMT_HYPERCALLS /* get_feat_info is used to return feature HW info through sysctl. */ bool (*get_feat_info)(const struct feat_node *feat, uint32_t data[], unsigned int array_len); -#endif =20 /* write_msr is used to write out feature MSR register. */ void (*write_msr)(unsigned int cos, uint32_t val, enum psr_type type); @@ -422,7 +420,6 @@ static bool mba_init_feature(const struct cpuid_leaf *r= egs, return true; } =20 -#ifdef CONFIG_MGMT_HYPERCALLS static bool cf_check cat_get_feat_info( const struct feat_node *feat, uint32_t data[], unsigned int array_len) { @@ -435,7 +432,6 @@ static bool cf_check cat_get_feat_info( =20 return true; } -#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* L3 CAT props */ static void cf_check l3_cat_write_msr( @@ -448,14 +444,11 @@ static const struct feat_props l3_cat_props =3D { .cos_num =3D 1, .type[0] =3D PSR_TYPE_L3_CBM, .alt_type =3D PSR_TYPE_UNKNOWN, -#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D cat_get_feat_info, -#endif .write_msr =3D l3_cat_write_msr, .sanitize =3D cat_check_cbm, }; =20 -#ifdef CONFIG_MGMT_HYPERCALLS /* L3 CDP props */ static bool cf_check l3_cdp_get_feat_info( const struct feat_node *feat, uint32_t data[], uint32_t array_len) @@ -467,7 +460,6 @@ static bool cf_check l3_cdp_get_feat_info( =20 return true; } -#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void cf_check l3_cdp_write_msr( unsigned int cos, uint32_t val, enum psr_type type) @@ -483,9 +475,7 @@ static const struct feat_props l3_cdp_props =3D { .type[0] =3D PSR_TYPE_L3_DATA, .type[1] =3D PSR_TYPE_L3_CODE, .alt_type =3D PSR_TYPE_L3_CBM, -#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D l3_cdp_get_feat_info, -#endif .write_msr =3D l3_cdp_write_msr, .sanitize =3D cat_check_cbm, }; @@ -501,14 +491,11 @@ static const struct feat_props l2_cat_props =3D { .cos_num =3D 1, .type[0] =3D PSR_TYPE_L2_CBM, .alt_type =3D PSR_TYPE_UNKNOWN, -#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D cat_get_feat_info, -#endif .write_msr =3D l2_cat_write_msr, .sanitize =3D cat_check_cbm, }; =20 -#ifdef CONFIG_MGMT_HYPERCALLS /* MBA props */ static bool cf_check mba_get_feat_info( const struct feat_node *feat, uint32_t data[], unsigned int array_len) @@ -523,7 +510,6 @@ static bool cf_check mba_get_feat_info( =20 return true; } -#endif /* CONFIG_MGMT_HYPERCALLS */ =20 static void cf_check mba_write_msr( unsigned int cos, uint32_t val, enum psr_type type) @@ -561,9 +547,7 @@ static const struct feat_props mba_props =3D { .cos_num =3D 1, .type[0] =3D PSR_TYPE_MBA_THRTL, .alt_type =3D PSR_TYPE_UNKNOWN, -#ifdef CONFIG_MGMT_HYPERCALLS .get_feat_info =3D mba_get_feat_info, -#endif .write_msr =3D mba_write_msr, .sanitize =3D mba_sanitize_thrtl, }; @@ -826,7 +810,6 @@ static struct psr_socket_info *get_socket_info(unsigned= int socket) return socket_info + socket; } =20 -#ifdef CONFIG_MGMT_HYPERCALLS int psr_get_info(unsigned int socket, enum psr_type type, uint32_t data[], unsigned int array_len) { @@ -858,7 +841,6 @@ int psr_get_info(unsigned int socket, enum psr_type typ= e, =20 return -EINVAL; } -#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int psr_get_val(struct domain *d, unsigned int socket, uint32_t *val, enum psr_type type) --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722910; cv=pass; d=zohomail.com; s=zohoarc; b=d6ZPL2lWs2j/ddhLIN2nXLSvCDEpvLX+Eo13ayDOIbGArsTldBJt/9uU/CPb2T+NQtDQAQ01QkLKNoCUT9b6Gxfxxh3NKxKTUGmJzxigautg2FtW1u4IwPsDEzlT28N/dmxtkFhtOxZPdGUbHbW9pxc4TXVv0OVrWT7ppUmx3HU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722910; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=9AVFT4eS0mHEUY/gIiu2cmU6pnbgN+Dcl6qdu2LcxPk=; b=fxERUdLrcP9pZYXV6twAVFrT7YMPYqEdK5ReO6NpgQAUkJy6TrBcZERS1x7P1CCqScEegW210jUXzqYVDFRDyE25CzgNK6NXouYqCzm+Xk4ztacTH8n0DTh1nGF/nfKv8Zdd1XfqUHdstCiYZjlnGrb/S50EvZzcYCIlW2/EXi0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722910648745.8907258285902; Fri, 21 Nov 2025 03:01:50 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168658.1494679 (Exim 4.92) (envelope-from ) id 1vMOtO-0006AI-Vz; Fri, 21 Nov 2025 11:01:30 +0000 Received: by outflank-mailman (output) from mailman id 1168658.1494679; Fri, 21 Nov 2025 11:01:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtO-00068c-LW; Fri, 21 Nov 2025 11:01:30 +0000 Received: by outflank-mailman (input) for mailman id 1168658; Fri, 21 Nov 2025 11:01:28 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrS-0007TB-Ji for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:30 +0000 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazlp170110009.outbound.protection.outlook.com [2a01:111:f403:c111::9]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 23875a94-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:24 +0100 (CET) Received: from CH0PR03CA0001.namprd03.prod.outlook.com (2603:10b6:610:b0::6) by DM4PR12MB8497.namprd12.prod.outlook.com (2603:10b6:8:180::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:59:19 +0000 Received: from CH3PEPF00000012.namprd21.prod.outlook.com (2603:10b6:610:b0:cafe::70) by CH0PR03CA0001.outlook.office365.com (2603:10b6:610:b0::6) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:59:01 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000012.mail.protection.outlook.com (10.167.244.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:19 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:17 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 23875a94-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DE/GvEVAomOLSoMfTYKC27hUuGCaQBkEJHlj+fdlgsVtP7vJKldSKYqsffwbBjL/or61XOi8KRq0pFbwih6xfIC/z3p3/HmNyGHDRjD6AHG2D8l+tQkNTfDe55RavQu0ICScTBP8AsYHA8K3myWAQDGtzkgDAJC2flPw165ETm4mwH4qmw/8pOEiARMqYM94Q2JKx3Oqc/mGkAbtb6y5Ib6Z84QLkdlwnlfMjN0NhK0dp6tfi7fptd7g2SN1kzkCPpEb/Pvzq6JjgLBSuVx3eWyzZ9S543kSIiYk+QUr0k/EASLxl17bLwBIaPzAZb9GsT3bFlSxllU3dOQ27ykaVg== 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=9AVFT4eS0mHEUY/gIiu2cmU6pnbgN+Dcl6qdu2LcxPk=; b=FLM3K2ZSEOJ2jXtUEp9UdQTNGpnba8xVsBWeY4vbFP2sFAmNqHgJLGHYO5XORBu2dwLfhUth4jxNM399NwkzRNsHdbWTMGiOpPHoRnJE2yWLDivCRUyTHjfOhTiObQBo5BqkhsjbIv2i4jZlbe8cdS4VQCouzPZPvWNebDk8WTUVx378YWIUCIulVzWnyufmOsHRZyiwE/aPUHA6aB/n1ZeGp+qi3H/u1Vq2tSW5hGUNaQ45BH0/Cw0CSxrK9SZq6wXFpCjY41gblJXAY4DnfJqiIM3QYb0Rc/twj8likbBoAGJ4Wlr0sHvLO6WQE4yDYlliba3GNO5lcCjSs6I0Rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=9AVFT4eS0mHEUY/gIiu2cmU6pnbgN+Dcl6qdu2LcxPk=; b=2TbU2ES0qHSSSIZXCF0zE6D9/mJoq8ppVlnmC+KEax+h2SNwkNMvqGYjAXqQT7K+WbN06nXNf7+yrvCC16RS2UMdAFnz/+Gop4Bvgm6XHjFZ7WpYf+JdOD8fLhe8GxUPPPgMoakSqkJZ/zWjXe4bVuKt6BBrfdrawW7i4flMFjQ= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v4 19/24] xen/domctl: wrap hvm_save{,load} with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:56 +0800 Message-ID: <20251121105801.1251262-20-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000012:EE_|DM4PR12MB8497:EE_ X-MS-Office365-Filtering-Correlation-Id: 20ddb52b-35a3-44ef-3366-08de28ed0582 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?oOn7F0RaV8lxggaGT977v/4D/2IsZtf9Jl8xkvelFZYxlvRHAxHj6wqvYara?= =?us-ascii?Q?kTWNRGTUxDi3EtZZkGf8gnugU+svHk2duB2MAmg9DzJM+1oQcIY7zqQWosgw?= =?us-ascii?Q?dFjzjdDhdGW6TxHWMLko42Dmd+kvtu1M1v/F3pO+NFjbZNBIAX2tdXf9ywDJ?= =?us-ascii?Q?/zFBjg1FKwou/9jX35kZUD/FNE6q/5BgFg8natRX1HWQD6cwficyStEI+Q4Z?= =?us-ascii?Q?2yTQyV4eaj+IkNpZfYngWYHhb3hPnahFY59iq4d0qmVAmcTl1USdNfQAQkAv?= =?us-ascii?Q?eeNXL/yFBAxyj1lYWlBQ4u56YY35a7Weg+kSw5Ed9O0Cf1LLS0oLHITCg1E+?= =?us-ascii?Q?7EJT9+0OiknKR67OgxNKqROmae5WuyIBoGwTg0ARte8ts1AdvYFkh0SDe3aY?= =?us-ascii?Q?Tbv88v+h62OQ8CAZ+G1pFzZ+MQAameSukRAeXNpAFgnXTIo7EPYLhjoUYnJh?= =?us-ascii?Q?Wa20Ll6mz8pgmKzOwUnRMb6U1q/EUKZE6iTNd228F/x9e42IoVhIAin+k+oW?= =?us-ascii?Q?SPetCuYBlVl+/cW+ET3JBSfMn5w4/ETLDv6ukxW8dwiOX6e2hC4B6jcN+3/K?= =?us-ascii?Q?SHSWyx2AJCyZkjw5zbyaiuXrCxRuBUOH415GJ6AnK3EoiQBf5VzhaO5TQQRf?= =?us-ascii?Q?frmheGbM3xPRRoTipigpnvoBAwenZs1GLfySU6cNjisu6A4NAMEx3ISaLgxF?= =?us-ascii?Q?tHJVwCG7HOBel/t/YSuYFXytRYa2tyvdVO4IJYOreF4L/jX+CcDMPRSnp7tR?= =?us-ascii?Q?T3gQCBKYhyAdp/M5nkHFMrJNGHieMm/d2yVrYlcElWd+aGQOl7OpDQbW9VdE?= =?us-ascii?Q?kVmMTeuAzeJBVQFNCfzMgfL49vDJfolxc61dapU424G9474nY+2ADv+zZujR?= =?us-ascii?Q?XNeb/fxpSM6BbQsLl+nlzMtNw0sCBvLs6bhu/0RL8O0TZtCvZ+dlFba1B8oR?= =?us-ascii?Q?dNZtmbLoYlB6fBfCagTVEbw+EMtCrot91iDibPYi8d9VK/jIfSk/Wdsw13+g?= =?us-ascii?Q?Je9WLZkDFTD6WJyMsgpICkx2A1OL12m4Z66bNJ2Va29s2iKY3ipI7T293UQD?= =?us-ascii?Q?UHDcC+1PrmrDT7z2lshTPWFtqlHDCByTROeVaP5tk0og71dTX0P5al9EwKX3?= =?us-ascii?Q?O/rXvQEwsQEjrO+sma0rAVCVX5T7PqMKACtFsL0WbDANXiux6PESlfg2DsZQ?= =?us-ascii?Q?QYpdvISKvGlPBzw7jI2Fu6RhN8SjVHeqLGWMOorHdCKpqpt+1dCniuzMPlqq?= =?us-ascii?Q?JBlSHreSp7r6GOQ7yedUN56abtxGSDzLZT8ekgeRxDug2ovX1FNj0/DTHrEy?= =?us-ascii?Q?Vg5t+gj8450xUr1JKFxuPhpJaiIr6GVOo7UgLVC4absrtt+T0xHkzgS8wEmw?= =?us-ascii?Q?ZhEs4oPkFsG5eT4OLq8tZg3FL2FjxPyHTpDwfcpFbgQXnZ4oQ3OhH7+J7ufY?= =?us-ascii?Q?hyb9R7yXZljFQlkwYB4mpD6Upd9BvFyN0KRJUT8hMAUXSKPZUfKeUZlQw4h4?= =?us-ascii?Q?DI6PZ2gX5kcyu/cnBU1Ov31s4Rl9f5W8B8agwWIZPWLwZoh8BfSWXSwm6uJI?= =?us-ascii?Q?J6y6DKjb2BwuorUlmhM=3D?= 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)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:19.7413 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 20ddb52b-35a3-44ef-3366-08de28ed0582 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: CH3PEPF00000012.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8497 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722911749018900 Content-Type: text/plain; charset="utf-8" The following functions have been referenced in places which is either guar= ded with CONFIG_MGMT_HYPERCALLS or CONFIG_MEM_SHARING: - arch_hvm_save - arch_hvm_check - arch_hvm_load - hvm_save_size - hvm_save - hvm_load While CONFIG_MEM_SHARING is also dependent on CONFIG_MGMT_HYPERCALLS. So they shall be wrapped under MGMT_HYPERCALLS, otherwise they will become unreachable codes when MGMT_HYPERCALLS=3Dn, and hence violating Misra rule = 2.1. We move arch_hvm_save(), arch_hvm_check(), arch_hvm_load() and hvm_save_siz= e() nearer to the left functions, to avoid scattered #ifdef-wrapping. Signed-off-by: Penny Zheng --- v3 -> v4 - new commit --- xen/arch/x86/hvm/save.c | 154 ++++++++++++++++++++-------------------- 1 file changed, 78 insertions(+), 76 deletions(-) diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c index 8ab6405706..5e99dd5998 100644 --- a/xen/arch/x86/hvm/save.c +++ b/xen/arch/x86/hvm/save.c @@ -15,62 +15,6 @@ =20 #include =20 -static void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr) -{ - uint32_t eax, ebx, ecx, edx; - - /* Save some CPUID bits */ - cpuid(1, &eax, &ebx, &ecx, &edx); - hdr->cpuid =3D eax; - - /* Save guest's preferred TSC. */ - hdr->gtsc_khz =3D d->arch.tsc_khz; - - /* Time when saving started */ - d->arch.hvm.sync_tsc =3D rdtsc(); -} - -static int arch_hvm_check(const struct domain *d, - const struct hvm_save_header *hdr) -{ - uint32_t eax, ebx, ecx, edx; - - if ( hdr->magic !=3D HVM_FILE_MAGIC ) - { - printk(XENLOG_G_ERR "HVM%d restore: bad magic number %#"PRIx32"\n", - d->domain_id, hdr->magic); - return -EINVAL; - } - - if ( hdr->version !=3D HVM_FILE_VERSION ) - { - printk(XENLOG_G_ERR "HVM%d restore: unsupported version %u\n", - d->domain_id, hdr->version); - return -EINVAL; - } - - cpuid(1, &eax, &ebx, &ecx, &edx); - /* CPUs ought to match but with feature-masking they might not */ - if ( (hdr->cpuid & ~0x0fUL) !=3D (eax & ~0x0fUL) ) - printk(XENLOG_G_INFO "HVM%d restore: VM saved on one CPU " - "(%#"PRIx32") and restored on another (%#"PRIx32").\n", - d->domain_id, hdr->cpuid, eax); - - return 0; -} - -static void arch_hvm_load(struct domain *d, const struct hvm_save_header *= hdr) -{ - /* Restore guest's preferred TSC frequency. */ - if ( hdr->gtsc_khz ) - d->arch.tsc_khz =3D hdr->gtsc_khz; - if ( d->arch.vtsc ) - hvm_set_rdtsc_exiting(d, 1); - - /* Time when restore started */ - d->arch.hvm.sync_tsc =3D rdtsc(); -} - /* List of handlers for various HVM save and restore types */ static struct { hvm_save_handler save; @@ -101,26 +45,6 @@ void __init hvm_register_savevm(uint16_t typecode, hvm_sr_handlers[typecode].kind =3D kind; } =20 -size_t hvm_save_size(struct domain *d) -{ - struct vcpu *v; - size_t sz; - int i; - - /* Basic overhead for header and footer */ - sz =3D (2 * sizeof (struct hvm_save_descriptor)) + HVM_SAVE_LENGTH(HEA= DER); - - /* Plus space for each thing we will be saving */ - for ( i =3D 0; i <=3D HVM_SAVE_CODE_MAX; i++ ) - if ( hvm_sr_handlers[i].kind =3D=3D HVMSR_PER_VCPU ) - for_each_vcpu(d, v) - sz +=3D hvm_sr_handlers[i].size; - else - sz +=3D hvm_sr_handlers[i].size; - - return sz; -} - /* * Extract a single instance of a save record, by marshalling all records = of * that type and copying out the one we need. @@ -196,6 +120,83 @@ int hvm_save_one(struct domain *d, unsigned int typeco= de, unsigned int instance, return rv; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS +static void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr) +{ + uint32_t eax, ebx, ecx, edx; + + /* Save some CPUID bits */ + cpuid(1, &eax, &ebx, &ecx, &edx); + hdr->cpuid =3D eax; + + /* Save guest's preferred TSC. */ + hdr->gtsc_khz =3D d->arch.tsc_khz; + + /* Time when saving started */ + d->arch.hvm.sync_tsc =3D rdtsc(); +} + +static int arch_hvm_check(const struct domain *d, + const struct hvm_save_header *hdr) +{ + uint32_t eax, ebx, ecx, edx; + + if ( hdr->magic !=3D HVM_FILE_MAGIC ) + { + printk(XENLOG_G_ERR "HVM%d restore: bad magic number %#"PRIx32"\n", + d->domain_id, hdr->magic); + return -EINVAL; + } + + if ( hdr->version !=3D HVM_FILE_VERSION ) + { + printk(XENLOG_G_ERR "HVM%d restore: unsupported version %u\n", + d->domain_id, hdr->version); + return -EINVAL; + } + + cpuid(1, &eax, &ebx, &ecx, &edx); + /* CPUs ought to match but with feature-masking they might not */ + if ( (hdr->cpuid & ~0x0fUL) !=3D (eax & ~0x0fUL) ) + printk(XENLOG_G_INFO "HVM%d restore: VM saved on one CPU " + "(%#"PRIx32") and restored on another (%#"PRIx32").\n", + d->domain_id, hdr->cpuid, eax); + + return 0; +} + +static void arch_hvm_load(struct domain *d, const struct hvm_save_header *= hdr) +{ + /* Restore guest's preferred TSC frequency. */ + if ( hdr->gtsc_khz ) + d->arch.tsc_khz =3D hdr->gtsc_khz; + if ( d->arch.vtsc ) + hvm_set_rdtsc_exiting(d, 1); + + /* Time when restore started */ + d->arch.hvm.sync_tsc =3D rdtsc(); +} + +size_t hvm_save_size(struct domain *d) +{ + struct vcpu *v; + size_t sz; + unsigned int i; + + /* Basic overhead for header and footer */ + sz =3D (2 * sizeof (struct hvm_save_descriptor)) + HVM_SAVE_LENGTH(HEA= DER); + + /* Plus space for each thing we will be saving */ + for ( i =3D 0; i <=3D HVM_SAVE_CODE_MAX; i++ ) + if ( hvm_sr_handlers[i].kind =3D=3D HVMSR_PER_VCPU ) + for_each_vcpu(d, v) + sz +=3D hvm_sr_handlers[i].size; + else + sz +=3D hvm_sr_handlers[i].size; + + return sz; +} + int hvm_save(struct domain *d, hvm_domain_context_t *h) { char *c; @@ -390,6 +391,7 @@ int hvm_load(struct domain *d, bool real, hvm_domain_co= ntext_t *h) =20 /* Not reached */ } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 int _hvm_init_entry(struct hvm_domain_context *h, uint16_t tc, uint16_t in= st, uint32_t len) --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763724297; cv=pass; d=zohomail.com; s=zohoarc; b=YKdDTFn9AsiYRpKpMvnklkV/zEcMqjUwcIOnCesWPG9OR9pOOmzn+qBvA8mRRzMtmFgkVsKMejBi4e2X6b6V1xwHAedtAvLWTDDs1KzlgDr21N7EOpprzBSZFYJcAaFy5jsBLX/7AqkQRSsPHZkJD5JwIhUoASirlDoT3a9iRFQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763724297; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jXCICJruve1evaLcc0VBzB4csGxFXhFrGDVb16+CJEc=; b=ho1+oUlTEEvnk8l4EptnnY39coxsNqIsRVOeDjDve3tKJaHjj0DEC7oRs9zLKw+juEfola/wMUUV0FkuKxwVCfx0VeGbQbBfyhs11m11ZKmQzYXKiaJaDP61aVjd66X0CeFuWGeUqQcUQAJx1HPkocM92HoeVYhbN0Ri1h/Yz3w= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763724296910695.6969527009255; Fri, 21 Nov 2025 03:24:56 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168718.1494770 (Exim 4.92) (envelope-from ) id 1vMOtg-0001IB-MS; Fri, 21 Nov 2025 11:01:48 +0000 Received: by outflank-mailman (output) from mailman id 1168718.1494770; Fri, 21 Nov 2025 11:01:48 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtg-0001Ej-1i; Fri, 21 Nov 2025 11:01:48 +0000 Received: by outflank-mailman (input) for mailman id 1168718; Fri, 21 Nov 2025 11:01:46 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrU-0007TB-KL for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:32 +0000 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azlp170110003.outbound.protection.outlook.com [2a01:111:f403:c107::3]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 25bafe3b-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:28 +0100 (CET) Received: from CH2PR07CA0037.namprd07.prod.outlook.com (2603:10b6:610:5b::11) by MW6PR12MB8757.namprd12.prod.outlook.com (2603:10b6:303:239::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.22; Fri, 21 Nov 2025 10:59:23 +0000 Received: from CH3PEPF00000011.namprd21.prod.outlook.com (2603:10b6:610:5b:cafe::8) by CH2PR07CA0037.outlook.office365.com (2603:10b6:610:5b::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:59:12 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000011.mail.protection.outlook.com (10.167.244.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:22 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:19 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 25bafe3b-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=a+OhLO9QQuXwusL1S/as/zdw5Hd48CY1mOfWhzyOlt1tVwGaLIB7HJPlSLHz5KExvtsZmT4kmi0aeo+frBCE9fIPPSvYxG60ZnIeBRYaFiwpPDbCuL894LY4CCsLMKFlbJXEZ4JeQABd1oQIyyCCvfxx7WrqdUvGGZIPTC2CAXH34+vkmlC452ZFLTDTWhxQRMyUvN9mcNC02nzdXaPTZJ9vk3oaw7UrxDKluZUdWQSbqeSZ+gWpbCAq5kDkXU58i8Q9o88hFzM89CdhgjCsA/Eihi/yIrIr4ZZYMoRL194f3vlzOacORCyRoObQJF3LRY+2JvcBiZINB4HJ6KrsJQ== 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=jXCICJruve1evaLcc0VBzB4csGxFXhFrGDVb16+CJEc=; b=v0hfNg6AIFbNgVXLFNEwK+EvhHH/N8CEAtYn+rP6EU5NFWyc2U0/oSGp2eehABcO+5OFQ6AUTTYwEhUx56r5Yv8chCpoDLnNRbUIxWhYiRFg+MbpYeRfwwf1k08jOvIFjULGjt+fu9fPhO2arsxSLUlxm57y7OYuKZMNh0hJBC5qppjlX/KvGWS4jY0r9ZCp+MjLvDGh22TMPi9dtkvpQDTwqJm8QMof09XHRqvDL0YH4vdWp0IZ3825unIZ8lyePvGHevkxnaizaLVF1cPYXdndb/SQ/AkabmJkOON5Rl/FMCxX6ytpSv9q0lH00Bxp85RR1/F54/+fvdyHdVKixg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=jXCICJruve1evaLcc0VBzB4csGxFXhFrGDVb16+CJEc=; b=CYRhRILUCU5MwbhTac81LME/GL3BlMEa0CmSq8M/sd3RuxZo9mJAgRCKOtj+J4qk9Rw5gmniu00MOWrPO8G6D2KPixPgx8UR06Qv6AmhYKR+naJy3093u7T25WIUPdRh/Bh0rkbWnsvGcc+6bS/AsjEozO0ikYxtKR3JyWhI2tQ= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" , "Daniel P. Smith" Subject: [PATCH v4 20/24] xen/x86: wrap x86-specific domctl-op with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:57 +0800 Message-ID: <20251121105801.1251262-21-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000011:EE_|MW6PR12MB8757:EE_ X-MS-Office365-Filtering-Correlation-Id: afd61635-e19b-42d2-226f-08de28ed075a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?doufl69hO38xm4Bh6VM12MwiSdOntTO7wbxzhHQtW/+qKiN6AXCpw7Xr9mma?= =?us-ascii?Q?i8bvl2gtX3XbpZkbWRfv7tRhvdRMystuVTp17wMlO7UTrrM6qiikRgArUh0I?= =?us-ascii?Q?M0+LtsRzYZ5Mkrx9FoZvdUj8h6pc8Lolk4dkh931KqeT9s995rrdPpQVYMtj?= =?us-ascii?Q?bzS473LSdmyAgLcK8gGSWNkfq6qhUbHVo0H4k+VXt6xD0+g90aZW/NRvjwrE?= =?us-ascii?Q?omX/yik0G7Qv/M3lDrNOaBJYuNN5CvrXZUMQyLQ0zJ4XRIMDjm1ShamyBPYZ?= =?us-ascii?Q?rJeoC6miuSZLNlopCt4BZkMGyNHPZksyEOhgVrydacFxt2HHF03MQdVaNmxn?= =?us-ascii?Q?/ZHiuHfMZkwH19NdLvRpshr+8WC2WeQHQPLaueZ0F9P/I4Bhi3JyCEUlAKD/?= =?us-ascii?Q?3XCni3zCrsgJwA3sR5PXjB+9Eiclux+FO1BymJxckeMoohvQwmu0Qh4v+MsX?= =?us-ascii?Q?KZKY6zIh3lQNecUX12eoW90Q3O7BSo9Q4fIYzUFyVZYi5NnFTh6ghFkddQ1Z?= =?us-ascii?Q?cLPqn0itQcU/9edlomnYYX9cVHxKUwOEtepWeJArsHBGXrji+oJAoFL5y1Xe?= =?us-ascii?Q?M9LmvZUyWRUCgjc078fAgqKL9LXAlDlcXjvJ8sqGbcbWfbB7vq2VnoHQ/t3R?= =?us-ascii?Q?J26dpmy4YX/CxsQlwLyFSSlKlJDWLzsyxlyVN0nKGm27w4u0CG0WachEVF6d?= =?us-ascii?Q?BlJca/RYD1LmY0M5vEiDKEDx489knXoVIGok99XuqOpN+6SUdedzTX6ZP83e?= =?us-ascii?Q?Rg9nc77JzOYIdRj1qnwbKG3tOd4iQAJgCyuwX9xRxpaV+2/58H561qklNna+?= =?us-ascii?Q?jWyMaXp5PMr62//87E1XCITNPacWZTjxPfT4u20M0XHNg0wG1CX9Q2HmxAq9?= =?us-ascii?Q?z+eZJ3ooNvuyNEgc16rusQpGhlIpiqTvXaZxutTUPwPm0LpxVgUra42wiRIa?= =?us-ascii?Q?RR7Ijinlfb7Lm4949ovGX+K5ls3c2ndthl+SATHvbYyBSkZ6E6vx1Els3gAW?= =?us-ascii?Q?FUdgrsJxvgK/XboyxgCJfP1T8FgDSaprtjJ+yVrYLkGdKLfb1hnRh+QzTQnZ?= =?us-ascii?Q?pCtdH29w8Fium0HCrbqPxUbH+wY8EuKjakTLo6CpIzQKkk0K4qZRs1+n1lIn?= =?us-ascii?Q?jgcCSHAfrdJaX92ym7wbnEbYH97Vz8Z9RtdGgCvad9nnk6LEDyKYwL8pA3ch?= =?us-ascii?Q?YJ2xC2oyNyILWSuD8wxEyS+hdqDvPKppItCWr1ZyVpAU9Vei/fJEDgCoR5MI?= =?us-ascii?Q?nc7m7ePbwSBiT9y0jUEx1XYOMAdvPPoqa7qhcgachjB6gesMnvEylJsKE9bJ?= =?us-ascii?Q?/VvVxFKUyuJ0XQRlkPRuqBt4xNWOLdKImxpK/s7SNgTg7cZ1jAhob/IlquD8?= =?us-ascii?Q?F0Df+gVndQL4BUugQ4Hh1+vWKEdRj2XQ5aG4/nl3DjhRG2rm8uBGhbQa59mP?= =?us-ascii?Q?ioGmlSgm8x5JFlixmLMqca4G9m7yUUd60yitN502fgVIHPcJdzLzGJ3T80yw?= =?us-ascii?Q?eXvHWyxMBR1d9TkH6w2YpdoRBSlADjycE64YIrUsHSEBPhLxPDgyN0+OnY2G?= =?us-ascii?Q?LMgc76G5M7JGL80UWTg=3D?= 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)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:22.8350 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: afd61635-e19b-42d2-226f-08de28ed075a 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: CH3PEPF00000011.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8757 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763724298569018900 Content-Type: text/plain; charset="utf-8" Function arch_do_domctl() is responsible for arch-specific domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS We focus on x86 implementation here only. Tracking its calling chain and the following functions shall be wrapped with CONFIG_MGMT_HYPERCALLS too. Otherwise they will all become unreachable when MGMT_HYPERCALLS=3Dn, and he= nce violating Misra Rule 2.1. - hvm_acpi_power_button - hvm_acpi_sleep_button - hvm_debug_op - make P2M_AUDIT depend on CONFIG_MGMT_HYPERCALLS - make PG_log_dirty depend on CONFIG_MGMT_HYPERCALLS - make cpuid.o/policy.o/msr.o depend on CONFIG_MGMT_HYPERCALLS - make HAS_SOFT_RESET depend on CONFIG_MGMT_HYPERCALLS - make VMTRACE depend on CONFIG_MGMT_HYPERCALLS - paging_domctl_cont We put the guardian in Makefile for the arch-specific domctl.o compilation. Signed-off-by: Penny Zheng --- v1 -> v2: - split out xsm parts - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" - wrap default-case and arch_get_domain_info() transiently --- v2 -> v3: - add missing guardian in arm/Makefile - cover RTIT_CTL{,STATUS}_MASK #define-s - add missing guardian for .vmtrace_output_position - guard the whole static inline function - address "violating Misra rule 2.1" in commit message - remove transient wrapping around default-case and arch_get_domain_info() --- v3 -> v4: - make HAS_SOFT_RESET depend on CONFIG_MGMT_HYPERCALLS - make VMTRACE depend on CONFIG_MGMT_HYPERCALLS - seperate depends on condition for future convenience - split arch-specific domctl-op into x86 and arm --- xen/Kconfig.debug | 1 + xen/arch/x86/Kconfig | 2 +- xen/arch/x86/Makefile | 2 +- xen/arch/x86/hvm/Kconfig | 1 + xen/arch/x86/hvm/hvm.c | 2 ++ xen/arch/x86/hvm/pmtimer.c | 2 ++ xen/arch/x86/include/asm/p2m.h | 2 +- xen/arch/x86/include/asm/paging.h | 2 +- xen/include/hypercall-defs.c | 4 +++- xen/lib/x86/Makefile | 6 +++--- 10 files changed, 16 insertions(+), 8 deletions(-) diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug index a69615cd63..c078c6bf2e 100644 --- a/xen/Kconfig.debug +++ b/xen/Kconfig.debug @@ -15,6 +15,7 @@ if DEBUG || EXPERT =20 config GDBSX bool "Guest debugging with gdbsx" + depends on MGMT_HYPERCALLS depends on X86 default y help diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index 8368c6ecf0..d49681beed 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -29,7 +29,7 @@ config X86 select HAS_PCI_MSI select HAS_PIRQ select HAS_SCHED_GRANULARITY - imply HAS_SOFT_RESET + select HAS_SOFT_RESET if MGMT_HYPERCALLS select HAS_UBSAN select HAS_VMAP select HAS_VPCI if HVM diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index d21fdd49df..006a6e56d3 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -79,7 +79,7 @@ obj-$(CONFIG_VM_EVENT) +=3D vm_event.o obj-y +=3D xstate.o =20 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y) -obj-y +=3D domctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-y +=3D platform_hypercall.o obj-$(CONFIG_COMPAT) +=3D x86_64/platform_hypercall.o endif diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig index d540c0ebf3..52b22e5d17 100644 --- a/xen/arch/x86/hvm/Kconfig +++ b/xen/arch/x86/hvm/Kconfig @@ -37,6 +37,7 @@ config INTEL_VMX config VMTRACE bool "HW VM tracing support" depends on INTEL_VMX + depends on MGMT_HYPERCALLS default y help Enables HW VM tracing support which allows to configure HW processor diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index d03f563d76..b03f7dfcf6 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -5204,6 +5204,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PAR= AM(void) arg) return rc; } =20 +#ifdef CONFIG_MGMT_HYPERCALLS int hvm_debug_op(struct vcpu *v, int32_t op) { int rc =3D 0; @@ -5246,6 +5247,7 @@ int hvm_debug_op(struct vcpu *v, int32_t op) =20 return rc; } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 #ifdef CONFIG_VM_EVENT void hvm_toggle_singlestep(struct vcpu *v) diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c index 87a7a01c9f..f080f7561d 100644 --- a/xen/arch/x86/hvm/pmtimer.c +++ b/xen/arch/x86/hvm/pmtimer.c @@ -56,6 +56,7 @@ static void pmt_update_sci(PMTState *s) hvm_isa_irq_deassert(s->vcpu->domain, SCI_IRQ); } =20 +#ifdef CONFIG_MGMT_HYPERCALLS void hvm_acpi_power_button(struct domain *d) { PMTState *s =3D &d->arch.hvm.pl_time->vpmt; @@ -81,6 +82,7 @@ void hvm_acpi_sleep_button(struct domain *d) pmt_update_sci(s); spin_unlock(&s->lock); } +#endif /* CONFIG_MGMT_HYPERCALLS */ =20 /* Set the correct value in the timer, accounting for time elapsed * since the last time we did that. */ diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h index 9016e88411..3574e2eecd 100644 --- a/xen/arch/x86/include/asm/p2m.h +++ b/xen/arch/x86/include/asm/p2m.h @@ -20,7 +20,7 @@ #include /* for pagetable_t */ =20 /* Debugging and auditing of the P2M code? */ -#if !defined(NDEBUG) && defined(CONFIG_HVM) +#if !defined(NDEBUG) && defined(CONFIG_HVM) && defined(CONFIG_MGMT_HYPERCA= LLS) #define P2M_AUDIT 1 #else #define P2M_AUDIT 0 diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/p= aging.h index 0c06b0a7a8..ba5ba7324e 100644 --- a/xen/arch/x86/include/asm/paging.h +++ b/xen/arch/x86/include/asm/paging.h @@ -55,7 +55,7 @@ #define PG_translate 0 #define PG_external 0 #endif -#if defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE) +#if defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE) && define= d(CONFIG_MGMT_HYPERCALLS) /* Enable log dirty mode */ #define PG_log_dirty (XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY << PG_mode_shif= t) #else diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c index 4840de805b..38b21dccbd 100644 --- a/xen/include/hypercall-defs.c +++ b/xen/include/hypercall-defs.c @@ -196,10 +196,10 @@ dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_= buf_t *bufs) #endif #ifdef CONFIG_MGMT_HYPERCALLS sysctl(xen_sysctl_t *u_sysctl) -#endif #if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SH= IM_EXCLUSIVE) paging_domctl_cont(xen_domctl_t *u_domctl) #endif +#endif #ifndef CONFIG_PV_SHIM_EXCLUSIVE domctl(xen_domctl_t *u_domctl) platform_op(xen_platform_op_t *u_xenpf_op) @@ -299,7 +299,9 @@ hypfs_op do do do= do do #endif mca do do - - - #if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SH= IM_EXCLUSIVE) +#ifdef CONFIG_MGMT_HYPERCALLS paging_domctl_cont do do do do - #endif +#endif =20 #endif /* !CPPCHECK */ diff --git a/xen/lib/x86/Makefile b/xen/lib/x86/Makefile index ac6d4369f3..124af43ea0 100644 --- a/xen/lib/x86/Makefile +++ b/xen/lib/x86/Makefile @@ -1,4 +1,4 @@ -obj-y +=3D cpuid.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D cpuid.o obj-y +=3D cpuid-generic.o -obj-y +=3D msr.o -obj-y +=3D policy.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D msr.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D policy.o --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722915; cv=pass; d=zohomail.com; s=zohoarc; b=ZWcg9L6c/1HAq4trB2GIgm2YePdNIwcL/ss1hqpV6gG0CxzyCVr2eByxoKks6ewWvTPeaCoBNdNopDdKccem60Hb7Q0XZ6qXhV97y5D4JbtSg9j78bV02+ztWdMsAnEasLMgFjP7fk68hfOw92Rx477XRadL1/VlcknEg/ViGoo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722915; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/3CdRgNX28aRLgpd7ra/As+vBGn4QaDTgU87mycvl5g=; b=cLOVH7GuJdThTdUFLounz5pFkg0BTLjl0J+U8KnWwj4+GWejdToO4FRKzOdHI64t716CKSc92mlq7hwWRLSHjp9Je44YTl19yi5yILiExzte43xemHmOW1hrTCk5i+hrqvjMuMWUyRe58Rl5GNU9un5iCk9Vck22nhAguRblB+E= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722914953439.1629417131744; Fri, 21 Nov 2025 03:01:54 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168657.1494671 (Exim 4.92) (envelope-from ) id 1vMOtO-00060T-CQ; Fri, 21 Nov 2025 11:01:30 +0000 Received: by outflank-mailman (output) from mailman id 1168657.1494671; Fri, 21 Nov 2025 11:01:30 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtO-0005zX-5e; Fri, 21 Nov 2025 11:01:30 +0000 Received: by outflank-mailman (input) for mailman id 1168657; Fri, 21 Nov 2025 11:01:28 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrV-0007TB-KM for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:33 +0000 Received: from CH4PR04CU002.outbound.protection.outlook.com (mail-northcentralusazlp170130007.outbound.protection.outlook.com [2a01:111:f403:c105::7]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 27952b1b-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:31 +0100 (CET) Received: from CH2PR05CA0052.namprd05.prod.outlook.com (2603:10b6:610:38::29) by CH2PR12MB4039.namprd12.prod.outlook.com (2603:10b6:610:a8::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.12; Fri, 21 Nov 2025 10:59:25 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:38:cafe::f4) by CH2PR05CA0052.outlook.office365.com (2603:10b6:610:38::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9366.5 via Frontend Transport; Fri, 21 Nov 2025 10:59:24 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:25 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:22 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 27952b1b-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S7GrE8FJe99xLbm+R71hcFOTciEGLT/wRsXTXslT39Xx3BwionQhvOWPK5f+Q1J+ZMjAXBoIUtmbfS4ZywGJB1oC1FQ3lY1jNL7HD2n2sAUE0Qkkzg+borfmRsv5f8hy+j7EEHvCoUElbPnQj71RzISY8Doos4BVbaSkzlZM5lx5l3+tVCz9qsx+oBUm1WJ5B79KTSJq+AvtB7KvWgrIRBKHMJ2KGQjT0+XKlJOtCOlBZWaAYyjrsvXwdYJmgqN92pabH9p6DT3+lBAaX/9QHIeH6Jt5u8uTqWjgVgMp7SgMscTlzbIVMesyBJGh0BjZCFlNt9kOKuqMaTuTwJnBZQ== 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=/3CdRgNX28aRLgpd7ra/As+vBGn4QaDTgU87mycvl5g=; b=tOEZvQg2YoE/LXN4F8i5P6POz03ctMbMxwiOym74gZnXMK9RQDPCs4It+loljZWX8BULkJUcBrXRAj0hl6EEw+ihGFBNFHpKja66VurL6TCNhhg6wCW6XF3hMJGlRv7VHv3HDcx+S9529V7l+2bh2uVNcxtMtAoOIVK6MR5ENCI93Ph/uWai2Ri4tWDk5cq2zp3S5+qHbClw7Ik/d9biIpTa3uWjvuV2l6+TK4Qjx5wJtOnaMRyzGWjMTjRP23hiyUw2b53C8utHE+46lWVeTbxj2SSCpE8gPhfuAPVet6rQIMyHK+F1rnlVZtsMuUItPhuQfLUBWlcksP/ngStHCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=/3CdRgNX28aRLgpd7ra/As+vBGn4QaDTgU87mycvl5g=; b=0oMpPadpLGyBjXzhIf0id+aWBwVgaH/bCtt4jQMNd3AseoeYv+G7dwYp3hO2XGYeKOnFju1shZFc63PZHELNA/isT5ZVidtcRW16Kk/Nq2FR80O7j/a8yT+jr99c/JOryHEeFBDifmTKt45qufnQUnGH7BEZKtNehpt2slCV2po= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Stefano Stabellini , "Julien Grall" , Bertrand Marquis , "Michal Orzel" , Volodymyr Babchuk Subject: [PATCH v4 21/24] xen/arm: wrap arm-specific domctl-op with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:57:58 +0800 Message-ID: <20251121105801.1251262-22-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|CH2PR12MB4039:EE_ X-MS-Office365-Filtering-Correlation-Id: 91530662-0d94-4da3-69a4-08de28ed08e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wQDsyskaD56dipD8ZswasXFyTR+fJp9DnigAiHQMatypDySz1vja4iXhELiO?= =?us-ascii?Q?jex5CyEwb0UE1hw8YweIuh/NgxA7SXBCRdsnB3uNhIXaejnI8kyuPPGPs3BS?= =?us-ascii?Q?9mVvu8WXeiGFG60ZJriMiNGkocoQgmJCpHOU1YPnzk7wAbuNy1QSbUjP8sui?= =?us-ascii?Q?GE64xGroIytSBhvCV+S4ZboEzmzpbwcjUGoov5dtMtIsDeWiR91xKGOX/vOu?= =?us-ascii?Q?zkGcuV/PyGyzVXbJl0BxNhucAfkijgya/HCtiyD05Pq0xsJExEpkZnuku1fP?= =?us-ascii?Q?su4B9+4TdFby8gnd2ub78FucC9WAcYu0s+9+Bn3JEQ0gSF/0oGZgu7nSF+1u?= =?us-ascii?Q?3q3cnFKtcW6OfdXNAR25NwV+wQTxQyvLu+BStUi8VVthQ1+lMoNvzRA2DyYa?= =?us-ascii?Q?tO8suyfIHGusXV37AOyJh89rzcFCfyHamC8CQ8yA4C1m44p/LEL0i4IKgRsg?= =?us-ascii?Q?vplOhPTsI0hw9G8JRrH+/ZFy5mJCGwH8W4H+Q+ck+1IOz47zL8LhzIETVSCz?= =?us-ascii?Q?tUMhMU7ugmIRCCtxc7MAfjgp7b6Vno/EKx+x7lMQAp81TCJergimMmvd0Quk?= =?us-ascii?Q?q0PBE0ieHmZwZ7stUITKSMhTmLLFr856G+bVEBMySrhx1R3WbmasFCXUCdlL?= =?us-ascii?Q?lbFsYeXCkqXdev7ZZSAJGN6YI1bqo7RPEcfMDAPKP5ZcRlS6OlOHn7JUKTFU?= =?us-ascii?Q?S/nyITc5JZJcHGPNYwl7wmk9YDU9EG6OinkyzABQTOJ7zala5KLBl9TkvZ1F?= =?us-ascii?Q?u1rgIaIHCNYghc0AsUy/cWTtij46m5XiNhrvI0I8SyBnNChnABvuwvRb30XV?= =?us-ascii?Q?qfeuwipGvq3pVZXo++4AMUNjrMhcME8blPO4SNXUaT2n9MGzMOfhCiPlAGvJ?= =?us-ascii?Q?SgxJY8QvA7EQVA/j6WcIMWwuqSgnRDgJf9jcmf2DWPn1DuHNgyUIZjqxrLKm?= =?us-ascii?Q?CWAenJMXYYdF4EfGbFPyoDRT4mw2/OSMJ+YqeEUBSINgJtu3zb/NcnRwiQb8?= =?us-ascii?Q?9BJFLkhNzykmfETr/fntRT26ipLDxRJyUajf9DzY6dao6yx2KXYRwa11QLRc?= =?us-ascii?Q?EeYlYaopjbraqzuzhfXRyTFqG1zoRCJSosg/lz6KoNjYjyqbUTIXbN1Ducc4?= =?us-ascii?Q?j4XHoFrUWjUg+FxEqjWbN0TzWFdUoEUzjMC1ZntRCZr4KkDtWkinWbvlns/u?= =?us-ascii?Q?NqyIg2paoxUheKsj7cUhI8JE604pNdnrCmiQlxSJIvisVze15NhQHq7K7YKM?= =?us-ascii?Q?CMb96rPJcddv+Op2+iJ7rnt8o1w+tAgeRGRkdEjPFf2Sn+1YezBcasLEQhKH?= =?us-ascii?Q?9NEaB4qwfZbx4klVKxka1QOwafINy4DwKN5m1X94UijeY+QFLVidmmRpPrcJ?= =?us-ascii?Q?JgURl9CSw8ytZnoPllLZ8ct9F1U5Sr00DQ+K+GLxQxCMhCiAjOX0UKm5etNS?= =?us-ascii?Q?qieYFZyflnGh8zpJU2h9pcjDCuCQ6CJ7+3Jj1pZw2l8rynsbzPyvfhMph9Py?= =?us-ascii?Q?9Zt6LFogHHMKNkaEIj/rxg8frgZ5araPjNATNGSFLjHTfoBbxEa0qDpPFHRZ?= =?us-ascii?Q?SP9D8AaiVWWRYk48ccU=3D?= 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)(36860700013)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:25.4193 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 91530662-0d94-4da3-69a4-08de28ed08e0 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: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4039 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722915595018900 Content-Type: text/plain; charset="utf-8" Function arch_do_domctl() is responsible for arch-specific domctl-op, and shall be wrapped with CONFIG_MGMT_HYPERCALLS Guard arm-specific domctl.o compilation with CONFIG_MGMT_HYPERCALLS. Otherw= ise the whole file will become unreachable when MGMT_HYPERCALLS=3Dn, and hence violating Misra Rule 2.1. Signed-off-by: Penny Zheng --- v3 -> v4: - split arch-specific domctl-op into x86 and arm --- xen/arch/arm/Makefile | 2 +- xen/arch/arm/arm32/Makefile | 2 +- xen/arch/arm/arm64/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile index 2aff1a1630..2f4593f5eb 100644 --- a/xen/arch/arm/Makefile +++ b/xen/arch/arm/Makefile @@ -20,7 +20,7 @@ obj-$(CONFIG_IOREQ_SERVER) +=3D dm.o obj-$(CONFIG_DOM0LESS_BOOT) +=3D dom0less-build.init.o obj-y +=3D domain.o obj-y +=3D domain_build.init.o -obj-y +=3D domctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.o obj-y +=3D efi/ obj-y +=3D gic.o diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile index 531168f58a..f8cbf14211 100644 --- a/xen/arch/arm/arm32/Makefile +++ b/xen/arch/arm/arm32/Makefile @@ -4,7 +4,7 @@ obj-$(CONFIG_MPU) +=3D mpu/ =20 obj-y +=3D cache.o obj-$(CONFIG_EARLY_PRINTK) +=3D debug.o -obj-y +=3D domctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-y +=3D domain.o obj-y +=3D entry.o obj-y +=3D head.o diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile index 6491c5350b..6b77a15abe 100644 --- a/xen/arch/arm/arm64/Makefile +++ b/xen/arch/arm/arm64/Makefile @@ -6,7 +6,7 @@ obj-y +=3D cache.o obj-y +=3D cpufeature.o obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) +=3D bpi.o obj-$(CONFIG_EARLY_PRINTK) +=3D debug.o -obj-y +=3D domctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-y +=3D domain.o obj-y +=3D entry.o obj-y +=3D head.o --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722922; cv=pass; d=zohomail.com; s=zohoarc; b=elWRJCYL6SATGrJs8mWp0ZhRb/sIIV8FATs7ahhGvvSQ0a6pJosoBiWfFkzHNg8NP0FKfMdKQZz6P3pKUPaa0aZUe/YDxFz2BIuO8cv2M/jdO7hRPB4R3mCjzX4pqAk+aMsMS2zPc5AFOC3sksfkAKHXq/Q+QcLcmq615n92sg8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722922; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fD9kW6Mt2h6oTqu5hKCaJHPDlQEFB90rWIR9p7g5wLU=; b=bB5KL9zz4ofthp2cO8W3BtRS7f5Xyka8p87Rox/uw4F0tKs67EyhebI3yPuRCCnQKNf3bSmCZ2igWfZiuG6s5uh6HDMTvYuAa64tUMuX7vkxPZfeHZvKbpjGOCLgW8FiI7E6hSi1VWUGTd+Lp9sOrjpSCRnNkBRGYUNDYZlPZos= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722921486471.83449277040563; Fri, 21 Nov 2025 03:02:01 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168689.1494736 (Exim 4.92) (envelope-from ) id 1vMOtZ-0008Mh-8U; Fri, 21 Nov 2025 11:01:41 +0000 Received: by outflank-mailman (output) from mailman id 1168689.1494736; Fri, 21 Nov 2025 11:01:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtY-0008Kj-VM; Fri, 21 Nov 2025 11:01:40 +0000 Received: by outflank-mailman (input) for mailman id 1168689; Fri, 21 Nov 2025 11:01:38 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrW-0007TB-Kh for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:34 +0000 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazlp170100001.outbound.protection.outlook.com [2a01:111:f403:c105::1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 28ee51c7-c6c9-11f0-9d18-b5c5bf9af7f9; Fri, 21 Nov 2025 11:59:32 +0100 (CET) Received: from CH2PR14CA0001.namprd14.prod.outlook.com (2603:10b6:610:60::11) by DS7PR12MB6023.namprd12.prod.outlook.com (2603:10b6:8:85::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Fri, 21 Nov 2025 10:59:27 +0000 Received: from CH3PEPF00000014.namprd21.prod.outlook.com (2603:10b6:610:60:cafe::bf) by CH2PR14CA0001.outlook.office365.com (2603:10b6:610:60::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:59:27 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000014.mail.protection.outlook.com (10.167.244.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:27 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:25 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 28ee51c7-c6c9-11f0-9d18-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X/Dc5AUUoxY1rqC0Dv4KynBxYJutBlyR9I0r+lu3JJymWtr7k/c29c3IShSDccw2zyT/YLX73MfT2v3Ko4FBP1KEHEdMQrSG7OxvITzKNf8rq4ogNCv+lwRx5pvirUXweRy99shzjQH4HlVzT2h40QyHGbNuMsvmBLzGo2dzwvqvtetjPbpLhjJWux0vTdw48vNFU99NFcjxz3YJTVHIcLee+WvA+va6vkI+Py+zmpk+dJCLQZTk42gFmdVIFskDgTY+G7QCK4crvMvF9b+sYgPQb5WQ7mmWtHSSUDTnDRfYHIwYFrPYKHqcc+wErHu+jX69VvJVVG4ldYjR+t2cRA== 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=fD9kW6Mt2h6oTqu5hKCaJHPDlQEFB90rWIR9p7g5wLU=; b=BnFl7d34GzvCEU2K/Sznq1ynbAKS881m2VEe26xn4eDeJhT7oseN3gFDDvUAfK9uIZU2oeGWVSsvIq5adhGy2R2i437lyLv4d3nTVckJst6LT5qTYr0SihxlNLIGxaLa1guTnCa8PE3ZmKHzgxDRwhqSlyRyHaIJuEs3eR07iW5E3mjOj+7A3HUQfm68T6kNZC0AQvEFxeu+Oq4nwExSOHeimbfnz5+TGkZ1QfFvMSt/PrxGTM7g3KqC8/zHt5rCxs3p/asM5wNKpUxVcWmDDow6VS3kUMAfeH7KTW684Cy6xTGwG6EESRKu7hR5UCYoTZuSFmpRLGzlQQxNT7ZQ1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=fD9kW6Mt2h6oTqu5hKCaJHPDlQEFB90rWIR9p7g5wLU=; b=EQp7vPiNVQ74DkQJ2TPy/99tmc935updLG4dedUfdi0ZlBW8XezY2q33tmmuz69+4TB/Z2UTfwYb37aA5g4IeYvhFpe7TbPwk6vZKYzX4TzemkNYK3eCYhRffsosEfB/sDmcgenHLMALPWwlBI4EdF1p2CB41AJaCaTPoF+kxtQ= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Subject: [PATCH v4 22/24] xen/domctl: domctl_lock synchronization only when MGMT_HYPERCALLS=y Date: Fri, 21 Nov 2025 18:57:59 +0800 Message-ID: <20251121105801.1251262-23-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000014:EE_|DS7PR12MB6023:EE_ X-MS-Office365-Filtering-Correlation-Id: eeaa6272-e1aa-44a8-c775-08de28ed0a17 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ozAS7wfXu9zG929pj/IzXpXjKzp1BlouDCfPqBZYf1M+5lDLZwEryWWx5OKX?= =?us-ascii?Q?Y0fNawyncPkZ/FX3pp17TRgvS65X2uxIIHMDw/oK6apqIe+iiDDdSNvafcIO?= =?us-ascii?Q?TSNTCBoL/cijyADL6FdR7egg4/cq57OTJfW5dAuTe0wEc/egRFC5KK8S3Vli?= =?us-ascii?Q?Rkayv96jbIyB1uGYhPsIQ7awlWzqlwpY1I+1Mw0qKh5kPrWydcxFbIKggvta?= =?us-ascii?Q?fZAQnKSPrYTNvilYLMCHQFwaqmB6/kaRE+gg35SaXtjk4dhx4HtvcvVv70Zd?= =?us-ascii?Q?vZODkbAgMZ8APdbv6Caa9IRLwQHb7aPsOUaBCo1uGYyj8T8Y4+qx3AoZfBSe?= =?us-ascii?Q?wXt7LkkHDY0tjyX+S73WTHWiR8PWCSLR5el1f+sCUYs19gHD5K44RFR21AkX?= =?us-ascii?Q?jaRAjS5Vo9t+HlqRyjRWA4g6w00PkA7ZfLvAVfDCHa++woISlyF4oR/bIP6o?= =?us-ascii?Q?yJeeKjPf5bAUAmh92vlteA8vdi/bkQjLG+hxltIJAa5kpRuSMthen1XkwRz4?= =?us-ascii?Q?8Lwk2czVEvGWz6fZE0b7lFm0lBPnvUPTzUxX1SxZA/xcZUR9Ay5wneNleMgd?= =?us-ascii?Q?LTt1A9EpY/OzZeJDn5/+6nwBjyccCMpQxdP71FVed4n4gffipNuoBYkRDHP/?= =?us-ascii?Q?JzgdusFlYcLrKHfqpEnoU28RryfhvUW1laK7ah8KbabPXanf9vXk4COXc5xf?= =?us-ascii?Q?x1i21t3+fkQTZsvIxJ6ArIxDXNn3JXjHfG1q5LKC2ESLN/JdVp4Ld9FDPX6B?= =?us-ascii?Q?JNMas03IG+N02ZZG+iq/FnPo+gZJtQPjzX762ZYsJNnnn2m0ChPkO1oIdxNL?= =?us-ascii?Q?cZjLMRltYuQI5CYy+x0njxWWmFP8Xn1I+2RXBz4y2D2j8Hg43ehx2MyWhJob?= =?us-ascii?Q?F40YGbo9ZbFNlWpP5eiopGnwajPnQFZKgVjAZ89cNDXlY3Q/b/HE7+MctK4I?= =?us-ascii?Q?PwkaLhVJZf9BdXN5Vh/NlNdZFw6j5SYgXybPXzmoyUg3JyYU48aObSGPCfxT?= =?us-ascii?Q?2PB70xidtflOWsP4tUlF38oW0+FjGeUjQNmr+6d7auLKqEzIbNml1e2jncdy?= =?us-ascii?Q?ZeS0LHf7IczrM6+exDJI1muBRvYHFx3sHT5v+NlhSG1T7pP7y41UHNY8eFzt?= =?us-ascii?Q?nE4ytm+PRyDB44KVUYM9tUQsxEqTtD7TQNs1RqWDUd1SCgy6xnrJy5t8YyWl?= =?us-ascii?Q?GQ8XnPnSaP+ELOA9hSQCS7m72O41SphEQp4+qZoIzBJuj8541r/C6THQsucA?= =?us-ascii?Q?godVtDj5I/iVRcj1VxCAXfohPb/Va9q4q1+D6BBuZp7wChwtwt8zaZSkW52s?= =?us-ascii?Q?cPO++fAh/QapOSzyydweTQQqjBQb8hyP06q6LstrJ8eUwSoWKfzCeC0FKOy2?= =?us-ascii?Q?9tiRJOhgiM1u2mJyY0Dn0FuRAPCS19YRIQQ4yqfKxMmCSnjP/gIZzGk3R417?= =?us-ascii?Q?wG0xolr18XbXSKKATcmUDBnaQ3N0RCC/qwy8GU+j3Zo1uRR5pv58563lQJlA?= =?us-ascii?Q?GI5fYYDZdmhgrBqZm3Wv0Eh3vz/m2eQDOqYfk5GuJmiSY3xcMIN93vBCR8WE?= =?us-ascii?Q?SPiiLJnAwETLRNU4dVc=3D?= 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)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:27.4346 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: eeaa6272-e1aa-44a8-c775-08de28ed0a17 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: CH3PEPF00000014.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6023 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722923666018900 Content-Type: text/plain; charset="utf-8" Helper domctl_lock_{acquire,release} is domctl_lock, which HVM_PARAM_IDENT_= PT uses to ensure synchronization on potential domctl-op altering guest state. So it is only needed when MGMT_HYPERCALLS=3Dy. Suggested-by: Jan Beulich Signed-off-by: Penny Zheng Acked-by: Jan Beulich --- v3 -> v4: - new commit --- xen/arch/x86/hvm/hvm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index b03f7dfcf6..8afd0d9d7d 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -4268,7 +4268,7 @@ static int hvm_set_param(struct domain *d, uint32_t i= ndex, uint64_t value) * the domctl_lock. */ rc =3D -ERESTART; - if ( !domctl_lock_acquire() ) + if ( IS_ENABLED(CONFIG_MGMT_HYPERCALLS) && !domctl_lock_acquire() ) break; =20 rc =3D 0; @@ -4278,7 +4278,8 @@ static int hvm_set_param(struct domain *d, uint32_t i= ndex, uint64_t value) paging_update_cr3(v, false); domain_unpause(d); =20 - domctl_lock_release(); + if ( IS_ENABLED(CONFIG_MGMT_HYPERCALLS) ) + domctl_lock_release(); break; case HVM_PARAM_DM_DOMAIN: /* The only value this should ever be set to is DOMID_SELF */ --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722904; cv=pass; d=zohomail.com; s=zohoarc; b=M129/MBpNOACtWM1rZhr6W9qfw5RS/iIZ0gascBOMXFWbXnuvxIGrUCxrqUlqUrMmfhJKluPQeIGwCfJS/OcSWCByM8zB8iGRia30qbCCsMhtJsWXuHDAHA88VbdtOj1TRmhRImzClX96AAVuAIuwOrXT/EoDNLIY4WggR1HT6I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722904; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=VGsKqP94ALXNQ4bxTHNd4P70wKk3fIYwcVEXDRmLYiU=; b=VipqD8P1MCK1P9I9h9grTbmUGmrQVD/1DPc6y5PbU8TORCyqLj6gO1FZha2HzRknUl9+rR6JOceFQJZWJ2VqRkFYs7iO4CUvO/vkoET6sCqlBLvHoouOaNTqYOtD6jNsgRyOQLcVlEollq61BzJQyRh7fHmAMkYLjzDPFzIqrI0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722903978917.5134850699266; Fri, 21 Nov 2025 03:01:43 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168651.1494647 (Exim 4.92) (envelope-from ) id 1vMOtM-0005Mt-BD; Fri, 21 Nov 2025 11:01:28 +0000 Received: by outflank-mailman (output) from mailman id 1168651.1494647; Fri, 21 Nov 2025 11:01:28 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtM-0005KX-1a; Fri, 21 Nov 2025 11:01:28 +0000 Received: by outflank-mailman (input) for mailman id 1168651; Fri, 21 Nov 2025 11:01:27 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrY-0008Dv-Aa for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:36 +0000 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazlp170130007.outbound.protection.outlook.com [2a01:111:f403:c112::7]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 29909f48-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:34 +0100 (CET) Received: from CH5PR02CA0003.namprd02.prod.outlook.com (2603:10b6:610:1ed::23) by SJ2PR12MB9085.namprd12.prod.outlook.com (2603:10b6:a03:564::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:30 +0000 Received: from CH3PEPF00000017.namprd21.prod.outlook.com (2603:10b6:610:1ed:cafe::f4) by CH5PR02CA0003.outlook.office365.com (2603:10b6:610:1ed::23) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.12 via Frontend Transport; Fri, 21 Nov 2025 10:59:28 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000017.mail.protection.outlook.com (10.167.244.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:30 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:27 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 29909f48-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WPXENksRSRExohJNkJTf8jM2l7XMkXmnh4dcViUZcv0lrt7C7YWvaDi9GppbM1t4jJ0l85PmL8C2v3gHowekTW3+q/FkvFhvF3S7B/uBahBGo5PdvhSV+sM2v8wASNt+MMIb7SjnRtVdTWqzxzbjUxC2xULOGOF9x5DvM37crs8Y/2CKo4rAPmAwwfWLx1lo0hd9TCI5yFfGTmVaJTMvJP64TgtSjX5cUCMLZhasib8nKSot3Z/GV3LW7/W42SXj5JxJl/mV2iQCztM24tPjjDRAUvKzZ7WnoKAR23TgDFigyV+eMc4qO/xMcCbI1/M8cgjaB4nwIjDmPbuCZUMHyw== 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=VGsKqP94ALXNQ4bxTHNd4P70wKk3fIYwcVEXDRmLYiU=; b=fxiYeParN6pKl2epNx+GwvRWi54ixznpOSrlD4B+RiuuCturhUgdaCX2SUvCWOhMihnGqVhTGsgI3iIfjBaAihzGyhvUsYe5qUEKfjPN2j0hwifNmDkhHEmOj/KHPoh7NoIbF+E+hktLNNKiWt3diILx53hxX7HrkIHnDcqea46tJvXwIutP8Qlkz9fSl91EzVorx7+8SjsynraaUm9z4tZ+WP7VF/nBM4gg1dhZxrE2g8OgPUxHgHkPVK8CJo+rqrH1SlCL0Dj4ciXPKIkoID/kyZwY8K8Sn+juqx0Gra9GCH7csLpKB5nUiW9M/Kul/9wWDkCwy29wNimnpD5ouw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=VGsKqP94ALXNQ4bxTHNd4P70wKk3fIYwcVEXDRmLYiU=; b=hNC1bhduSr0Pk5UojnMwZFzW31N5urIhGVIPg3A/H5Mx4ooG0ycfEyZaWbXwKDaTvp1VWI9yBSqGJ34xEs5suZ2aTAaHyZhk1iCyxiobvSB3rl2syUkZI74ErbXHIc+egTFbR0oi5YrWnPRpXinSGEm3UT37FdeFPU76+cJ4imw= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Andrew Cooper , "Anthony PERARD" , Michal Orzel , "Jan Beulich" , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , "Stefano Stabellini" Subject: [PATCH v4 23/24] xen/domctl: wrap common/domctl.c with CONFIG_MGMT_HYPERCALLS Date: Fri, 21 Nov 2025 18:58:00 +0800 Message-ID: <20251121105801.1251262-24-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000017:EE_|SJ2PR12MB9085:EE_ X-MS-Office365-Filtering-Correlation-Id: d55b4dd0-e5e6-48c4-3455-08de28ed0bbf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?MbE08qhbdUhwvHxi8Tvl0MmgzHw7Fjsoqz5zoMNQjVTHCkfW03pYsBKtaSYt?= =?us-ascii?Q?AQbNBiOmJI4BJVob9d9cMXW6yJ+tz6VGndKNW/4Q4m5x18ve4NjKmhchqAlf?= =?us-ascii?Q?zKqODKFa8ImoL54psgT0akADFz32yptHNg7zlokF2fOnOy34M/f2GmvRArmY?= =?us-ascii?Q?H0FaAmzeI1jNJ6ihkgS4DrI+Y+4NBAhVUB24pwJLABMntybr154HCluqhe/K?= =?us-ascii?Q?/4LGuOVedzPi7zfoA2LoWw5RrbQsNU9NsribVImOexwavTFIrCMTLspr0xzR?= =?us-ascii?Q?1W++ccDkiWyw2QidvJEMvXx9RyuLNY/eUHdjOUhe7PoKPitt7Jl3W94+vIp3?= =?us-ascii?Q?8MQbQzj37iA44XIyNrRn3Dasu88rMTO6+YNYMVWWnhoZUyT8CjnEYbjVJNX1?= =?us-ascii?Q?27/QwW7X3hKw1BYV+Oo5Qnw4SBVrzvXEE8vIB+P4gn9GYKyDX1zaPyHqcLGs?= =?us-ascii?Q?TGGVbmXvsIHQepAUHQcfB5qqA5HYNjFok+2IJ0WlbV1viluJTNKp8XXMnc7W?= =?us-ascii?Q?yo3QeeXVKp5WDXdmG3gKwdgqt85UwaEHOtu0VDPeTBYbmt4RKZVj3VgU37zK?= =?us-ascii?Q?7QTUObIfQbx4/HGqsOmdpcbNU6xOmOTHYDIoRg0pCEnW9t8w2Yfttss6INrW?= =?us-ascii?Q?APvBCxJnwXnl78hLE+dHJ4ROSNuRoU5C5HR5cWRg+N7FewSMaDVOwT3NCGgq?= =?us-ascii?Q?cw4J1CezlCU+SQUFv6eHbkf02BWxWJ7rIm5g+4gYXb+GDg5OZjd8icEiN6+k?= =?us-ascii?Q?kLUSuGIpHMJnNtzV0G2Xq6n7soenuMhEyNn/leYmd6chBMRXCNjcn+P6FyDa?= =?us-ascii?Q?kqPWg5ZoNy+6bCTaIxyXmfbng0Xg0D5E0h5pL0KBDlw2EvJHLxxExMtM71Sj?= =?us-ascii?Q?WBuMUxvBP8xFHOwjNJd/cH+Rc6HsOp467EXoPGHc4H14Egjkhk/eMQTmH4vM?= =?us-ascii?Q?WGYS01/GootABBga5fzQ0bv4XHN2ac7qz7OGwAcFTsqN07DAEyCUseuWq4Yi?= =?us-ascii?Q?98s/wMKUBh619S3Ng/LrG8S2DXLDwafpx38GJvaW0Xmg36HW7AB48dYwadaR?= =?us-ascii?Q?hGei8n6k58OVH1/+RTSPx5ukoDjH21U695s/xA03nVEVHEV4pht2wd5yrJ2M?= =?us-ascii?Q?VwqkAa4wWJ6QuexqUwKOldpGYHOoUGJpM/kbjinYzDX7asTTgoz73w5bFku9?= =?us-ascii?Q?QgLP/nA6sH/gZ65dp9S7zRIfkxiQebqK7/RXgLrp4cQPmgam/xh0cdMNDfjQ?= =?us-ascii?Q?BTlzKHDkJeUd4i064iq8pv9HCXu1153aGLQnw55tBBpiXy9OaVd1hdo2Em13?= =?us-ascii?Q?PUMCDY83VhVFo5CRqnHuhRCf3OS0KLAbh2nMsDFEOGz2CZeqzrp/2y+P4kae?= =?us-ascii?Q?f/XiCnPPYzTbG8NYRq6eJsFbzGL+1n2830csnKbU8f/PFFdTbKDsc7nLCtWC?= =?us-ascii?Q?95Yc9wzRaJlk5bDRLJrI/CJPxMj68YV9JwYRPjZtSFhYjgTvl8NaYlnTPwgh?= =?us-ascii?Q?JVUI40dziGhyg5q4STVAn3vr2OglYsMSjI9mcQGvltQccZGzEJJQJ02jVTNr?= =?us-ascii?Q?H+9VfQ9GdProqDsMjOM=3D?= 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)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:30.2334 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d55b4dd0-e5e6-48c4-3455-08de28ed0bbf 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: CH3PEPF00000017.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9085 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722905715018900 Content-Type: text/plain; charset="utf-8" Wrap domctl hypercall def and domctl.o with CONFIG_MGMT_HYPERCALLS. Make CONFIG_MGMT_HYPERCALLS optional and expand help message Signed-off-by: Penny Zheng --- v1 -> v2: - remove stub in common/domctl.c - combine the original commit of "xen/domctl: provide stub for domctl_lock_{acquire,release}" - adapt to changes of "unify DOMCTL to MGMT_HYPERCALLS" --- v2 -> v3: - add pitfall warnning in Kconfig help --- v3 -> v4: - refine help message --- xen/common/Kconfig | 14 ++++++++++---- xen/common/Makefile | 2 +- xen/include/hypercall-defs.c | 6 ++++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 973b8e26bd..5aecb88680 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -654,11 +654,17 @@ menu "Supported hypercall interfaces" config MGMT_HYPERCALLS bool "Enable privileged hypercalls for system management" depends on !PV_SHIM_EXCLUSIVE - def_bool y help - This option shall only be disabled on some dom0less systems, or - PV shim on x86, to reduce Xen footprint via managing unnessary - hypercalls, like sysctl, etc. + Management hypercalls provide the means for dom0 to manage the + overall Xen system and other domains, including sysctl, domctl, etc. + In a dom0less or pv-shim build, they can be omitted to cut down + on the Xen binary's size. However, this comes at the loss of + significant runtime functionality. + So be cautious to disable it, as admins will face missing a few basic + hypercalls like listdomains, getdomaininfo, etc, hence leading to + have an impact on device-passthrough and DM. + + Unless you know what you are doing, you should enable this. =20 endmenu =20 diff --git a/xen/common/Makefile b/xen/common/Makefile index 7c32fbd9f1..e0afc89591 100644 --- a/xen/common/Makefile +++ b/xen/common/Makefile @@ -71,7 +71,7 @@ obj-bin-$(CONFIG_X86) +=3D $(foreach n,decompress bunzip2= unxz unlzma lzo unlzo un obj-$(CONFIG_COMPAT) +=3D $(addprefix compat/,domain.o memory.o multicall.= o xlat.o) =20 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y) -obj-y +=3D domctl.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o endif =20 extra-y :=3D symbols-dummy.o diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c index 38b21dccbd..5343fd7a6f 100644 --- a/xen/include/hypercall-defs.c +++ b/xen/include/hypercall-defs.c @@ -199,9 +199,11 @@ sysctl(xen_sysctl_t *u_sysctl) #if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SH= IM_EXCLUSIVE) paging_domctl_cont(xen_domctl_t *u_domctl) #endif -#endif #ifndef CONFIG_PV_SHIM_EXCLUSIVE domctl(xen_domctl_t *u_domctl) +#endif +#endif +#ifndef CONFIG_PV_SHIM_EXCLUSIVE platform_op(xen_platform_op_t *u_xenpf_op) #endif #ifdef CONFIG_HVM @@ -279,10 +281,10 @@ hvm_op do do = do do do #endif #ifdef CONFIG_MGMT_HYPERCALLS sysctl do do do do do -#endif #ifndef CONFIG_PV_SHIM_EXCLUSIVE domctl do do do do do #endif +#endif #ifdef CONFIG_KEXEC kexec_op compat do - - - #endif --=20 2.34.1 From nobody Sun Dec 14 05:54:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.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=1763722906; cv=pass; d=zohomail.com; s=zohoarc; b=OjgI5GhEMYDQCMEVvpMJpvdFtQl6dCsPpATzaE0/Lm29X+GAcCUcFlv1oKslSDPetn+wWFtUVmbYRRrpM7tbXYZ+k0lKnXxQxSdyyhYOSeGkLbBgXG+bBN1p4Gqdl6XsKpEiblzHdZFmAVkKZ5q3Na2Lke3R7kK4y3zZc5e0cNw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763722906; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZHVEQoOxexn5927jgQl87XVwlTFpequA1CFs0WVDAOc=; b=kpddipzXto+1M1Uwu7R75azupvYdNsiCaQb8+gzdt6VlYxRT0AjH2YLNRXSsVp/7biUbUfQo6teMZXxzUxJ9DnzcIfW6HDKVzlTJPqLcl1PH+rIPhbvh7czwGB+fMAJHiX43MAJgfR2hM1upPa9hbpqSKmfTyihjpUPw6qcwBIs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1763722905243333.103839959183; Fri, 21 Nov 2025 03:01:45 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1168649.1494636 (Exim 4.92) (envelope-from ) id 1vMOtL-0005HG-NZ; Fri, 21 Nov 2025 11:01:27 +0000 Received: by outflank-mailman (output) from mailman id 1168649.1494636; Fri, 21 Nov 2025 11:01:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOtL-0005H9-Kg; Fri, 21 Nov 2025 11:01:27 +0000 Received: by outflank-mailman (input) for mailman id 1168649; Fri, 21 Nov 2025 11:01:27 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vMOrc-0008Dv-Hu for xen-devel@lists.xenproject.org; Fri, 21 Nov 2025 10:59:40 +0000 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazlp170120002.outbound.protection.outlook.com [2a01:111:f403:c001::2]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 2bcd37fc-c6c9-11f0-980a-7dc792cee155; Fri, 21 Nov 2025 11:59:38 +0100 (CET) Received: from CH2PR07CA0038.namprd07.prod.outlook.com (2603:10b6:610:5b::12) by DS7PR12MB8418.namprd12.prod.outlook.com (2603:10b6:8:e9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.10; Fri, 21 Nov 2025 10:59:33 +0000 Received: from CH3PEPF00000011.namprd21.prod.outlook.com (2603:10b6:610:5b:cafe::8) by CH2PR07CA0038.outlook.office365.com (2603:10b6:610:5b::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9343.11 via Frontend Transport; Fri, 21 Nov 2025 10:59:29 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000011.mail.protection.outlook.com (10.167.244.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.1 via Frontend Transport; Fri, 21 Nov 2025 10:59:33 +0000 Received: from penny-System-Product-Name.amd.com (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.17; Fri, 21 Nov 2025 02:59:30 -0800 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 2bcd37fc-c6c9-11f0-980a-7dc792cee155 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y795LHqaRSkPETI0WU1hZJvzWj9hi6uvR6B3XZmSLsVw8kUioNCtCBUBzTVuA4t+my7F7f3TX1PiIpvNM8hx+DljU5s15NK7OP/PKtMcydw5RTNG0S4hHYGZGQjegZeRZN0fYO/GEMaUynjX8ezir1HqqwmVthKSE+J3CAEEHOCVkhhPU0Y4Zb5fIknWwnEonv+SFCSMXsw+djh5mFNOHfqM4FDMdUiOfqHbe5yTIJT2QdWzRa91JlKX2rm3A1bGfbB3zKbsiyv0WeQ+vqhBh+BSJ0KaCSi2TFA7WUjT00xWuaaNnP+IJTHl7At1VJRlCdo8gmh9OXCPm6+E+8m2iQ== 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=ZHVEQoOxexn5927jgQl87XVwlTFpequA1CFs0WVDAOc=; b=T9Y9cUQSSOorL3qysJ5IkttF68oK8RMtbW/toLJzV1YmWCm+yOOOw2h3PFp4pYyS8+VHHjymFN6DfqJ58cHboET95Ai51Uph+PqXWgHTfn/JNZqyYBMY7xXZ7I6v6NFwyyDYdiBVCfT7jBb6RZecuiB0uk00FgG5StVDtOyEbmzYKwLt+GFB4sqflN7BGBUz7kHz2I8tDznJeNtS9j3Kqd9iljKmLN9zaPjKr1i++iiLwWB6EIH4NJrMYVTYRDbtIUiofKE8cVOqu+G55DK3bxvm1UdpwmO6b9BtXR1y9/qZNE0/oc9/9rgGAX1ewrI79nId6zniKX5BxIkWlGBeaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.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=ZHVEQoOxexn5927jgQl87XVwlTFpequA1CFs0WVDAOc=; b=DlIeTma2LAtE46q5xigZlQsKxMVwGSuP6Mb1NPYeL78qF/qiZ1ztOdJ97/TM1PTWGKrQDfwerMEdwBBTy8feL5i3k6+uGuVqu/XUnTfE2DIrWu/tSWRhXzLWImmKFNBTwHG95niUzEb+S+n5QEdh3jmoLSIzaJBTPMs2PJTBMdI= 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 lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.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: Penny Zheng To: CC: , , Penny Zheng , Jan Beulich , Andrew Cooper , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Anthony PERARD , "Michal Orzel" , Julien Grall , "Stefano Stabellini" Subject: [PATCH v4 24/24] xen: move MGMT_HYPERCALLS out of PV_SHIM_EXCLUSIVE Date: Fri, 21 Nov 2025 18:58:01 +0800 Message-ID: <20251121105801.1251262-25-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251121105801.1251262-1-Penny.Zheng@amd.com> References: <20251121105801.1251262-1-Penny.Zheng@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000011:EE_|DS7PR12MB8418:EE_ X-MS-Office365-Filtering-Correlation-Id: dec71a68-9a2d-4a12-8258-08de28ed0dc3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TZ37Ry7dX1DGGGt8mVRegDLWQUKgwUs0uVXD3XBqutNJ8lRsLOmgo8cKzK3b?= =?us-ascii?Q?45N2vaZ5BOpuN9y4SOeQunL7sDX4cuOt/UJsRSfwjhQHzJNjiiiONatpQu9U?= =?us-ascii?Q?8J37M7zfOw5ycdmeiMzod4fh2AkZfi0Onm+p6p1rvg5cTsdV1k9k7K9obgqf?= =?us-ascii?Q?uYVg2CaMbL2dctvvpMdxUB9TA/ifc6AXggykhTeaOmcJI+MQsS+jRu9hF8Kf?= =?us-ascii?Q?zUkofgdr5hGu4jHMhi5EVZPNtyHz0QmEZsGrVa8bZm5Qp8DeNz0z0WKT0laj?= =?us-ascii?Q?8cDFcAILS5LWjpVWsU77Zkmi/XxYP5JAW1YZ3EQCOURFLIEOWMfOYrwyWb9j?= =?us-ascii?Q?7L7+0I08nDnaCJiUJ+UALEFiMsX2t+NofwOkw+ewM2DBA9wdahzwne1pipMZ?= =?us-ascii?Q?A1/I3SRPQ5GOBKvBWVhgZvCLGnprNnWrxTKk41YKfjX5a9eTtJB5rGHddw87?= =?us-ascii?Q?Upxu8fdjYW6svrkuCqUg9xK0Yk/X8TyLuLRrplPuIqQMn9KicZsdijBjvrNN?= =?us-ascii?Q?dt3u/QcbasOKs0L7FAyQXXnaEkcfcxvteSuaQjAkDvHrA1DJYVv+ogim/8/9?= =?us-ascii?Q?wMEJz/XH9sUNVzHAK7Xx/gZ5vD4LgzlWkirnJ6dI97eWBZ8+L6ID5U+9zqHO?= =?us-ascii?Q?XW/ZuFu2Le1DJ0A1cAdnc7Ev5OvoSm4heAljm2UGuTiaJ9X1aUIt1MEP98/o?= =?us-ascii?Q?Z/Y9JDxxJhgMdiByVArjTEBcPyKoy/Lh6loujUKwMmCUuXJBy4GfCBEmlG4P?= =?us-ascii?Q?Q/qNVpZFKDZY9GRNAQQaGrOhQISvi3hdSUz1DNLdstlEegla0LPITniY/+g3?= =?us-ascii?Q?mNwatBT8gcZNU/+wxmWsRbIE8g1LpHXiOp4pnW1lfOy+epu1DSDoI3osyzR6?= =?us-ascii?Q?dzf87BdS07iezX9zH1XGag7in8844ujFo7/THa7x8cOI6sFAD5SQF/BOd9Ja?= =?us-ascii?Q?Y5WVxCJBhQeYZy/YFtRJXBCaIhD6iev/hfildIZ3TWxsmK1PGjqXBUyLrH4U?= =?us-ascii?Q?uhZJZMznt+jVVGosQGbrVKr/LVblzvi/Fcu7Z1wWY1DbQ6nVf61xXSIzkv9j?= =?us-ascii?Q?IGNr1sLVeuwbIAQZbBDoRkYltDGAdVMgknz7M1hwMw0C2HbP322LY//cGyJS?= =?us-ascii?Q?NJR5qIXOqkjw1UhN2mNZUQuoMnM18rwxy3LtrYClJxftDU62gShGp7Yc801C?= =?us-ascii?Q?q5FF5WfFuoQk1dmTFOe0M1e1g+bcYEdQIM135InS8JudSEcY2A4GKXSgdqna?= =?us-ascii?Q?lZb07nb0JC+HzqFbTUGLiu3y+qmlKWe4TGBvH+Dqn4csrP7QlPPpbRm0mSke?= =?us-ascii?Q?MnPnxwMe9CIlNBm6qSnJU1RtamP/7V5Q5AR/PN+o5Z8jSBJ8TgpPhz9dyF0D?= =?us-ascii?Q?ZsADIQHOaQI7ccH4oaiFvtZN4g7DBUyAxLAZDy705zUbJJOZSHdUTU5cRBoj?= =?us-ascii?Q?jXuRePiGPnI1oHQqmKQ0NsY7oaUvt3dBMG4LaToi9wF8Vx9NH3e+zZFe8N2w?= =?us-ascii?Q?3KaAyfXfQbgBit3y21+nR6t0Sd8oLKOBENDs3NFEHRr+VcrOCTwdRIEc2Qnn?= =?us-ascii?Q?SyIN9wIMKQKTwZa3/WE=3D?= 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)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2025 10:59:33.5922 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dec71a68-9a2d-4a12-8258-08de28ed0dc3 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: CH3PEPF00000011.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8418 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1763722907643018900 Content-Type: text/plain; charset="utf-8" As we're aiming at moving away from PV_SHIM_EXCLUSIVE=3Dy, we are moving MGMT_HYPERCALLS out of it. Signed-off-by: Penny Zheng --- v3 -> v4: - new commit --- xen/arch/x86/Makefile | 2 +- xen/arch/x86/hvm/Kconfig | 1 - xen/arch/x86/include/asm/paging.h | 2 +- xen/common/Kconfig | 1 - xen/common/Makefile | 5 +---- xen/include/hypercall-defs.c | 10 ++-------- xen/include/xen/domain.h | 4 ---- 7 files changed, 5 insertions(+), 20 deletions(-) diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index 006a6e56d3..3aea179838 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -30,6 +30,7 @@ obj-bin-y +=3D dmi_scan.init.o obj-y +=3D domain.o obj-bin-y +=3D dom0_build.init.o obj-y +=3D domain_page.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-y +=3D e820.o obj-y +=3D emul-i8254.o obj-y +=3D extable.o @@ -79,7 +80,6 @@ obj-$(CONFIG_VM_EVENT) +=3D vm_event.o obj-y +=3D xstate.o =20 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y) -obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-y +=3D platform_hypercall.o obj-$(CONFIG_COMPAT) +=3D x86_64/platform_hypercall.o endif diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig index 52b22e5d17..3351afc5a1 100644 --- a/xen/arch/x86/hvm/Kconfig +++ b/xen/arch/x86/hvm/Kconfig @@ -1,6 +1,5 @@ menuconfig HVM bool "HVM support" - depends on !PV_SHIM_EXCLUSIVE default !PV_SHIM select COMPAT select IOREQ_SERVER diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/p= aging.h index ba5ba7324e..db3e5b8f31 100644 --- a/xen/arch/x86/include/asm/paging.h +++ b/xen/arch/x86/include/asm/paging.h @@ -55,7 +55,7 @@ #define PG_translate 0 #define PG_external 0 #endif -#if defined(CONFIG_PAGING) && !defined(CONFIG_PV_SHIM_EXCLUSIVE) && define= d(CONFIG_MGMT_HYPERCALLS) +#if defined(CONFIG_PAGING) && defined(CONFIG_MGMT_HYPERCALLS) /* Enable log dirty mode */ #define PG_log_dirty (XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY << PG_mode_shif= t) #else diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 5aecb88680..d396ac94ab 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -653,7 +653,6 @@ menu "Supported hypercall interfaces" =20 config MGMT_HYPERCALLS bool "Enable privileged hypercalls for system management" - depends on !PV_SHIM_EXCLUSIVE help Management hypercalls provide the means for dom0 to manage the overall Xen system and other domains, including sysctl, domctl, etc. diff --git a/xen/common/Makefile b/xen/common/Makefile index e0afc89591..45c0bda000 100644 --- a/xen/common/Makefile +++ b/xen/common/Makefile @@ -11,6 +11,7 @@ obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) +=3D devic= e.o obj-$(CONFIG_DEVICE_TREE_PARSE) +=3D device-tree/ obj-$(CONFIG_IOREQ_SERVER) +=3D dm.o obj-y +=3D domain.o +obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o obj-y +=3D domid.o obj-y +=3D event_2l.o obj-y +=3D event_channel.o @@ -70,10 +71,6 @@ obj-bin-$(CONFIG_X86) +=3D $(foreach n,decompress bunzip= 2 unxz unlzma lzo unlzo un =20 obj-$(CONFIG_COMPAT) +=3D $(addprefix compat/,domain.o memory.o multicall.= o xlat.o) =20 -ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y) -obj-$(CONFIG_MGMT_HYPERCALLS) +=3D domctl.o -endif - extra-y :=3D symbols-dummy.o =20 obj-$(CONFIG_COVERAGE) +=3D coverage/ diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c index 5343fd7a6f..ae56383bf7 100644 --- a/xen/include/hypercall-defs.c +++ b/xen/include/hypercall-defs.c @@ -196,13 +196,11 @@ dm_op(domid_t domid, unsigned int nr_bufs, xen_dm_op_= buf_t *bufs) #endif #ifdef CONFIG_MGMT_HYPERCALLS sysctl(xen_sysctl_t *u_sysctl) -#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SH= IM_EXCLUSIVE) +#if defined(CONFIG_X86) && defined(CONFIG_PAGING) paging_domctl_cont(xen_domctl_t *u_domctl) #endif -#ifndef CONFIG_PV_SHIM_EXCLUSIVE domctl(xen_domctl_t *u_domctl) #endif -#endif #ifndef CONFIG_PV_SHIM_EXCLUSIVE platform_op(xen_platform_op_t *u_xenpf_op) #endif @@ -281,10 +279,8 @@ hvm_op do do d= o do do #endif #ifdef CONFIG_MGMT_HYPERCALLS sysctl do do do do do -#ifndef CONFIG_PV_SHIM_EXCLUSIVE domctl do do do do do #endif -#endif #ifdef CONFIG_KEXEC kexec_op compat do - - - #endif @@ -300,10 +296,8 @@ dm_op compat do c= ompat do do hypfs_op do do do do do #endif mca do do - - - -#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && !defined(CONFIG_PV_SH= IM_EXCLUSIVE) -#ifdef CONFIG_MGMT_HYPERCALLS +#if defined(CONFIG_X86) && defined(CONFIG_PAGING) && defined(CONFIG_MGMT_H= YPERCALLS) paging_domctl_cont do do do do - #endif -#endif =20 #endif /* !CPPCHECK */ diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h index aa86a9f460..6d8cb9690c 100644 --- a/xen/include/xen/domain.h +++ b/xen/include/xen/domain.h @@ -185,11 +185,7 @@ struct vnuma_info { struct xen_vmemrange *vmemrange; }; =20 -#ifndef CONFIG_PV_SHIM_EXCLUSIVE void vnuma_destroy(struct vnuma_info *vnuma); -#else -static inline void vnuma_destroy(struct vnuma_info *vnuma) { ASSERT(!vnuma= ); } -#endif =20 #ifdef CONFIG_VMTRACE extern bool vmtrace_available; --=20 2.34.1