From nobody Fri May 10 11:46:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+80881+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+80881+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=intel.com Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 163215517778069.8386967070245; Mon, 20 Sep 2021 09:26:17 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 3a9ZYY1788612xD2Dbd399aC; Mon, 20 Sep 2021 09:26:17 -0700 X-Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web08.1109.1632154860155652468 for ; Mon, 20 Sep 2021 09:21:00 -0700 X-IronPort-AV: E=McAfee;i="6200,9189,10113"; a="210250732" X-IronPort-AV: E=Sophos;i="5.85,308,1624345200"; d="scan'208,217";a="210250732" X-Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Sep 2021 09:20:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,308,1624345200"; d="scan'208,217";a="473674880" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 20 Sep 2021 09:20:58 -0700 X-Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 20 Sep 2021 09:20:57 -0700 X-Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 20 Sep 2021 09:20:57 -0700 X-Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 20 Sep 2021 09:20:57 -0700 X-Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.48) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Mon, 20 Sep 2021 09:20:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PCuBSzznqqrqsV10XZMqI81QUqrPXwbG78qqQUJBBywyxPFLeMFNb24ZlgshrY5Osee/Zc/YdVzzkPuyQ9FeiVbJaZv7+i0mmXCXquV0m3MuTcDJQ46UM77zpptdS+juoQjpqYl0H8+Nt8MLPN+8Xux3pAk/34xDBe8DnYWbwKnjV9gWpOp8NyRPMMc6vwWjsJkFEnEG9mS05CLmXkcu59Rmv/Oap/gGa0UuSSAHNNWMMOnIT2JfudrhLzc2dEH3AZdk0VOAoFb5H9q9ZKyW/ClYFrYZtMjgRVsFIWotNhUxAjj4sAu8Z96rjU4MScPy19i2yWYNWLAbxKF9W8QJsA== 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; bh=OWwH26h5qvgNhXxDV6tPoQK7gG859FUuPhW1RGktAEg=; b=PKOSaKtMmDhz2lfBq06ysMV3v+mUD7ScIhjJ3p4ZISei0Rxm+7Elo02w2S7LzhL+8M81VaozVr5uy26E4/DxCzOjr1PWrOdoXMlc+tO2SaNSAYgF+qhgyRYi2/Ll18EZ8epwfCAQitK4/+zXxRpV+6FbErjR4I6rYBmIynv9SxWETp7vV5wYt1ay0Gex3s66nDn3L975GTEaK/8Q8iCSZfIu/mgeIh6hmlpBfmIHupLVH3tevPiszPnx39Qk7UU8fwL5K6P+5BB02nf6yzwIkn4nkPciv/xoJ4ZXYdbIy4eoYKHgqaxPI8GaQ9yS8yAIhfm5iEzQsjvm9IDAHr/zlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from CO1PR11MB5187.namprd11.prod.outlook.com (2603:10b6:303:95::15) by MWHPR11MB0013.namprd11.prod.outlook.com (2603:10b6:301:67::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.16; Mon, 20 Sep 2021 16:20:53 +0000 X-Received: from CO1PR11MB5187.namprd11.prod.outlook.com ([fe80::60d4:c5c8:b43c:f940]) by CO1PR11MB5187.namprd11.prod.outlook.com ([fe80::60d4:c5c8:b43c:f940%6]) with mapi id 15.20.4523.018; Mon, 20 Sep 2021 16:20:53 +0000 From: "Bassa, Damian" To: "devel@edk2.groups.io" CC: "Ni, Ray" , "Wu, Hao A" , "Kolakowski, Jacek" Subject: [edk2-devel] [PATCH V2] MdeModulePkg/PciBusDxe: Enumerator to check for RCiEP before looking for RP Thread-Topic: [PATCH V2] MdeModulePkg/PciBusDxe: Enumerator to check for RCiEP before looking for RP Thread-Index: AdeuOvuCy4BqfCQEROu05bT6d3DPXg== Date: Mon, 20 Sep 2021 16:20:53 +0000 Message-ID: Accept-Language: pl-PL, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5ef52975-7568-4c53-cea4-08d97c529e54 x-ms-traffictypediagnostic: MWHPR11MB0013: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: uR9wTCWKfud9MCd4za7khiZWKOD6OISL3HVzOG22KP8jvhdbXdBFfqNaEkZA03N9iG+7HXWhSAtnfn/Qm8wqKKYINiwzeU8b+7q15W1xckJqi0zcO+s3Ua8f9eEnoHN1mkr28uIbWL3KisDp3iwB6u+z74EmNQIYjasO+ypmPkk+P3+axmjwyGK9DjsFfuAOxu9XugqQaYxGzFtIG05GFh+8XSKH6sFg7cnqG3bNtGecfZ0xN+TUTpjKBhAcIGyPNwmvtfhlhmTm/cIvTDQEcuVvJx+ePwBMa+R5xQ+L1nLlSam3Ffx1BEQj0uQyqm+4DcTEqJ/LDJILDZtHHti9ydiS7OzTpds/4GbvdgobZpMhklurQp/qHdmhCw8nFJ4BjlRStQ1V10Zv/MlugBg2EFn82K7ePEZ3JTs5X1AjTfs8XiZ6Sj2JS8iZIJo5vLZflUFv/c8DVHdXZKqGi1xGWiM/nkuRxa1oUAhFw8eITqPxHLaJwCTFu5UHTSDsV2lv8vf7BgGuEvqX7YCPj9ZwuHUxif0juYSW7DmBAWUS5BUydZVWYslGgjg7Ih8BIvxbprad+rVHg8l+mohaAktWJUeDwhIQ6n1bFuCxNsTi6ShLmgFhRXpVrCvS8Sy6Oans3lNRquN7zzPw35Oir++ecWIevAGp1GMSk9gphvpBKcmZi1okjtfgmfQYH2+vC12QM5Y1CICb5Qbesy4LX1PAFw== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?inPLMaGGwykAyw5GY1e81i/7w+WtTxwNkPtYalXEoIpSnZ5Wp1r3CgrYCXnn?= =?us-ascii?Q?Q/cTsM5QSh463D1ehCEwr+PSwp+lXUBx9fwb9vuqZYXoBkEwsiGOYo3WdQU9?= =?us-ascii?Q?LPHpjIslcbTP55EH0YqJQ6jmJj8knOq4V6KW75CdfNEEwmMKohzZOBFNBD+P?= =?us-ascii?Q?mxdE5DhDgjNsSVX3+ne9/flZI/pUb3/aVY87u23BInmPSiXdsFbkxIgnQoAd?= =?us-ascii?Q?3ZLmHfviyg+bPve/GO4YHkJGZmmtBHeoJGkh8A+lmrx+hApQiP98fiNTiJfF?= =?us-ascii?Q?d1LhUc12aGMxHrydZ/b6zGEKZ2Xj30uapXDB0fZGjVjF7ccdXPtEfKCaIp00?= =?us-ascii?Q?qQpKeGqS5KNUfl0jTmmTsFP5wGfHwecCnVoBtWkvf9nO5uT2cSJSE+JGCcom?= =?us-ascii?Q?qqsek1V4b0GLExfnO/jwbwapXP8L7Cf+agth+KSDnmAexvJMm3FxqU/HdZbk?= =?us-ascii?Q?AsD/MfZiKnONam/v0mH2R2Tzoviavu9NRom4ZKRJ5GtLbgGn/cQg8Ljx+FAX?= =?us-ascii?Q?j3AtmW/4UaiUJ3o8+3uaGR7dVHo1ruvXR2Qv1gHAcXv5ZnzAUN0u05ao/HJ4?= =?us-ascii?Q?NZane6aMwQ0aGr9Ds6xB6Rb8F0PppZqqKV2x7Q8xopfGQKLRN28A50tydn9H?= =?us-ascii?Q?4RbAZinQS++lZ22+LZYYqoutAdUg4qFwRMxZI0ooE+eupAfEU10oOBFnW2HM?= =?us-ascii?Q?hjt7AVIOohUlC4TuBHUDHKuNj0jlakqYxCy/X78lG+NmXnzbYfSUGaAeV5vM?= =?us-ascii?Q?AdwuIEcGnTgK/XvsDFH8OMp4jSjTRVp4OEHYcdLBLMhgBfWkDwz83v6weCpZ?= =?us-ascii?Q?Bh/7iQXhXohURObuF9ScdXuzTIlMNyWxyHNGmNljU81bwp0h5/cmkkhyO1lR?= =?us-ascii?Q?8YGCVy5az1TXh36VS7QfU1Cm8ikmnGVtjJZ3APuMbYVpezgzK9m7qnZ8T6GJ?= =?us-ascii?Q?z5wGNDjSbOwiNWwsAyWdpu/psnXNPUfFXZ2Ffcg4TY6ZGCPSLdKxeAg/Fjtt?= =?us-ascii?Q?0E7czSPoHGHKfkKJkzHUH8oiHCYWBmrTmjKGt+qOQZgnjjLJljoZiHj3nxsl?= =?us-ascii?Q?WzTpDxRVFwA5QGHuNQnMMgOo+20w9obQTs0hQ5Qe3PKUzfmvGMniK9NeQHb9?= =?us-ascii?Q?sAKJSTzFs5JehOjrWFleWxazJGiPoiAW6LY2fi2whccVh+IFLY/cQ4ixc0wd?= =?us-ascii?Q?RsXKLwdbUpNUyoqdZMUhsi3AymbiIV/0ZvGhq0L1LAtogtmn2XTvp155hu/T?= =?us-ascii?Q?8a+n5nsWvRhQ0Ei9R0qp1qEiIId5Js05V8WBDRPjZbcTd4opiw3lQNBpb39Q?= =?us-ascii?Q?yOWjFF4Goy+IGIToEEXdXSnb?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5187.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ef52975-7568-4c53-cea4-08d97c529e54 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2021 16:20:53.4170 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tVtSaQmF0ejCIylLDcU+ezfEzMz7xvlZIuOEdn8sJQn+0RR1ti7DGqupf6T9NH+H7r4XFQvh1k0CXVneiWS3Kg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB0013 X-OriginatorOrg: intel.com Precedence: Bulk List-Unsubscribe: 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,damian.bassa@intel.com X-Gm-Message-State: BzhrPrgJo2kPzRV1qBoesw5yx1787277AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_CO1PR11MB5187FDAE7E4FD842E10F53ED8DA09CO1PR11MB5187namp_" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1632155177; bh=IZHU9dKeCJrIMSPx1Wfr6MugWKWXZzepgBx/Un5kzt0=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=KpLl1zQJOW/bM4ARFkoL7fgMcQwc6X2zLsxs1a0iDQvI1grxZarDgMGhZObINulOfew iYQH5rLutkQoW4lL1iVOfHGzTaLZmcNHEpdnZIlcU9r0aSv11q8NjeN4rknHQPnsCsTG1 L+CBByR1PejWIZgmu+Q/zi8cGeNuG8hHWj0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1632155178177100002 --_000_CO1PR11MB5187FDAE7E4FD842E10F53ED8DA09CO1PR11MB5187namp_ MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Before trying to access parent root port to check ARI capabilities, enumerator should see if Endpoint device is not Root Complex integrated to avoid undefined parent register accesses. Signed-off-by: Damian Bassa damian.bassa@intel.com Change-Id: Ib782a9d73daab9164d4189a50e06273660400695 Reviewed-by: Ray Ni --- .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/MdeMod= ulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c index db1b35f8ef..687d055f49 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c @@ -2128,6 +2128,27 @@ AuthenticatePciDevice ( return EFI_SUCCESS; } +/** + Checks if PCI device is Root Bridge + + @param Bridge Instance of PCI device + + @retval TRUE Device is Root Bridge + @return FALSE Device is not Root Bridge + +**/ +BOOLEAN +IsRootBridge ( + IN PCI_IO_DEVICE *PciIoDevice + ) +{ + if (PciIoDevice->Parent =3D=3D NULL) { + return TRUE; + } else { + return FALSE; + } +} + /** Create and initialize general PCI I/O device instance for PCI device/bridge device/hotplug bridge device. @@ -2229,7 +2250,10 @@ CreatePciIoDevice ( return NULL; } - if (PcdGetBool (PcdAriSupport)) { + // + // Check if device's parent is not Root Bridge + // + if (PcdGetBool (PcdAriSupport) && !IsRootBridge(Bridge)) { // // Check if the device is an ARI device. // -- --------------------------------------------------------------------- Intel Technology Poland sp. z o.o. ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydz= ial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-31= 6 | Kapital zakladowy 200.000 PLN. Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata= i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wi= adomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiek= olwiek przegladanie lub rozpowszechnianie jest zabronione. This e-mail and any attachments may contain confidential material for the s= ole use of the intended recipient(s). If you are not the intended recipient= , please contact the sender and delete all copies; any review or distributi= on by others is strictly prohibited. -=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 (#80881): https://edk2.groups.io/g/devel/message/80881 Mute This Topic: https://groups.io/mt/85745259/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- --_000_CO1PR11MB5187FDAE7E4FD842E10F53ED8DA09CO1PR11MB5187namp_ Content-Type: text/html; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable

Before trying to access parent root port to check AR= I capabilities,

enumerator should see if Endpoint device is not Root= Complex integrated

to avoid undefined parent register accesses.

 

Signed-off-by: Damian Bassa damian.bassa@intel.com

 

Change-Id: Ib782a9d73daab9164d4189a50e06273660400695=

---

.../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c  |= 26 ++++++++++++++++++-

1 file changed, 25 insertions(+), 1 deletion(-)=

 

diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnume= ratorSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c=

index db1b35f8ef..687d055f49 100644

--- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSu= pport.c

+++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSu= pport.c

@@ -2128,6 +2128,27 @@ AuthenticatePciDevice (<= /o:p>

   return EFI_SUCCESS;

}

+/**

+  Checks if PCI device is Root Bridge

+

+  @param Bridge     &= nbsp;      Instance of PCI device

+

+  @retval TRUE     &n= bsp;       Device is Root Bridge

+  @return FALSE     &= nbsp;      Device is not Root Bridge

+

+**/

+BOOLEAN

+IsRootBridge (

+  IN PCI_IO_DEVICE    &nbs= p;            &= nbsp;  *PciIoDevice

+  )

+{

+  if (PciIoDevice->Parent =3D=3D NULL) {

+    return TRUE;

+  } else {

+    return FALSE;

+  }

+}

+

/**

   Create and initialize general PCI I/O d= evice instance for

   PCI device/bridge device/hotplug bridge= device.

@@ -2229,7 +2250,10 @@ CreatePciIoDevice (

     return NULL;

   }

-  if (PcdGetBool (PcdAriSupport)) {=

+  //

+  // Check if device's parent is not Root Brid= ge

+  //

+  if (PcdGetBool (PcdAriSupport) && !I= sRootBridge(Bridge)) {

     //

     // Check if the device is a= n ARI device.

     //

--


Intel = Technology Poland sp. z o.o.
ul. Słowackiego 173 | 80-298 Gdańsk | Sąd Rejonowy G= dańsk Północ | VII Wydział Gospodarczy Krajowego Rejest= ru Sądowego - KRS 101882 | NIP 957-07-52-316 | Kapitał zakła= dowy 200.000 PLN.

Ta wiadomość wraz z załącznikami jest przeznacz= ona dla określonego adresata i może zawierać informacje pouf= ne. W razie przypadkowego otrzymania tej wiadomości, prosimy o powiado= mienie nadawcy oraz trwałe jej usunięcie; jakiekolwiek przegl= 1;danie lub rozpowszechnianie jest zabronione.
This e-mail and any attachments may contain confidential material f= or the sole use of the intended recipient(s). If you are not the intended r= ecipient, please contact the sender and delete all copies; any review or di= stribution by others is strictly prohibited.

_._,_._,_

G= roups.io Links:

You receive all messages sent to this group.

Vi= ew/Reply Online (#80881) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [importer@patchew.org]
_._,_._,_=20 --_000_CO1PR11MB5187FDAE7E4FD842E10F53ED8DA09CO1PR11MB5187namp_--