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: 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 ( 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.
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]