From patchwork Wed Apr 9 06:45:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Chen, Jiqian" X-Patchwork-Id: 14044124 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 31F4EC369A8 for ; Wed, 9 Apr 2025 06:46:38 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.943385.1342180 (Exim 4.92) (envelope-from ) id 1u2PCa-00054h-2C; Wed, 09 Apr 2025 06:46:24 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 943385.1342180; Wed, 09 Apr 2025 06:46:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1u2PCZ-00054S-V7; Wed, 09 Apr 2025 06:46:23 +0000 Received: by outflank-mailman (input) for mailman id 943385; Wed, 09 Apr 2025 06:46:22 +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 1u2PCY-000466-CA for xen-devel@lists.xenproject.org; Wed, 09 Apr 2025 06:46:22 +0000 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2061a.outbound.protection.outlook.com [2a01:111:f403:200a::61a]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 5394f18a-150e-11f0-9ffb-bf95429c2676; Wed, 09 Apr 2025 08:46:12 +0200 (CEST) Received: from BN9P220CA0016.NAMP220.PROD.OUTLOOK.COM (2603:10b6:408:13e::21) by PH7PR12MB9152.namprd12.prod.outlook.com (2603:10b6:510:2ec::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.32; Wed, 9 Apr 2025 06:46:05 +0000 Received: from BN2PEPF00004FBA.namprd04.prod.outlook.com (2603:10b6:408:13e:cafe::c1) by BN9P220CA0016.outlook.office365.com (2603:10b6:408:13e::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8632.20 via Frontend Transport; Wed, 9 Apr 2025 06:46:05 +0000 Received: from SATLEXMB04.amd.com (165.204.84.17) by BN2PEPF00004FBA.mail.protection.outlook.com (10.167.243.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8606.22 via Frontend Transport; Wed, 9 Apr 2025 06:46:04 +0000 Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 9 Apr 2025 01:46:02 -0500 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: 5394f18a-150e-11f0-9ffb-bf95429c2676 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nJa1cV9WkhAqsWt4EzY5pSQsbL5h8ofIZnz1l/sXA89zkycC8BxdImebzmW28t6mOSSHow5C/KbNw0v3NQDYGlCbCnMhfIQlAKbtt6s66/85Sy4GYcwCshQFuUqdsaUvc3CfbNhBWj1pMfYsmHh7VYz1cciuSeUhw0d8rDYDQGKNbBRoD1890L2hs22tTBnQrJpaS3sqAn/E/pcWORYoAH2JoZk3BuJaKzm5RetaCCMwr13laMTEJQermUiRxdhkfk8aLcnUKpyBqoLUXBHmpbXnVh8Tdpz3gzgIZ/u8e8UttKhEGAYk43e7N82Itb70hcjC3NXXbUpvMBTX9FevMQ== 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=IMgY1Y5/5gM2dTkAPzGu49VcWk2pghTKDCEmBMNm3MM=; b=j8ODDE2vfR2iHznqAeR6DmQ4ZP3n2FG07AdPkSVhuxOrL5nW1dkETWGXijys5RfbH2EPdknl3I6EQ4d1KOq3wdiLNuHihgyWYipXz/nJYVGP+ZkZlaSx7S042YHHDueyKDTi4esQlq1KeG0Llbm/ewx+XFyJVELMkkULn2CWsVic7bQrGr1/k/pjMKrebq+Cmb8MRD8q3QE0Ka8kJVypYb4wom9wmvw5lDVyaGmW+dY7PYKnGqXToaJPuYxTFU+EH/WKweRL68FzmUilvV3cNA4tRi5IkrEDRG9qcIV0nie9v5croMnwObH45dfScCvcWZPpQrQ68N7s3xWPo6Cuwg== 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=IMgY1Y5/5gM2dTkAPzGu49VcWk2pghTKDCEmBMNm3MM=; b=X5yNrbmsZdbLFJTZzmkUtUQtJqkWCx1wM33LbZ3VC4zmXvdx4L0rxDsKeA5XyYokRcy5pMqq3wjQK2PhApfntVP2F8SYknASitAkhmNT7HegvSEaCx5WuaNNixz5FKXuXRrshIYZ5vdFuXFR580RooaoB8jiZWaOkvaOFoSulwQ= 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 (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=SATLEXMB04.amd.com; pr=C From: Jiqian Chen To: CC: Huang Rui , Jiqian Chen , "Andrew Cooper" , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?utf-8?q?Roger_Pau_Monn=C3=A9?= , "Stefano Stabellini" Subject: [PATCH v2 0/8] Support hiding capability when its initialization fails Date: Wed, 9 Apr 2025 14:45:20 +0800 Message-ID: <20250409064528.405573-1-Jiqian.Chen@amd.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBA:EE_|PH7PR12MB9152:EE_ X-MS-Office365-Filtering-Correlation-Id: c4171035-3662-47f6-fe51-08dd7732335b 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: =?utf-8?q?0nrfb9gr4cIIr1hIUb2C9KElZrBXsyV?= =?utf-8?q?2KNc/N5Q8X3xhtFl1CIgT1zNAAiZs7Ycpi4bnbPQ1hhduYS4H6piObSpVOdxik0/b?= =?utf-8?q?iqRI1RMxwrAbi6ALbI3Z+HxU4TaBhjGHv91Aa2zbF4eAEJiOT4wL9pGUtRt/3CqVt?= =?utf-8?q?e27DZ3HxqFRRLVDfq/wZWjrgsNElG+AI76tlxG8d/dSOsjfgjNKKVbdlr7ozUqJEa?= =?utf-8?q?sI8dxlmstCPdzEZNWGTBFHSDVvXVWbYZ7HyzoTg90PVxtThtN5mQAqYqg9xO23zaT?= =?utf-8?q?8Cya2EmihnZrER70V1Ru2vwsyh33JG5pgkDvY9KbesIPO+xmL4ZOGE3CYAmHgMKi/?= =?utf-8?q?pWcPolIU3Efohm/GvH+6KhFIUg2B9YnYdyTqK9nM2s9ZZrdZMyRQoI/nJkhlupkZ7?= =?utf-8?q?4Nr1IddAx3hNkpKVFCdyQKgjTNInyTSNcRZ3sZ4RxVPAChIvbxHNWpcgMOiACBlu3?= =?utf-8?q?nvZG2XfRDMHuEKvjvsQOt8zycE415HkR3PRleI7Av4Dlt9vvZ+3iIxc5yW6ueoe4J?= =?utf-8?q?VdSQdukich+DRTxy1BSlpfN8m+Xj6JA7k+dlPsFwuCGNqIT7Ev+XqskQ6wh6YwWVG?= =?utf-8?q?WutSagDTC2KZgbw5HrIfk+2U4Sb2s6/6vfNYBGr/g/HBBbifdAO1urnG9ge2bD7ew?= =?utf-8?q?Y5nQ1KCDATD2q83Oeqv3pSH+t5FMqdDJDNNXvsjIp0wK7yv5qp5L1ZkZfAxH5C9LM?= =?utf-8?q?w4Dkzf3J0F0qiKuzKzg5zm8MHC899h1WgjnV6R7FaSGPWPMRnZUAb6QhBftS+pmF+?= =?utf-8?q?DEiwBz+p1UXi1p65NLOB5cQpVrocyT6ns2Sp7y9cyK1k6PUHBFQGenxIzfiuOINhm?= =?utf-8?q?rt0jmMVQEG3RjXWj0OgBRMLe5bAtewWLalb3aAeKVUKvT605/HwsnU2fRUnnigJX2?= =?utf-8?q?3qpOtWCUdYAAAftSTvkKXLCIbwdbueMLZyQ5BjyYckTv9IDuwwycHXWnP8n9NfEje?= =?utf-8?q?V5lAVVL/rAc9LW/Im1VHNxZK3YXYptkST1BYkAukTvhqbePAMjLfermaB5YWz2MWm?= =?utf-8?q?oLKjMmfWaZ0WYY79wlgfi4LWsnCARh3XqKqH3e9J1hMVjOxVFYbrzs98LUV4Xjvj5?= =?utf-8?q?bdFp4t3Tvp2KuVFuMbNkJs2rkDK4mbfXVnGajQITJLAKQ2vAqLfsjEZIsRPk5//fL?= =?utf-8?q?YO/MyjyfzLC50R47YUNABIkEWCUnkMPCjyCU9XRKVm0IL/ePc8mViRB1unx3Gfs+f?= =?utf-8?q?3ylXn3vew8Kcu0JdYV4+LOUNqApkFUF51nMlUAsN2XSHeeNCUvDSyrk0FG8cV7jSw?= =?utf-8?q?7TOu1iU7rIoEePLDvyMgoPMM/zo+g4MLjiGAFF93f95o6N1/17vI/YkeNxO1YHB7J?= =?utf-8?q?XFKbowD3R9HKttnJmSJ3YagWHd2I6royjJ0Jjhj98rhCpEC5LOKACieog/2NPetsB?= =?utf-8?q?+Q+dWZMCuFmJHJpqA3l/rMCp06hPOsR62YB+HwHrG2JYKK7DKh4+6aDQFvrJlhmlQ?= =?utf-8?q?ctLcL71RvF?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.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: 09 Apr 2025 06:46:04.9746 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c4171035-3662-47f6-fe51-08dd7732335b 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=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN2PEPF00004FBA.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9152 Hi, This series is to emulate legacy and extended capability list for host, including patch #1, #2, #3, hide capability when its initialization fails, including patch #4, remove all related registers and other resources when failure, including patch #5, #6, #7, #8. Best regards, Jiqian Chen. --- cc: Andrew Cooper cc: Anthony PERARD cc: Michal Orzel cc: Jan Beulich cc: Julien Grall cc: "Roger Pau Monné" cc: Stefano Stabellini --- Jiqian Chen (8): driver/pci: Get next capability without passing caps vpci/header: Emulate legacy capability list for host vpci/header: Emulate extended capability list for host vpci: Hide capability when it fails to initialize vpci: Refactor vpci_remove_register to remove matched registers vpci/rebar: Remove registers when init_rebar() fails vpci/msi: Free MSI resources when init_msi() fails vpci/msix: Add function to clean MSIX resources tools/tests/vpci/main.c | 4 +- xen/arch/x86/hvm/intercept.c | 44 +++++++ xen/arch/x86/include/asm/hvm/io.h | 3 + xen/drivers/pci/pci.c | 6 +- xen/drivers/vpci/header.c | 180 ++++++++++++++++----------- xen/drivers/vpci/msi.c | 49 ++++++-- xen/drivers/vpci/msix.c | 67 +++++++++- xen/drivers/vpci/rebar.c | 27 ++-- xen/drivers/vpci/vpci.c | 198 ++++++++++++++++++++++++------ xen/include/xen/pci.h | 2 +- xen/include/xen/pci_regs.h | 1 + xen/include/xen/vpci.h | 30 +++-- xen/include/xen/xen.lds.h | 2 +- 13 files changed, 461 insertions(+), 152 deletions(-)