diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2018-10-10 10:34:50 +0200 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2018-10-10 11:14:29 +0200 |
commit | 1a3bee20820c9f68a235a31ccc92db1f299266c9 (patch) | |
tree | 18df21fe6f62d42a411b378c9eb74326117d1eba /SignedCapsulePkg | |
parent | 2730470f9d3bbaed51a04a11bfc1bf21670fa49e (diff) | |
download | edk2-1a3bee20820c9f68a235a31ccc92db1f299266c9.tar.gz edk2-1a3bee20820c9f68a235a31ccc92db1f299266c9.tar.bz2 edk2-1a3bee20820c9f68a235a31ccc92db1f299266c9.zip |
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>
Diffstat (limited to 'SignedCapsulePkg')
0 files changed, 0 insertions, 0 deletions