From mboxrd@z Thu Jan 1 00:00:00 1970
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
by mx.groups.io with SMTP id smtpd.web10.8.1629818423411610121
for 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 in these=
cases. Signed-off-by: Damian Bassa
damian.bassa@intel.com --- .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c &n=
bsp; | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnume=
ratorSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c index db1b35f8ef..6451fb8af9 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSu=
pport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSu=
pport.c @@ -2153,6 +2153,7 @@ CreatePciIoDevice ( PCI_IO_DEVICE &n=
bsp; *PciIoDevice; EFI_PCI_IO_PROTOCOL *PciIo; EFI_STATUS &nbs=
p; Status; + PCI_REG_PCIE_CAPABILITY Capability; PciIoDevice =3D AllocateZeroPool (=
sizeof (PCI_IO_DEVICE)); if (PciIoDevice =3D=3D NULL) { @@ -2229,7 +2230,16 @@ CreatePciIoDevice ( return NULL; } - if (PcdGetBool (PcdAriSupport)) { + PciIo->Pci.Read ( + &nb=
sp; PciIo, + &nb=
sp; EfiPciIoWidthUint16, + &nb=
sp; PciIoDevice->PciExpressCapabilit=
yOffset + OFFSET_OF (PCI_CAPABILITY_PCIEXP, Capability), + &nb=
sp; 1, + &nb=
sp; &Capability.Uint16 + &nb=
sp; ); + + if (PcdGetBool (PcdAriSupport) && + Capability.Bits.DevicePortType !=
=3D PCIE_DEVICE_PORT_TYPE_ROOT_COMPLEX_INTEGRATED_ENDPOINT) { // // Check if the device is a=
n ARI device. // -- 2.27.0.windows.1
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.