audk/MdeModulePkg
Ard Biesheuvel 1a3bee2082 MdeModulePkg/NonDiscoverablePciDeviceDxe: expose unique B/D/F identifiers
Currently, the implementation of EFI_PCI_IO_PROTOCOL::GetLocation()
in NonDiscoverablePciDeviceDxe returns the same set of dummy values
for each instance of the NON_DISCOVERABLE_DEVICE protocol that it
attaches itself to. However, this turns out to be causing problems
in cases where software (such as the ARM Compliance Test Suite [ACS])
attempts to use these values to uniquely identify controllers, since
the collisions create ambiguity in this regard.

So let's modify GetLocation() to return an arbitrary bus/device tuple
on segment 0xff instead. This is guaranteed not to clash with other
non-discoverable PCI devices, and highly unlikely to clash with real
PCIe devices.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2018-10-10 11:14:29 +02:00
..
Application MdeModulePkg CapsuleApp:Remove two redundant Guids 2018-09-21 11:34:42 +08:00
Bus MdeModulePkg/NonDiscoverablePciDeviceDxe: expose unique B/D/F identifiers 2018-10-10 11:14:29 +02:00
Core MdeModulePkg/DxeIpl: support more NX related PCDs 2018-09-26 08:55:10 +08:00
Include MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
Library MdeModulePkg: Update Brotli DecompressLib to the latest v1.0.6 2018-10-09 22:28:16 +08:00
Logo MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
Universal MdeModulePkg/HiiDB: Fix incorrect structure convention for checkbox 2018-10-09 22:20:08 +08:00
MdeModulePkg.dec MdeModulePkg/MdeModulePkg.dec/.uni: clarify PCDs usage 2018-09-26 08:55:09 +08:00
MdeModulePkg.dsc MdeModulePkg: Remove PalLib in dsc which was missed at de00522 2018-09-25 23:40:40 +08:00
MdeModulePkg.uni MdeModulePkg/MdeModulePkg.dec/.uni: clarify PCDs usage 2018-09-26 08:55:09 +08:00
MdeModulePkgExtra.uni MdeModulePkg: Clean up source files 2018-06-28 11:19:45 +08:00