mirror of https://github.com/acidanthera/audk.git
If the current PCI configuration requires no resources to be allocated at all (i.e., unpopulated bus), the PCI enumeration code creates a single ACPI_ADDRESS_SPACE_DESCRIPTOR memory descriptor with all fields cleared. This is rejected by the SubmitResources() implementation of the generic PciHostBridgeDxe in the following way: PciHostBridge: SubmitResources for PcieRoot(0x0) Mem: Granularity/SpecificFlag = 0 / 00 Length/Alignment = 0x0 / 0x0 PciBus: HostBridge->SubmitResources() - Invalid Parameter ASSERT_EFI_ERROR (Status = Invalid Parameter) ASSERT [PciBusDxe] .../PciBusDxe/PciLib.c(561): !EFI_ERROR (Status) So instead, create the empty configuration as a single entry of type EFI_ACPI_END_TAG_DESCRIPTOR. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> |
||
---|---|---|
.. | ||
ComponentName.c | ||
ComponentName.h | ||
PciBus.c | ||
PciBus.h | ||
PciBusDxe.inf | ||
PciBusDxe.uni | ||
PciBusDxeExtra.uni | ||
PciCommand.c | ||
PciCommand.h | ||
PciDeviceSupport.c | ||
PciDeviceSupport.h | ||
PciDriverOverride.c | ||
PciDriverOverride.h | ||
PciEnumerator.c | ||
PciEnumerator.h | ||
PciEnumeratorSupport.c | ||
PciEnumeratorSupport.h | ||
PciHotPlugSupport.c | ||
PciHotPlugSupport.h | ||
PciIo.c | ||
PciIo.h | ||
PciLib.c | ||
PciLib.h | ||
PciOptionRomSupport.c | ||
PciOptionRomSupport.h | ||
PciPowerManagement.c | ||
PciPowerManagement.h | ||
PciResourceSupport.c | ||
PciResourceSupport.h | ||
PciRomTable.c | ||
PciRomTable.h |