From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 07DE0D80471 for ; Mon, 21 Aug 2023 03:42:51 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=CqCND40yavu75YHn4+Hg2ido2Qo4KqLvChsF4YTNfWg=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1692589370; v=1; b=wZfAOMZy1i6zN0V1hQp69YZnio0OTzeXKvf0W4VBBVBLAXBgRhc45Lwg48nlZAlQNF9Uru0Z bDHVamXeazh9pndAy/GRS3o/wGbe50BrGFNFI7A3nczfoCpJrDV07bSg0h53Qa5j4CqXARW3ljE J2OLDTbpBlgEbGIU9aN3qqoQ= X-Received: by 127.0.0.2 with SMTP id RBrmYY7687511xMquoElUX4T; Sun, 20 Aug 2023 20:42:50 -0700 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.116]) by mx.groups.io with SMTP id smtpd.web11.3685.1692589369612811247 for ; Sun, 20 Aug 2023 20:42:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iJZQstXLPsDaGevP8Cw/9xYdwjP9I3TsuxQ0w4NIri/IwqNoyJavxi+295KW60JF9ZkBMcwPUnV2V+Sew+PqycG1oVi+yxhsEI212kEun9uwofshe5ULuieMsWMR+8s+3/D3eGYaA8W3v/3frNd6Y776NfZz024jJrzmTGE9tqnhsdMxqp68onwLfzcmopMK6Wj8J2PcfODUKkczd2uiHJIGHbQ+GLZsD4PAjNUU+X+6Gxm5+S/zuX+B6wu0SJWzQqJvBjANkfPO+U+wo1qQMWTg6jhc02Wv3Zks9QAcb2+ZlBVtmYZ+yk4A8ubVKv+w2SIhNfoXnT/cr64rdMGbRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=SIBp81ukKLEuse6AXQ3fFJiNgiItXbx+tX1pmGrn0DI=; b=SyXGRxTLcAYmclyOvCSAgb4YJVdJz0edComBsu0f1h63Lm9vVQB/fJofl5J2xR13JdOyt4MLJX2SjKeXYVssQK4qANIgLRSKn7Fg/DbR6lB28i7Dg+1bGLtkBnlbMA4ijKxWkqSN6PRItq1AjBpqTDm4mv8W40dp01R4Z/qXlDE0rbawINDhwkAxvfCJ9HEy4wUtqFfonQArWYpfR1d0wj49jSEzTl+0BLTqS6m/xe1IcvVFuJrWbq196Rr5na7ZJnzVtWMwph9GHgj7HFIDbUfFbcjru7T63gxQV5LiWrlfMSSQEE9VGJT29aCZg2h/XbA5BJntmGGLmbq0gPAXeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) by SJ0PR01MB6158.prod.exchangelabs.com (2603:10b6:a03:2a0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.20; Mon, 21 Aug 2023 03:42:47 +0000 X-Received: from PH0PR01MB7287.prod.exchangelabs.com ([fe80::47db:e2da:2ade:2e19]) by PH0PR01MB7287.prod.exchangelabs.com ([fe80::47db:e2da:2ade:2e19%5]) with mapi id 15.20.6699.022; Mon, 21 Aug 2023 03:42:46 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io Cc: Nhi Pham , Jian J Wang , Liming Gao , Hao A Wu Subject: [edk2-devel] [PATCH 1/1] MdeModulePkg/PciBusDxe: Fix boot hang with faulty PCI Option ROM Date: Mon, 21 Aug 2023 10:40:48 +0700 Message-Id: <20230821034048.38632-1-nhi@os.amperecomputing.com> X-ClientProxiedBy: SG2PR03CA0110.apcprd03.prod.outlook.com (2603:1096:4:91::14) To PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR01MB7287:EE_|SJ0PR01MB6158:EE_ X-MS-Office365-Filtering-Correlation-Id: d832e3e3-7e7a-4dfa-a518-08dba1f8aef8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: EBnpSz9XcOMk7raK8VHh5poy3rWvxNHlzBYfodUY2e1tLnAQp4ImawYQap7X8tIpuW7tJNFxL9p4C+8ZWjGKM8pnNHYSi4ef3UCi6D+o9uqi09JwAX0ef4X2zKdz1obPIDbby5MoRHEDxweyeaBhSrzSgv4dK7t3NWBk6EQ+Wfnl4+I8VlsiS19fYeehJVXx2uMFn9wypgc8dfRrDOCbJoBehZSqLg6zlYFl/33rSEghTRKGciR5iJM2UgzNJ6W1EuYyqJDcNpEowMLMsjkv3QzgrDIX5iGdynGxm8JcvsNWSCx9erBQY0Txu4M9z5gjNNbMnkGAIgrm0/u2xbiV/EJMGYeS29JOGpc59Ljc1DQEXq71PalYBPZAujwA3/2qs4ALwwejPF/EAOlglAk6qOYwtwQREzSnhh7RsswnbuCUfHkGa/WB7H/J8TXWxEr60u6qNc2/gjucsHQz4pFrZN878KBIXgncsotnr+mcoWtRE/vpD6fiD0O+vUh9mbB5l6KsJi8HfhJiUzuRVSDtENoBx5DhewbcUCQwjshf+nqGkha9Yme28QaPVbHbSJ0GlGwx1X3Mv9RVDC5c17XzQNmVOd/1hsGrch6LhTRKTGykFZHSwE1Zemk4ScZK8rBd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uk6gL04TbmZYsfvA5+49xyTF/JNJjv3XWwHxQOOV97P/dIUrxPVIo+5f14+d?= =?us-ascii?Q?MT6/xlvKrwGhjYQrm713IZOrX+B+CuVj2/4s2NE0h5TBRdyKoUrX716sBFtH?= =?us-ascii?Q?3NWZ3Fw1jKgCLXgWyb2y6y0NyvJenaUK1XYSvmuGcChksCWh7s4q1IA+ROiB?= =?us-ascii?Q?0HFqgdzTWe7Esr+c2Eps7Y5uAdb1LIVBTpvEBoinixUDzclAb2I3bDgkPkjg?= =?us-ascii?Q?4ZjZfokaVMgnrrG0dyxRfmrRDxBCdCihv4jMMQVdi0xvOsG/fo1QBO5wpYxc?= =?us-ascii?Q?Z3eRXruYuxXOUCBBHOQOVIYV0iB3eScY4vo7TjgjJTDJI0jWct7JZuTFx4Jp?= =?us-ascii?Q?eldqIXIpvGPYuwAKPDxE4dQmqCrar3Tl0TOCygu3zuithou4VPlburpgRfid?= =?us-ascii?Q?zl6relBVAfsVmg3WXEBZdrwMXCuQmP0/PP0q4w0N79//Bq5BcKZFa9GW7ws8?= =?us-ascii?Q?dvPVgiB6p909/3kokUqknoftGTBJ4uNqKSwPPbafJYlhjFZ8AXHrM5UQEDSR?= =?us-ascii?Q?hRoamWQPxyPi+fiVJP3q3xPjytfZoet3OHuVHeQrhMLjS/NCeyIY11EBLl2A?= =?us-ascii?Q?YmTl8X1gmaGRYpovcDEzcX+TF4nTOSI3wXTgo6gZPUARqUsymDsYvtJ+j3CL?= =?us-ascii?Q?5B7j/Sp1l8bg1Oq7eT7CILmRyqqyevi7PxnpkiHSYI0C1v2QwRTAY7hSUlGG?= =?us-ascii?Q?L21mFhaYsPyBCsMOGKCRsgSa5YE3Pujd8f+lqSIh0Ij3v55G7FCg2udGXyVu?= =?us-ascii?Q?CpHzfBFgW9pbewuA+TYKhfiDnPf9oOGc2be177pWtYAZOF9EQgd4+of2h9Wk?= =?us-ascii?Q?JD+c4Rc0MirEM00NCI+Pw31S2osxBZ+swYvqWXrr4/Eln/CFgNfBTGFSAPn8?= =?us-ascii?Q?oYXUwFdoVmspOdKPlcHnk+R0HkjD3pVhTFCP4LDxh3eBP21k0HNk0amZ0auQ?= =?us-ascii?Q?xC33ihJQWthm2lkMR3/rjZVbyA53eOs2NWhV2JQJCxIT0Qaft94l2fLsGXiO?= =?us-ascii?Q?xrXDTh8vgCk5tT5obk7RUu37hJCsGEti8TkM+hESMdTN9bYuQKjwIoQYexcT?= =?us-ascii?Q?AZxFCsIOJZrSm6z1IxOdg97HDYbeRGpSOuyymL4v3jdtSx9ORWtzqusUcgeA?= =?us-ascii?Q?r4Sb6QNl5bjzW83YF2tX1vb/QlC2qoXRpGzN2ttKVs7B/H9hp/4XaFBqqj9x?= =?us-ascii?Q?+RAZB7yPYDRtH01puCl6/MQ4gHakps9F+nxdMG2C5qmoIgqnrh1fUtlszAIf?= =?us-ascii?Q?PXPhTdQkUTKxFxvAVjK8SyHxDtYPgdyTf7hEhCHaROFsy5IezBiO3kkrVLMD?= =?us-ascii?Q?ZosSrzlhCajvsdhMxPwsWEhNX3a99pfcoLOpOuKK54b/Na0s14c+HFtuMspe?= =?us-ascii?Q?zob1n7H+1eOqM9LxKKgfc9Lr1A1Z9GOz5JWX4rovgbSIIe1TAE+n8kPcG88D?= =?us-ascii?Q?e5UClFC14eZn/CcscqjcNpfkeAtjAnwhlNIVqxOxcM47yFdLZyrbiAW8D/Kz?= =?us-ascii?Q?juVyAqKQL+wqBr48XUkJ1hElYCcBkhBBJFtJxcQw6AM1JfZA4FByUmWSab/Z?= =?us-ascii?Q?JqNSDv29+AktVPe0UaCFdnPXkmViQ5F7yeaw8FttBLr2xgnM7gI/l45FzQsf?= =?us-ascii?Q?6w=3D=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: d832e3e3-7e7a-4dfa-a518-08dba1f8aef8 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7287.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2023 03:42:46.5271 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: z0hmdW/V/DMQQcPA/65Rsfl6EF/9+K9lJQy4YrXIvrK6UPdSYOfAJbcFFSWa4XZ8o/4s63oLXoR3OKxAI9lD9aD13WP5qYajOrvZHV0JJHo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR01MB6158 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nhi@os.amperecomputing.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: bOfaqbOMXAzJMLzvfnobbuPXx7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=wZfAOMZy; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=none; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") A faulty PCI device has the Option ROM image size set to 0. UEFI reads two headers PCI_EXPANSION_ROM_HEADER and PCI_DATA_STRUCTURE to get the Option ROM information. Because the image size is 0, the Option ROM header address never changes. As a result, UEFI keeps reading the same two headers definitely. This patch is intended to fix it. Cc: Jian J Wang Cc: Liming Gao Cc: Hao A Wu Signed-off-by: Nhi Pham --- MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c b/MdeModu= lePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c index 89f5f64101a5..bd5ace18f6e4 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciOptionRomSupport.c @@ -506,13 +506,13 @@ LoadOpRomImage ( Indicator =3D RomPcir->Indicator; RomImageSize =3D RomImageSize + RomPcir->ImageLength * 512; RomBarOffset =3D RomBarOffset + RomPcir->ImageLength * 512; - } while (((Indicator & 0x80) =3D=3D 0x00) && ((RomBarOffset - RomBar) < = RomSize)); + } while (((Indicator & 0x80) =3D=3D 0x00) && ((RomBarOffset - RomBar) < = RomSize) && (RomImageSize > 0)); =20 // // Some Legacy Cards do not report the correct ImageLength so used the m= aximum // of the legacy length and the PCIR Image Length // - if (CodeType =3D=3D PCI_CODE_TYPE_PCAT_IMAGE) { + if ((RomImageSize > 0) && (CodeType =3D=3D PCI_CODE_TYPE_PCAT_IMAGE)) { RomImageSize =3D MAX (RomImageSize, LegacyImageLength); } =20 --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107907): https://edk2.groups.io/g/devel/message/107907 Mute This Topic: https://groups.io/mt/100867107/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-