From nobody Sun Sep 14 08:22:23 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=1757490419; cv=pass; d=zohomail.com; s=zohoarc; b=W1P9BsYZqAeS3WY1QZL88I+48r9O41KjG4Y0DLxB+rmauxDb5vtHo+H4+Nqy/L3SWLuVfj9K0YRxF8MdHF6cHpJ3VAgw3B3V1unM+hcuR5QH/+VVQQ2CbIT6zA/7OrtG2OdYGvLo1B+G5MzEfb337Su+Y1Rh7q8WnkekqaF4I/E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1757490419; 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=iJfzE4HwZb5sVihZocpi8ewX0y4oS0xM9b4IWEsHGt0=; b=CUGa20dPWM2C7UqN0lV76SLOrIRXY90PCgEeqR6xASiPlRCkxXySu7MIExL7yXmUL/M1gaWxZFuHahJQG58SoFjgJg9F7iZaeQOLZ80N3hEegnp38bpo0Do+3q0vUbVdonVXTsVFB30b+enre6vGreAjZFlGupqP86dwy6iQToQ= 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 1757490419255423.18914564467764; Wed, 10 Sep 2025 00:46:59 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1117780.1463885 (Exim 4.92) (envelope-from ) id 1uwFXK-0001TU-CP; Wed, 10 Sep 2025 07:46:38 +0000 Received: by outflank-mailman (output) from mailman id 1117780.1463885; Wed, 10 Sep 2025 07:46:38 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uwFXK-0001TA-5p; Wed, 10 Sep 2025 07:46:38 +0000 Received: by outflank-mailman (input) for mailman id 1117780; Wed, 10 Sep 2025 07:46:36 +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 1uwFR0-0005yt-94 for xen-devel@lists.xenproject.org; Wed, 10 Sep 2025 07:40:06 +0000 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on20610.outbound.protection.outlook.com [2a01:111:f403:2408::610]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 5c3444b8-8e19-11f0-9d13-b5c5bf9af7f9; Wed, 10 Sep 2025 09:40:02 +0200 (CEST) Received: from SA1P222CA0041.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:2d0::15) by MN2PR12MB4205.namprd12.prod.outlook.com (2603:10b6:208:198::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.22; Wed, 10 Sep 2025 07:39:57 +0000 Received: from SN1PEPF000252A3.namprd05.prod.outlook.com (2603:10b6:806:2d0:cafe::b7) by SA1P222CA0041.outlook.office365.com (2603:10b6:806:2d0::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9115.16 via Frontend Transport; Wed, 10 Sep 2025 07:39:57 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9115.13 via Frontend Transport; Wed, 10 Sep 2025 07:39: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; Wed, 10 Sep 2025 00:39:54 -0700 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: 5c3444b8-8e19-11f0-9d13-b5c5bf9af7f9 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KqBPYcF+RKgCzD8AbvT4f+rcbgu9knei3BvSOYtE1ybXUFghYm4mESW/rO8YYWEzYH8ltkO5l12OEgzdTzHNhWhFGJq1JgJbpZLEuNd3TdMb/++RAAVHmPu7FiWxs9bVZZQ9dNmNukRnLsFZnUysGyimbo3ipNFUDLgao6+tSuieEvDIc/5pjQ3vDMSpXB7JQozuV8hzuLo3y2ZpOjoMVxnrsGqahyxbqNnBdKAcC88DrEFW4tFC3yzg0dU8C1sFD3gjYL18nEj9imzagW332DpXApXhGi/kXKv1pSjk/Lo2bNn3eSkGQOhrNXovoc1sXozUkqlWGXsQZCWuqQK7SA== 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=iJfzE4HwZb5sVihZocpi8ewX0y4oS0xM9b4IWEsHGt0=; b=lkZAarVVClCAEsVGn7VrAavyEl15skNJQjiOGUDj5JNpCozs8pxtFtkJJylcxZ6EYr+WsSIWXF8ctkpamCtvJzO6kjQSLvJQIASJtLpDNKZubmP4QGgChn3f+FUduZMlZxssfLYWbiYtvOSAQ4/5UvXlita50WZK93vGI8U047W7h+RcW11NgLIVombVrs3dBW5H7IatsgPrQiOCR6g8ODprvOPwi38+kghHQ1ppwko2o7LAEy0jrttB/hGC35sRGdSBaGOshqtXeFe7tgX5lug+vn1kXQJmlneexowjIS6wOiG/J8WHgPz0O5QRMzUCWLaw9x+8GKKR/ECfznbWIA== 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=iJfzE4HwZb5sVihZocpi8ewX0y4oS0xM9b4IWEsHGt0=; b=e6oyERvrzddm3Aw1s1m9T4ueHchzMjZfJ9rtbfpauYVdnU5IKcp3y1V/j3glFSHoN+0opzCp+7itksDb3SgxPcqpw8szuI81BwOkMER3w+jCOpd8canA5zGu6rH23rNdyfdnMv8pWlp1/cQ+rXfAj/mHy9F63MeEobQg85togDM= 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 v2 21/26] xen/xsm: wrap xsm-iommu-related functions with CONFIG_MGMT_HYPERCALLS Date: Wed, 10 Sep 2025 15:38:22 +0800 Message-ID: <20250910073827.3622177-22-Penny.Zheng@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250910073827.3622177-1-Penny.Zheng@amd.com> References: <20250910073827.3622177-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: SN1PEPF000252A3:EE_|MN2PR12MB4205:EE_ X-MS-Office365-Filtering-Correlation-Id: 550f3be7-1fc4-4f66-dc17-08ddf03d3d98 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?6ydOHPw1pzXH7GR+ozWSShGISrmGMUlAZfyYSoK2g1I/6ZzJ0oEz2qOtpOcK?= =?us-ascii?Q?Npm2hJwYDzwDw3nCz3FSCH138j7eu5OQO28CEuFtlPGtEFTa29oicXbBvL3V?= =?us-ascii?Q?dAQRIn2nz83+w+Vvv3V18m0IP4yCPnXg0PBWSd5mSXsazrv+JiOmJHxp8RlN?= =?us-ascii?Q?Az9mMN2EgzUAplaDJNfbcJpTAS9LUlwJnEWxbxH8FcRnWGXT0Zg2pOiO7PDN?= =?us-ascii?Q?KEOCv0lYE6D9XYxcxDGhwW+et3Aczb3Xo+9veG0ksCG9q7W2t5CqvSZY0Ixm?= =?us-ascii?Q?NKuRwqXh0mOZp1MWif9HM+gFKBoeROEYlTgKONASglg+RiVAOnRbj4uHckUX?= =?us-ascii?Q?yMvjeGKxBCK9A71sFBj317ulapd/s5Tr6eo0cnHoXGUkS+chYgYLlSqQ0spR?= =?us-ascii?Q?GuZGci5Yq8fhfko2nKs0EpSIBlBV1VYdTqlwYiVEgTHFsxe02ZyTs7uNGlGR?= =?us-ascii?Q?nRr2frhss9CiXroQ59Ii+PcM+r3C6t2B18fj6zbhc09EUUPUwtok/ce4dqlc?= =?us-ascii?Q?dErHpChW9EkYG0hn/OYpEYiPmL6plRRt3o7Um5mNda4o1WamosOFcH+hJjnP?= =?us-ascii?Q?O24sT9xTuxEW0o27Wgbv9hgYl+XrRcd15EUMZBaoF7oVi97x8hFDZ98t80Tr?= =?us-ascii?Q?6UZ0CehyiyqWZ5NhOjEJ7ydrzQxKcNyVq09xHV5ekJdvOCGTzvoy4vHFjtuR?= =?us-ascii?Q?L9GtqYVyHzMw+5yb5Q87tpZ+1nIQdqDACuQRy8juCXzlGd0fDlsEdRzVpBrZ?= =?us-ascii?Q?+gD/q6tqeMS93/39c99gzfpXb2Eu0zhghH1bCoAE2fFylHxlZPXRF8bf2BVY?= =?us-ascii?Q?UyAYcyt9aBA/dc4NqzC5GYr59LplZWlilZMqtuM8ktceahshIxgaxtCfXnx3?= =?us-ascii?Q?3yEqqFs1v5nsATzZdzV1T8uhcw5af2pK4GuSlEN1nLzy9x2sLcjMT2xXp8F8?= =?us-ascii?Q?shSKHj/ssZEDj6/jFc63IuEqe9CVr8mhmFNeRfF+gK9OJR2ld+bWb+aX2M0C?= =?us-ascii?Q?udgX6TX+lIOd9d8EoB/na6OGd79churSEXnY7+RwCD+BoU/rGpW4gOKaCfKV?= =?us-ascii?Q?0WLAgsCFiOwiOtfVhvtvw1JUji1+4K/mbpINB4E7FdZr+s8vZupvtASa1/85?= =?us-ascii?Q?rzwWEl5467sAoKEcf2TgXIhQbf6EfACobVmXydo+byZp0eV1r/FYIKU0jCYb?= =?us-ascii?Q?X/PCfkAFKuA636FFCRfw9yzt5jOryQ6PyD/72VZjq7jbPt/BQ8pdwUM+afb2?= =?us-ascii?Q?eEQa4oqNSAzCtQHsX0iWwBiLVr/tN/asMSHPWJCKQsGg6xjUGbfBaEPHUfr9?= =?us-ascii?Q?nQZBRdlP7uVdFpBAswUmXelrzrft0bUrtihXiLKpxVvDeP4XccLQGrommCKu?= =?us-ascii?Q?7TCMIHiclH737hVLuPiB90G/nA+sBiERlbf+eYQ5c48yDh+E79ZmH8fhfmZ7?= =?us-ascii?Q?QMF2VnJQJ8Uy51wwOucQHiVsTPVySmhAR8dSbgz6PaZovv2WSID6p6SNix3u?= =?us-ascii?Q?nszFOAwKxcD+fkoLqxTTZhjuC1X0SAt3qhJb?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;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: 10 Sep 2025 07:39:57.2843 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 550f3be7-1fc4-4f66-dc17-08ddf03d3d98 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: SN1PEPF000252A3.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4205 X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1757490422022124100 Content-Type: text/plain; charset="utf-8" The following functions are xsm-related and only invoked under iommu-related domctl-op and shall all be wrapped with CONFIG_MGMT_HYPERCALLS: - xsm_get_device_group - xsm_assign_device - xsm_deassign_device - xsm_assign_dtdevice - xsm_deassign_dtdevice Signed-off-by: Penny Zheng --- v1 -> v2: - new commit --- xen/include/xsm/xsm.h | 12 ++++++------ xen/xsm/dummy.c | 4 ++-- xen/xsm/flask/hooks.c | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h index 2a107b2cde..542488bd44 100644 --- a/xen/include/xsm/xsm.h +++ b/xen/include/xsm/xsm.h @@ -123,13 +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_HAS_PCI) && defined(= CONFIG_MGMT_HYPERCALLS) 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 =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) && defined(CONFIG_MGMT_HYPERCALLS) int (*assign_dtdevice)(struct domain *d, const char *dtpath); int (*deassign_dtdevice)(struct domain *d, const char *dtpath); #endif @@ -548,7 +548,7 @@ 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_HAS_PCI) && defined(= CONFIG_MGMT_HYPERCALLS) 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); @@ -565,9 +565,9 @@ static inline int xsm_deassign_device( { return alternative_call(xsm_ops.deassign_device, d, machine_bdf); } -#endif /* HAS_PASSTHROUGH && HAS_PCI) */ +#endif /* HAS_PASSTHROUGH && HAS_PCI && CONFIG_MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) && defined(CONFIG_MGMT_HYPERCALLS) static inline int xsm_assign_dtdevice( xsm_default_t def, struct domain *d, const char *dtpath) { @@ -580,7 +580,7 @@ static inline int xsm_deassign_dtdevice( return alternative_call(xsm_ops.deassign_dtdevice, d, dtpath); } =20 -#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY */ +#endif /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY && CONFIG_MGMT_HYPE= RCALLS */ =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 7c4e6176aa..2c8e0725b6 100644 --- a/xen/xsm/dummy.c +++ b/xen/xsm/dummy.c @@ -81,13 +81,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_HAS_PCI) && defined(= CONFIG_MGMT_HYPERCALLS) .get_device_group =3D xsm_get_device_group, .assign_device =3D xsm_assign_device, .deassign_device =3D xsm_deassign_device, #endif =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) && defined(CONFIG_MGMT_HYPERCALLS) .assign_dtdevice =3D xsm_assign_dtdevice, .deassign_dtdevice =3D xsm_deassign_dtdevice, #endif diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index 7392e95e55..66d8bfda3a 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1393,7 +1393,7 @@ 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_HAS_PCI) && defined(= CONFIG_MGMT_HYPERCALLS) static int cf_check flask_get_device_group(uint32_t machine_bdf) { uint32_t rsid; @@ -1464,9 +1464,9 @@ 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 /* HAS_PASSTHROUGH && HAS_PCI && MGMT_HYPERCALLS */ =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) && defined(CONFIG_MGMT_HYPERCALLS) static int flask_test_assign_dtdevice(const char *dtpath) { uint32_t rsid; @@ -1527,7 +1527,7 @@ 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 /* HAS_PASSTHROUGH && HAS_DEVICE_TREE_DISCOVERY && MGMT_HYPERCALLS = */ =20 static int cf_check flask_platform_op(uint32_t op) { @@ -1993,13 +1993,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_HAS_PCI) && defined(= CONFIG_MGMT_HYPERCALLS) .get_device_group =3D flask_get_device_group, .assign_device =3D flask_assign_device, .deassign_device =3D flask_deassign_device, #endif =20 -#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) +#if defined(CONFIG_HAS_PASSTHROUGH) && defined(CONFIG_HAS_DEVICE_TREE_DISC= OVERY) && defined(CONFIG_MGMT_HYPERCALLS) .assign_dtdevice =3D flask_assign_dtdevice, .deassign_dtdevice =3D flask_deassign_dtdevice, #endif --=20 2.34.1