From: Chenhui Sun chenhui.sun@linaro.org
This is a temporary program, need continue to investigate the root cause.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chenhui Sun chenhui.sun@linaro.org --- Chips/Hisilicon/Drivers/PciHostBridgeDxe/PciRootBridgeIo.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/Chips/Hisilicon/Drivers/PciHostBridgeDxe/PciRootBridgeIo.c b/Chips/Hisilicon/Drivers/PciHostBridgeDxe/PciRootBridgeIo.c index 8dfb4b9..2effd7c 100644 --- a/Chips/Hisilicon/Drivers/PciHostBridgeDxe/PciRootBridgeIo.c +++ b/Chips/Hisilicon/Drivers/PciHostBridgeDxe/PciRootBridgeIo.c @@ -1770,6 +1770,13 @@ RootBridgeIoPciRead ( return EFI_INVALID_PARAMETER; }
+ if ((EfiPciAddress->Bus == 0x81) && (PrivateData->MemBase == 0xAA000000) && (EfiPciAddress->Device > 0)) { + return EFI_NOT_FOUND; + } + if ((EfiPciAddress->Bus == 0x91) && (EfiPciAddress->Device > 0)) { + return EFI_NOT_FOUND; + } + // The UEFI PCI enumerator scans for devices at all possible addresses, // and ignores some PCI rules - this results in some hardware being // detected multiple times. We work around this by faking absent