audk/MdeModulePkg/Bus/Pci/PciBusDxe
Ard Biesheuvel b59e2427c2 MdeModulePkg/PciBusDxe: don't create bogus descriptor if no resources needed
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>
2016-04-29 15:23:20 +08:00
..
ComponentName.c
ComponentName.h
PciBus.c MdeModulePkg/PciBusDxe: Remove unused variable assignment 2015-05-28 01:55:15 +00:00
PciBus.h Dispatch the UEFI option rom returned from PciPlatform/PciOverride protocol. 2015-01-20 06:45:01 +00:00
PciBusDxe.inf MdeModulePkg: list ARM and AARCH64 as valid architectures for some modules 2015-02-23 16:05:50 +00:00
PciBusDxe.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PciBusDxeExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PciCommand.c MdeModulePkg: Enhance PCI capability looking up logic to avoid hang 2015-09-15 08:38:16 +00:00
PciCommand.h
PciDeviceSupport.c Dispatch the UEFI option rom returned from PciPlatform/PciOverride protocol. 2015-01-20 06:45:01 +00:00
PciDeviceSupport.h
PciDriverOverride.c
PciDriverOverride.h
PciEnumerator.c MdeModulePkg/PciBusDxe: don't create bogus descriptor if no resources needed 2016-04-29 15:23:20 +08:00
PciEnumerator.h
PciEnumeratorSupport.c MdeModulePkg: Fix a PCI resource dumping bug in PciBusDxe driver 2015-11-03 02:33:41 +00:00
PciEnumeratorSupport.h MdeModulePkg: Fix a PCI resource dumping bug in PciBusDxe driver 2015-11-03 02:33:41 +00:00
PciHotPlugSupport.c
PciHotPlugSupport.h
PciIo.c MdeModuelPkg/PciBus: Return AddrTranslationOffset in GetBarAttributes 2016-02-29 10:19:57 +08:00
PciIo.h
PciLib.c MdeModulePkg/PciBus: Should reserve enough bus number for HPC 2016-03-24 11:24:30 +08:00
PciLib.h
PciOptionRomSupport.c Dispatch the UEFI option rom returned from PciPlatform/PciOverride protocol. 2015-01-20 06:45:01 +00:00
PciOptionRomSupport.h Dispatch the UEFI option rom returned from PciPlatform/PciOverride protocol. 2015-01-20 06:45:01 +00:00
PciPowerManagement.c
PciPowerManagement.h
PciResourceSupport.c MdeModulePkg: Fix a PciBusDxe hot plug bug 2015-11-03 02:34:21 +00:00
PciResourceSupport.h
PciRomTable.c
PciRomTable.h