From nobody Wed Oct 22 13:03:24 2025 Delivered-To: importer@patchew.org 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; 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=epam.com); dmarc=pass(p=quarantine dis=none) header.from=epam.com ARC-Seal: i=2; a=rsa-sha256; t=1753350295; cv=pass; d=zohomail.com; s=zohoarc; b=Fl/UhtLUwl/zXHaFrcmlwe/BHcxz8gZppBppx9uY8tcEFYRJpVbdqM0Qh8PTPIPOYDNdpNhcnc1Yn8nWPDXhguh4cAEcN8Jkodiv5JEYZ5bQYJ3LnEo8xyhHvCWw1Ueplz9ptx44bwHI5Z3D7ATtMIFU81edVUxSHT47lxyizms= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753350295; 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=e3Lzd6Ut+0ZWOMVOO4BXgKBe6Ygl66u/G3PvJNdmwTE=; b=eAMQuBdoV65MZYlxpjW05vkSheulWo2zOo5e3BLt3oZ6XWIp8+cgY5CXD7QyQzBxMhWAXOs2RSSb5JSsxdJPj14p1m8olh7noCpcN36ZXzUgEqBEqxiCdBGJD3E3wplhlo5B0cTPIrhqYCxrT5KfnlOWfoNNUGplwjktB1s2W/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=epam.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 1753350295017358.6523479960008; Thu, 24 Jul 2025 02:44:55 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1055560.1423953 (Exim 4.92) (envelope-from ) id 1uesVE-0002iO-Sa; Thu, 24 Jul 2025 09:44:40 +0000 Received: by outflank-mailman (output) from mailman id 1055560.1423953; Thu, 24 Jul 2025 09:44: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 1uesVE-0002iH-PB; Thu, 24 Jul 2025 09:44:40 +0000 Received: by outflank-mailman (input) for mailman id 1055560; Thu, 24 Jul 2025 09:44:40 +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 1uesVE-0002Sr-DU for xen-devel@lists.xenproject.org; Thu, 24 Jul 2025 09:44:40 +0000 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com [2a01:111:f403:c20f::7]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id d0b0815d-6872-11f0-b895-0df219b8e170; Thu, 24 Jul 2025 11:44:38 +0200 (CEST) Received: from PAVPR03MB10102.eurprd03.prod.outlook.com (2603:10a6:102:30d::12) by AS8PR03MB8003.eurprd03.prod.outlook.com (2603:10a6:20b:42a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.21; Thu, 24 Jul 2025 09:44:36 +0000 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb%4]) with mapi id 15.20.8964.021; Thu, 24 Jul 2025 09:44:36 +0000 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: d0b0815d-6872-11f0-b895-0df219b8e170 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=t0xb6zvDMda9Ul4kOGvTIec2vFijuGtrm+I6kRl2eNkrGvp+5ZAPKBziF0UYroh+J1c4w0gpfydsB/1BZAK0uGc4H4qCU6lWsTq/bgqwk4guNni8xBXKC3hFW0bW4/NqcF0OFVPQe9mc0dT5k34lB9/fVab+G3wyGsTnMXm8BD9/HNKXeKstHYcNllJZHnClGteHALnmouBbLjiIbZTL1SB+lL+qDyiXumWouPlIGyqi9k71UtorZPxtQXh6p12EqF363RX3LEZxBFjO93JpQ13IP0GjMPaE3CGNjXJS8ic+JacSNCS1KwXFFizZFmwKlo9xEzbJkZPdcovt5geAOA== 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=e3Lzd6Ut+0ZWOMVOO4BXgKBe6Ygl66u/G3PvJNdmwTE=; b=sQftOSJu+/SGhEIGR9veFFxRFn36SKP4uH/yfmaAGEgylZDis9NMFl7xGznv9IkasKQRMhWbn0IR5/g/kShJS/n0GiAAIuScs+4JfH7IxZbpTsSZXVrLl73ZfTFhxTUTIogYundW+yWG+xL3ljloVSsYQv7t2G8qTHvaqTv4+f7Yp+H3X95L/36RueedWVib0afETjl6IKyYDeOX4Xure/to+9trZqXnSZTselEsv2ycF7/qJSnZavuWISOxThpW50wMHQ+P08Bkf28KPRGvlNUgKWvWs0TZhZ6S6TC+VcHtcKQAhi7bIfMLWHF4QJI/LRKMMHqsJQve9t05oRQtKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e3Lzd6Ut+0ZWOMVOO4BXgKBe6Ygl66u/G3PvJNdmwTE=; b=hUy5dBBjyBL5Nx2+o/G1sho36D13kDHmg6EZZSFGUmAiDSr1vHFvPiaS4bR1iw5RRg+7FQVWKGdILfsLucWyiIkE+ogO1/PZW6pCT9dpOVh1CS+26GeWZSakQ7W2rwJDMTNoiMvivK0vQpxWdlVDZ80rtRqXF3katXLy+QfdBFTD1XLuN5ytuJs6/bSBNpVwxvx8HvZhaxXET7aNKPZKOChua0x/fZMuaa0AoNXXHe759uiahGMGuJGB8yVVsCxKtw4j/99YFSmcxU6Et/gX6JPT4f886u64tv+z5qf5SA3CxDmGvgbkKTTIkT9jRMy81kyEIO/m0hjeGnTiglXG3A== From: Mykyta Poturai To: "xen-devel@lists.xenproject.org" CC: Mykyta Poturai , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?iso-8859-1?Q?Roger_Pau_Monn=E9?= , Stefano Stabellini Subject: [PATCH v14 1/2] arm/pci: add pci_passhtrough_enabled check to pci_device_reset Thread-Topic: [PATCH v14 1/2] arm/pci: add pci_passhtrough_enabled check to pci_device_reset Thread-Index: AQHb/H+RZz72CuYaAEmAjKB8JLwIEg== Date: Thu, 24 Jul 2025 09:44:36 +0000 Message-ID: <5a6bc670f5874ff7015668f25392e5001bdb2414.1753348261.git.mykyta_poturai@epam.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AS8PR03MB8003:EE_ x-ms-office365-filtering-correlation-id: 1eb0a5c3-6d4e-4882-217c-08ddca96b39a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?lFdUBD1CNAb8OYyqSyIDJYf5BNOGeSD7E58l8RTSivMa6Ebgjh0pJyIUUG?= =?iso-8859-1?Q?rJiMpSe1VLXva7mZrxQ/That+gfcXM4G1hh6maIY4vcbH775eN+Lt/5zD9?= =?iso-8859-1?Q?iaLEcf0Ifugb0ywJw39k4Vtac01GA547p4teRVDYnMCV9N4LIQqgufSTxl?= =?iso-8859-1?Q?d8LXcFnKQfmAG6eo8SCUrIt76L2sk1HiTtjLp445qdQ2kwC1P8uSFqqIPo?= =?iso-8859-1?Q?4vI1f1eiS718Yu31vUPY0SyBqaU2RjjLbFWxgLzGTDBV/fb87rRI7SD3o0?= =?iso-8859-1?Q?YE8Yh/oA2IkqiLRwGTb8v1cwQReZBMmbEFiiOzMthQxFFvfmMlCGyVk9L3?= =?iso-8859-1?Q?XN07XOBxrOCFGxnzrocJEZr0rU2YHSCZTZ4AAgmNPrVp3ZS8T0DM5KtWun?= =?iso-8859-1?Q?ReSGv0/GZyeCub2chkFmCBjy3bdCIBurZYHeB2zMuiTXo+kaUkINuEofqM?= =?iso-8859-1?Q?imvG90DHEM7pR6qSUg50EjAVXc/aHQ72x75huCfn0CM4+04yVEPwwz9EA/?= =?iso-8859-1?Q?ecgMxCPX9le2ysVNqfCgBW0oeetj57yJNAd9CzF1jMfbJxybR2JAx302GR?= =?iso-8859-1?Q?7RE5Km02qSYswkyN98lDT4k5Pk892Ar21Ya8SQnNyZME40hpaGMnTSuUxK?= =?iso-8859-1?Q?T8arvCCAtH0qV1HBTvDQMh9Zw/1r+crIyEx0dU4tmCIPJg+pdREQoi78yi?= =?iso-8859-1?Q?DGV50Ojwt8Yysb1AvIo5DmAykhllkOtEZuzTIhERDYouMEcvNZVDOlEJV/?= =?iso-8859-1?Q?Gndh/WzqJBlAF/lPquXRPn2NX3grpzd2xXH9uh5eo336chi/CT5dX0QR6P?= =?iso-8859-1?Q?I7cPx9e5IAeFn3zVZS4EuJAJvsocsgkk+RMjUV30jnZXIR913Q7CyXcU7W?= =?iso-8859-1?Q?QHl7F5cc7ypJOUMBMw+VGrxiUMVI1kgbvtnQSraXjDz4/ot7vV/YBYN4ua?= =?iso-8859-1?Q?tvoR9y1JMLEK3JZ3jlx7JKvFFw9FKVwuIW38qhE/vSDcxYIqDLgeDt/BHO?= =?iso-8859-1?Q?b3/Yse+Jsn9tz/1dd1q60GQxlGBDWq2q9y8xP4WTZespjdV2oR0C79F2C+?= =?iso-8859-1?Q?2zT7BSGEepkiEv11i/OZSUpWlPhCszIgica7jESKvqD++IX8u0qOrGswAN?= =?iso-8859-1?Q?7cnPN/H+//k+HMoNFENY+a8oEcubR75XMxVhOZ4ou3dJ+g+WH0mgCJNw7K?= =?iso-8859-1?Q?Yw7a387VnLHDS/4RnoVMglo4BbRTGX+Nf4q2uV+5nsgh8xIJlUrDgFzThh?= =?iso-8859-1?Q?UhQAprN24VpCmfBmSHjYIJCRKJUBPcnlH/iLfVQr+YfV0j0psLIU9U1Mxp?= =?iso-8859-1?Q?GTgjKirxGrpDdsfVTzRfJi0iiCDZDvfsBRriZmx+95GICriw6KKTvlkXlz?= =?iso-8859-1?Q?OiPvW4v3dXyGljfcVt4zk3G36t+YMe+ddXGV/KQ2WQfPXYtDEYsWymf4sV?= =?iso-8859-1?Q?Bx5x/h5d5uUlxyXeHPlANQy2PmtLCTgSJDmjvDpCzifoDvnUnUrnqnYOAb?= =?iso-8859-1?Q?DBHzN2jtkpEH2Teh4R5Bgdzp9x6fz+iEo4+NhSIfwAeA=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?CDnw386Z2WOO6mc4lkhcdGntZ45lFVOPQW3bceRMzWWe36lqf9EQs1o57X?= =?iso-8859-1?Q?SFM18qdM+kviwGv5T5/jRtzyEaIQOHwyt6NArzKBOSCHxN4fxBPXZHSCao?= =?iso-8859-1?Q?2mInN/6XRm8HhEZ8q3nDoiSOkFLgF6fH3/jO/PZFb4I4HhHVRR+Pg1QKSa?= =?iso-8859-1?Q?Fp4iyuO6vlSgpxMIiPl8WKie4k6Y7WvIXYXS1NRtGBc9NtQ2KoRWqMXqrk?= =?iso-8859-1?Q?LHn6Qfq1VbLjI6Y3msMCZV/RThAcYaPLCHlUKOX6F6EKnsdyIpSvOvi++F?= =?iso-8859-1?Q?mMWXgwirkpiCN1DPE0Ho7L+W2aIcO6tV3u8pP2+JbQ5/RgHDxYp5craTjG?= =?iso-8859-1?Q?YO0KTDzYmlHHF5K3WteP4GHZgkPIIMufdRMJrq9W4zCV7068hFCWa0uWnz?= =?iso-8859-1?Q?w2ORjlLLcclKHlbee3oIiNH4NilTJ47WLvr4KwgRHw5BrtRAXuOHK6F1Cq?= =?iso-8859-1?Q?Z3g/Gb+sccr4KvzcqQV6tMN/zQaDkcrP6LwBZF2jgAzwubhO3sIFs9BdRK?= =?iso-8859-1?Q?LVzyEZ/cFFFA7bvi07opcdMyRBDIk8fodY/H7PvN8oU9Pg7d7HTLqzWorS?= =?iso-8859-1?Q?Mf+TIMF6/+8IzvgnJubN7sN6qBeqLQ+mRbS8i3Rp045Xp2Y899oKmCoSqb?= =?iso-8859-1?Q?DxIMraWOrRgPR0DufYOtoUXrTGru3X3nk0R2cGphSga0f5J5psbzhwyeWy?= =?iso-8859-1?Q?AerW28quPpWb52ycnBMbQ0MsdWhkFTo0+P2/w2oMtZITiLgUzd+3SrJj5E?= =?iso-8859-1?Q?Y8ZXCfKzgPPbtx1UpL5EMfmWMq88E1FDmhJq7kPh6QwhMDpMpyyk6s5DuY?= =?iso-8859-1?Q?3Ql9w7WrqoHIxojs1VG8nZ+O/qepQN5OHn7EwJut+t8/qQgJvH/9dcIGO8?= =?iso-8859-1?Q?V/0E6SuryZUO4sUG2zZ0YcpT2Gkd3Tgcd3quzPLOieJ7i407+DSmYJWHGy?= =?iso-8859-1?Q?eO0J7bVKio9yVABhqgGrecgwAVAKGC/PrDANS7YbQmHf1QI8WYxiAsiKC8?= =?iso-8859-1?Q?JC+upbU+slVEpka1+8rnau/USBbroI5IoR924eMKdZPDW2L4/e+hbPq9lM?= =?iso-8859-1?Q?tiBvVSL8t4tk6pPRc8kYwiGNpE5BwekOqI53mpm0j5Tmx57/b1cYerptwc?= =?iso-8859-1?Q?TSyzQHQXywKxcG/W29Zcl5MH9/0kDqGQJIQL2lCKQ6ncFPv4B0vzBAHQ6b?= =?iso-8859-1?Q?rpxwVk3ywrG1R14wgwEZC+vIlFoDwgXvGtSAeDddicIeIzZHai6nC7NXPn?= =?iso-8859-1?Q?Xq1xBJH8vmQSZE4STe7J6lKsiJbpWBDONywZA487LTX38PNiNMHf5p7EpV?= =?iso-8859-1?Q?acYl4P8l6yKRpTR333sPonS1JOB4/bXM4UmX0cvD1Vjumv/eU6v6jOVPh/?= =?iso-8859-1?Q?Ld9j5BM7V63iRsHyct5BquzM4Jn3ZclzjhNilJnG+hpEGguw/0W6HB/mhd?= =?iso-8859-1?Q?NInFKq+UPojiRSx6F4AF3Zi1VC6BckLn6EZImjeU4SXGA+RokfC+5SYAMq?= =?iso-8859-1?Q?ixWGct1TBLjm+HTo7MLLKIfkBYxlxR9FqJBVAUh/CFOYg/1v3UtCpuAXSY?= =?iso-8859-1?Q?69I8HM8COCPSoDUOt/6mKIhzKjXy8SQ+31qEa8sL1fU+ESwlp+qssuP9Rk?= =?iso-8859-1?Q?GfjaZg3MPWxi21+9ISYGUEmB1kZ1is0r5WarR9qoER0m7V7awd2yGBAg?= =?iso-8859-1?Q?=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1eb0a5c3-6d4e-4882-217c-08ddca96b39a X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2025 09:44:36.3473 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bZf6HGgGCEsObTxhQMnux5e8Y2TWiGoWfq2kdQxOhORXF6/4K8ujFfK/inv5UDWXN5a+JFrSvgvGmxwFraLL7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8003 X-ZohoMail-DKIM: pass (identity @epam.com) X-ZM-MESSAGEID: 1753350296329116600 Content-Type: text/plain; charset="utf-8" On Arm without pci-passthrough=3Don Xen does not know anything about present PCI devices due to PHYSDEVOP_pci_device_add not executing. This causes PHYSDEVOP_pci_device_reset to fail when trying to find the device that is being reset and return ENODEV. Add explicit is_pci_passthrough_enabled check to return a more meaningful EOPNOTSUPP code. This change should not affect x86 behavior as pci-passthrough is always enabled there. Signed-off-by: Mykyta Poturai Reviewed-by: Jan Beulich --- v13->v14: * clarify the commit message v13: * new patch --- xen/drivers/pci/physdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c index 0161a85e1e..78de67ec64 100644 --- a/xen/drivers/pci/physdev.c +++ b/xen/drivers/pci/physdev.c @@ -74,6 +74,9 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void= ) arg) struct pci_dev *pdev; pci_sbdf_t sbdf; =20 + if ( !is_pci_passthrough_enabled() ) + return -EOPNOTSUPP; + ret =3D -EFAULT; if ( copy_from_guest(&dev_reset, arg, 1) !=3D 0 ) break; --=20 2.34.1 From nobody Wed Oct 22 13:03:24 2025 Delivered-To: importer@patchew.org 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; 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=epam.com); dmarc=pass(p=quarantine dis=none) header.from=epam.com ARC-Seal: i=2; a=rsa-sha256; t=1753350298; cv=pass; d=zohomail.com; s=zohoarc; b=jrw1suabs1iTPFR5jo5FhrbyZBT2jwuHx83EgHOThIqX26Z5F+EWgxkoLFentigXgrFQinzLAIcHxnAYn+1lFns1mnVU9IgLSn4alPRQPRUgf7nyD6JLP0EmCdpCuWm0Bg0aKyCQMtXfP8UpiljmaS+GTatma1nqntj8wRWpogM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753350298; 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=0iHxW7ZoeNWT51VIykahZIObN0ONV7exPRAU7jeTbWw=; b=EJ5UTF6oWTl5VG3O0tHZRBlQSKS3oN1YEKvldHftnYEeTUMZdfCFk9jMXSe39vTMwqvAPXZ67cq6j1BhkpdSOnJXO06IH9AmPr3VjP3YfGyBriJYRoALUzM/It3+0h5KZIfu47ocX/9Xgzc1FQI6iDobdV1p4SO0RDn6n+Q9/f0= 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=epam.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 1753350298547973.9075330288359; Thu, 24 Jul 2025 02:44:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1055561.1423963 (Exim 4.92) (envelope-from ) id 1uesVI-0002yy-3V; Thu, 24 Jul 2025 09:44:44 +0000 Received: by outflank-mailman (output) from mailman id 1055561.1423963; Thu, 24 Jul 2025 09:44:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uesVI-0002yr-0h; Thu, 24 Jul 2025 09:44:44 +0000 Received: by outflank-mailman (input) for mailman id 1055561; Thu, 24 Jul 2025 09:44:42 +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 1uesVG-0002xM-K9 for xen-devel@lists.xenproject.org; Thu, 24 Jul 2025 09:44:42 +0000 Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazlp170110003.outbound.protection.outlook.com [2a01:111:f403:c200::3]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id d238f156-6872-11f0-a31e-13f23c93f187; Thu, 24 Jul 2025 11:44:41 +0200 (CEST) Received: from PAVPR03MB10102.eurprd03.prod.outlook.com (2603:10a6:102:30d::12) by AS8PR03MB8003.eurprd03.prod.outlook.com (2603:10a6:20b:42a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.21; Thu, 24 Jul 2025 09:44:39 +0000 Received: from PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb]) by PAVPR03MB10102.eurprd03.prod.outlook.com ([fe80::b8c6:f37a:987a:beb%4]) with mapi id 15.20.8964.021; Thu, 24 Jul 2025 09:44:39 +0000 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: d238f156-6872-11f0-a31e-13f23c93f187 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MqljdOAfMn8xr3X1H3kX9I6k3fKjmGLrnq1EwwNiMkJgqPf15fa7UC9JxW07cNqWD1/GSdChPO8+HKB71Wo72THCjq2QgSpEvh9yZMK51tLN3+yxsak4iDsu9+ijXXz+dacioH4zS/MKKCBWvNC4r6HqOaoJuJJmIpTKyxHlNBdmlarOEbexXoiric0Vom7NcVeirQuahoY0ylLlzQzCu8s9NW59x4E3wnVSLcF88cbz/hJXwAzwsfEZ/3R74L2qp+tOvH0Y1vkAJl78IPIDHmoDhCvycrBHTndiL4qTqwu/AnVDgAqPrAVdywjEdwb6sdVkM8opYZJV2hw/ndZNFA== 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=0iHxW7ZoeNWT51VIykahZIObN0ONV7exPRAU7jeTbWw=; b=U+CjR3WfMuDx5pZQmUQOUVh6rygalWo0IuRLniyInDMQA/1qUZhtl0a9Zm5rhTQ4wyQvTtpiZYSVtoSitO3tr2DqrbOxWwbZQD3/I5YuOz4fqnEiSZP/b7+zbWx1E1vboO5owGitPifOogRbhIvwpYM1x9n8+RwGVv8m7leqQaILcz5gfOJko0Xpc7rpdgM939hLWqaWS5WY7vCLqAA2s/uCJLH0tGvrr3OQR93UR9uM0mfcBfiFDFVWfFk4wMe5knkQ24p+f8FeUc6f5Zbex8GNLsf4ywvTZSJ4ihzbeMEtLweI3pQyCDzTJYD8tLTu7uODfuO4Q+Omk5j1VZQqtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0iHxW7ZoeNWT51VIykahZIObN0ONV7exPRAU7jeTbWw=; b=mqLWIrOPOC6L9XslgeU0mZQ/4XQ0KLlIEnC+204/6hvlyJjHmifLs/uj5VWG7QkxUjk/K1PibY1qtGIr0ruh5XxGT9PxqlzTUE+OfOU6QGzMFw29n92uofCOdBqoOeSIoXPkGCdKji3qDuIdwXg3QatUmbddu2X5v3X4VLAfpJJ+YP1cbkCT3cpN0sAzvf1vsCMC6vDiGYTv7Y3T8DRJZnCMcedglF+VLEX3fq6lfIuPIyKm+RzZeQ9C7KFPhX6a2h85rPMnl3j8TaCOg/8TE65cfKAzSGCiGyrE44ViqNH94BJYOmzAvHDATTrrY7LMYqQYmvSNEyTHqv0p5GvhhA== From: Mykyta Poturai To: "xen-devel@lists.xenproject.org" CC: Stewart Hildebrand , Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk , Andrew Cooper , Anthony PERARD , Jan Beulich , =?iso-8859-1?Q?Roger_Pau_Monn=E9?= , Mykyta Poturai Subject: [PATCH v14 2/2] xen/arm: enable dom0 to use PCI devices with pci-passthrough=no Thread-Topic: [PATCH v14 2/2] xen/arm: enable dom0 to use PCI devices with pci-passthrough=no Thread-Index: AQHb/H+SnDmWJDLqv0qq6DzYKbH52g== Date: Thu, 24 Jul 2025 09:44:39 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AS8PR03MB8003:EE_ x-ms-office365-filtering-correlation-id: 958f120c-3f29-493d-7758-08ddca96b55e x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?5+nvmg/aWWc/EaLeuV2N0TlPwbzdlz+Qx/pck4NOrroAE39fx5pvoiDVzR?= =?iso-8859-1?Q?hlvfSjsAQPDMKvhTQAJSc+BG8f8+9ujBbeBZLk63VbtF9Emf49m2wk5SgU?= =?iso-8859-1?Q?ohCJnncxt0XKIoS//74yIJE6PFs/k4xmiGmsaHJeP9k2J6QMM+xwTEJONY?= =?iso-8859-1?Q?DbfLE7OVezdjIxKridpIwvQFWgfLtxUsn8pTUupBhNcbJqqI4kOd3EvaLb?= =?iso-8859-1?Q?z9XrXfu8E8zpptpORp1CyL7F8Gnj1usUxDIkml8gCU7wiY6AVNTq70N7Wf?= =?iso-8859-1?Q?vmAcjj4OSmLdXFR81Kj3Too59Z+p4xPDMW+aDlJ2B1zc9VKXO1iEc3Kgks?= =?iso-8859-1?Q?+07O4Tff5ZshsAQX1uCM6fLS3HPoe5D9DSu4vstY0TV9TX0JD7TPa6k/uv?= =?iso-8859-1?Q?VtLm1DdIjCi8oy7WFKPB24fcGVNZqw4VEa7XiaPOf7gyr3HshAR60aRq6f?= =?iso-8859-1?Q?ec0byEKfWVYpWu3XCc7wpPXAm0NMu6dWGrlu/I3zYWOL5Eu8L0S4ClG8aA?= =?iso-8859-1?Q?LD0TuGz+da5lnq6uoG0c4/z+vXQIJ3IVJl3aChOtFMPkqvD9vSpBVbNQqg?= =?iso-8859-1?Q?JOudZcNa7FroS/tlV1ZaQR0zTYEl9JtfQAyZD7Me5ylrX+0xYZDGEARtt+?= =?iso-8859-1?Q?rAIqa9vtFrysIK6/hBtR59/a3TYyYRdqLQ++mOygoEhIlW6jEvg1d+Sock?= =?iso-8859-1?Q?dIIRhGpNCSFPnpktd4c+9lKQfyKPMKLEKdaE106eO4xrdsJZYVSXSj2SFY?= =?iso-8859-1?Q?0mYUy6m+MaExKOXhqKYV8I86xNIr1rcTuLZaGTxXycIxJFQxdqONRmWAwi?= =?iso-8859-1?Q?Md2RPCBFLMF0PrZ33zd0AkNXiBAlnCXxaFaPMZGxnHKGMF8xWKHm9qrQ2Q?= =?iso-8859-1?Q?RQ6DVRzEMLRM2tomkjFds/SZwFdFuDo/4+bSHGc8h586N6350sgL6KtRbh?= =?iso-8859-1?Q?/Uu8fRVUBJ6dknPFwL7x3/1ZLEBR2G11Ser0SflFdP814pti1DgU+Z/UyY?= =?iso-8859-1?Q?8SkJS9v/GlX+TzXezz8NTiKCGOhqV9xivh4Nyw6RuQ1gma+e/QF3clxN0d?= =?iso-8859-1?Q?e1FDxpvBHj5GCUhQaFaJr0EIKvnzA64er7OdsRzoJf50Nwy13loTbAU2lt?= =?iso-8859-1?Q?qfmiIBAvqvjbDCTe3qdVTftKakgTy1K6lrU2yRZeF9H+xR0KnY8U8DyR70?= =?iso-8859-1?Q?23xkiwDRpDD7dpN0sSk66FnCWqJIvgM3e9OD8IDx/k22A2Er8DX4NsxVb7?= =?iso-8859-1?Q?qRWlfhilo+oSn1yWBEE7TZ4tJ4TC/B8rAsjTPA4IMeJ5IS7WJ0sLVvg4Zd?= =?iso-8859-1?Q?oml99r2dvtDMGRbtySjA+w8rsmPGyvXOFa4/GMRrajUL/WTFVBnrPhuuye?= =?iso-8859-1?Q?ZRJzpluIYj/a/UrCL7BzAWCQA2oEUllVThlZVdw67r/CcgfH2w85RKWZP+?= =?iso-8859-1?Q?gRJtL3oFgYCyyUpF+9ZbJ3vD8a1zLGfF8ksKaI/YmkYbfNH71M8MoKbznr?= =?iso-8859-1?Q?Y=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?hzILvtdmpbCqyesHS7x7Gx0sqLUIVGo2nIiTiriv6E3wt463VbLS/Zeu79?= =?iso-8859-1?Q?BN3TdzLO0kVvZC8uvQE7kSSiBlrGKIWgefgblbir4bQx05lRvZ/R1W868W?= =?iso-8859-1?Q?lQtvGtVa1Yp+JdzqUnvJp3BtZE5L2IPyBNmkDSFV4ck1F1Jk+u20vPq2I4?= =?iso-8859-1?Q?SQuCKPy7VqZtwv/Ghaly9LZZbmCkBPjfkJIbZDqqx6fmTCw6Gj0tPXT86b?= =?iso-8859-1?Q?ynmyow+u4nkhAHGGZW4AlSrgX5ZkoSygtoCfEWYLFFKyl+VYhvJBnUWSaJ?= =?iso-8859-1?Q?2sPdg0Q/d1dvN/2rSmzjjaFfvZl0uaek+01u1GgagTjg6flGZ6Cyey6FhH?= =?iso-8859-1?Q?uLsyB2pGmxRZbdmP12Bb/bTQnvdC3kTQvr6bIST6XlcQAWkYPbieOfphpp?= =?iso-8859-1?Q?87YcephVWB/FkVW3tMW4taybBOJuS0mh0tbiwgJ2wJtzJ9b+PAo/x/ZJE2?= =?iso-8859-1?Q?cMP09zv9ur9DAECoahIT1BAim4/Acmb82yLoUx2VLRk6eMl9e+N99zh/XH?= =?iso-8859-1?Q?mX6OzmaGhOp4T9t+Ws25QXvSiV6nNNUw+1E9GdvtAmGDLHJ8ieXhNnHiUK?= =?iso-8859-1?Q?YNNPpwQZqlJ90zkUv3DvWRRjpryJgBkI7FYEk+GGgIqYvAXGJSFVMzHo1S?= =?iso-8859-1?Q?SpfiVFfn4dKmI05XQIEEvHK3FK2VxdujJSq+B5ghlAC7esW6P4OKObZOy2?= =?iso-8859-1?Q?pa68y8RkS+xzlmn+QnH2rVLB11ZWFIql+jT6FME+WbgaME5MW+YVeLg5r8?= =?iso-8859-1?Q?GVoQnyMSKJjd8M+UM/MWCXB9thlp3V4A+pG1Uoa5rFBMhsS+X90GvOpS+8?= =?iso-8859-1?Q?OWorushlVWRmMnAc49nwWdiOvJKSiaxrI5QFFBpztGp8aopfAgylrqex35?= =?iso-8859-1?Q?CFaBqEtm0VW6q16qtvffC499uUPPhY3akutyx0b62YW9uZP5S+YxaXZ0wi?= =?iso-8859-1?Q?9faqBonly85BBcJJ/eh6yZLv7emv6mbQUmLvBRIBqALYgPtkVQCR06GIee?= =?iso-8859-1?Q?8MAXosqY73i+7pmmLhLI+CYjJ8uXZ/aeh43U/OJDcFEWh+LGMgyCOMOFH4?= =?iso-8859-1?Q?3PvjwwZp1+nvteP/QJQwLKm+YtsHiiKS8IJgAp1Ag+mqDT5zgcDoVxdgyF?= =?iso-8859-1?Q?nxllY8uzh1PoxSqlUMDkZlHB1bqbZC8EmfcFnZzM9FsQqV9BzToHnVY+ml?= =?iso-8859-1?Q?dzBa8o9HYvE0js7/CWfRksnfUX1clf1xvM32v1cuW9VRLsda/14mXvrEAf?= =?iso-8859-1?Q?9m+Jw5nODlrE62Re6KTukUNh1Cbt+PdxGCmB7Kh7o443ZIpxYfDC/3vFgA?= =?iso-8859-1?Q?Mv9K9or0u73dtbUUsmW1zj1cj+ydHIAt8cjNLbfTtVBn+mgMAjy8mg8ESw?= =?iso-8859-1?Q?x5bOMPGPcRTcx+EyuUrvZV7m52af43G4l8yYIXmP8pXc+jT/QZ/pptd17h?= =?iso-8859-1?Q?q1p0Bnh9nhKsWUzFyQg0/T+nx1/nsUD4XjPO969m00WRAPkExo2d8W9Q96?= =?iso-8859-1?Q?TGba03gh8ZCGt0SqNBT8+cA9z1eCY0k2wrKLovutA0aVcP65GxpdKIpEOe?= =?iso-8859-1?Q?1wWb6CHy/bAh64ByK730D55Y1X8txvhvwBneT27qqMN1pAmcU05A7PScQM?= =?iso-8859-1?Q?lTOiN3oNA2vmly+52M6W4bQNlHmcKR4ZfdVjd2V9iNcQvoiJXx4NMjlw?= =?iso-8859-1?Q?=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB10102.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 958f120c-3f29-493d-7758-08ddca96b55e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2025 09:44:39.2346 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xyVlYoLqrXAjkNYihSgzq4N+eY4Ud/aWVH6rnhgCsQxXevYIchjCTRkRMUJNWhayin59I30syBoLiJZDwWrc3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8003 X-ZohoMail-DKIM: pass (identity @epam.com) X-ZM-MESSAGEID: 1753350300755116600 Content-Type: text/plain; charset="utf-8" From: Stewart Hildebrand Enable the use of IOMMU + PCI in dom0 without having to specify "pci-passthrough=3Dyes". Due to possible platform specific dependencies of the PCI host, we rely on dom0 to initialize it and perform a PCI PHYSDEVOP calls to add each device to SMMU. Because pci_passthrough is not always enabled on all architectures, add a new function arch_pci_device_physdevop that checks if we need to enable a subset of the PCI subsystem related to managing IOMMU configuration for PCI devices. Enable pci_init() for initializing Xen's internal PCI subsystem, and allow PCI PHYSDEV ops when pci-passthrough is disabled. Signed-off-by: Stewart Hildebrand Signed-off-by: Mykyta Poturai Reviewed-by: Stefano Stabellini Acked-by: Jan Beulich --- This is the last patch from SMMU-PCIe on ARM series https://patchew.org/Xen/cover.1751439885.git.mykyta._5Fpoturai@epam.com/ hmm. Since dec9e02f3190 ("xen: avoid generation of stub header") Should we also move is_pci_passthrough_enabled() back to xen/arch/arm/inclu= de/asm/pci.h ? Not sure if PPC/RISC-V will plan on using this check. v13->v14: * make x86 arch_pci_device_physdevop more clear v12->v13: * move introduction of reset op check to a separate patch * update the commit message v11->v12: * add enabled checks to pci_device_reset * fix style issues v10->v11: * always_inline -> inline * add comments * clarify reset sub-op handling in the commit message v9->v10: * move iommu_enabled check in a separate arch function * add Stefano's RB v8->v9: * move iommu_enabled check inside is_pci_passthrough_enabled() v7->v8: * bring back x86 definition of is_pci_passthrough_enabled() v6->v7: * remove x86 definition of is_pci_passthrough_enabled() * update comments * make pci_physdev_op checks stricter v5->v6: * new patch - this effectively replaces ("Revert "xen/arm: Add cmdline boot option "pci-passthrough =3D = """) --- xen/arch/arm/include/asm/pci.h | 2 ++ xen/arch/arm/pci/pci.c | 14 +++++++++++++- xen/arch/x86/include/asm/pci.h | 10 ++++++++++ xen/drivers/pci/physdev.c | 6 +++--- xen/include/xen/pci.h | 5 +++++ 5 files changed, 33 insertions(+), 4 deletions(-) diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h index 37a6f14dd4..08ffcd4438 100644 --- a/xen/arch/arm/include/asm/pci.h +++ b/xen/arch/arm/include/asm/pci.h @@ -151,6 +151,8 @@ void pci_generic_init_bus_range_child(struct dt_device_= node *dev, struct pci_host_bridge *bridge, struct pci_config_window *cfg); =20 +bool arch_pci_device_physdevop(void); + #else /*!CONFIG_HAS_PCI*/ =20 struct pci_dev; diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c index 8d9692c92e..beb1f971fa 100644 --- a/xen/arch/arm/pci/pci.c +++ b/xen/arch/arm/pci/pci.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include =20 @@ -75,6 +76,17 @@ static int __init acpi_pci_init(void) } #endif =20 +/* + * Platform-specific PCI host dependencies require dom0 to handle + * initialization and issue PHYSDEVOP_pci_device_add/remove calls for SMMU + * device registration. This check is used to enable the minimal PCI + * subsystem required for dom0 operation when PCI passthrough is disabled. + */ +bool arch_pci_device_physdevop(void) +{ + return iommu_enabled; +} + /* By default pci passthrough is disabled. */ bool __read_mostly pci_passthrough_enabled; boolean_param("pci-passthrough", pci_passthrough_enabled); @@ -85,7 +97,7 @@ static int __init pci_init(void) * Enable PCI passthrough when has been enabled explicitly * (pci-passthrough=3Don). */ - if ( !pci_passthrough_enabled ) + if ( !is_pci_passthrough_enabled() && !arch_pci_device_physdevop() ) return 0; =20 if ( pci_add_segment(0) ) diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h index 2e67cba8b9..665b321165 100644 --- a/xen/arch/x86/include/asm/pci.h +++ b/xen/arch/x86/include/asm/pci.h @@ -57,6 +57,16 @@ static always_inline bool is_pci_passthrough_enabled(voi= d) return true; } =20 +/* + * Since PCI passthrough is always enabled on x86, physdevop handling does= n't + * need special arch-specific behavior. Current call sites work with either + * return value, but true is more consistent with passthrough being enable= d. + */ +static inline bool arch_pci_device_physdevop(void) +{ + return true; +} + void arch_pci_init_pdev(struct pci_dev *pdev); =20 bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end); diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c index 78de67ec64..d46501b884 100644 --- a/xen/drivers/pci/physdev.c +++ b/xen/drivers/pci/physdev.c @@ -19,7 +19,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void= ) arg) struct pci_dev_info pdev_info; nodeid_t node =3D NUMA_NO_NODE; =20 - if ( !is_pci_passthrough_enabled() ) + if ( !is_pci_passthrough_enabled() && !arch_pci_device_physdevop()= ) return -EOPNOTSUPP; =20 ret =3D -EFAULT; @@ -57,7 +57,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void= ) arg) case PHYSDEVOP_pci_device_remove: { struct physdev_pci_device dev; =20 - if ( !is_pci_passthrough_enabled() ) + if ( !is_pci_passthrough_enabled() && !arch_pci_device_physdevop()= ) return -EOPNOTSUPP; =20 ret =3D -EFAULT; @@ -74,7 +74,7 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void= ) arg) struct pci_dev *pdev; pci_sbdf_t sbdf; =20 - if ( !is_pci_passthrough_enabled() ) + if ( !is_pci_passthrough_enabled() && !arch_pci_device_physdevop()= ) return -EOPNOTSUPP; =20 ret =3D -EFAULT; diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h index ef60196653..130c2a8c1a 100644 --- a/xen/include/xen/pci.h +++ b/xen/include/xen/pci.h @@ -79,6 +79,11 @@ static inline bool is_pci_passthrough_enabled(void) return false; } =20 +static inline bool arch_pci_device_physdevop(void) +{ + return false; +} + #endif =20 struct pci_dev_info { --=20 2.34.1