On 04/28/16 17:51, Ard Biesheuvel wrote: > 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 <[email protected]> > --- > MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-)
Is this error related to the other thread? http://thread.gmane.org/gmane.comp.bios.edk2.devel/11135 In particular, to PcdPciDisableBusEnumeration? Thanks Laszlo > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c > index 597c0834e0f5..469a2ddb8ac0 100644 > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumerator.c > @@ -1307,15 +1307,12 @@ ConstructAcpiResourceRequestor ( > // > // If there is no resource request > // > - Configuration = AllocateZeroPool (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); > + Configuration = AllocateZeroPool (sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); > if (Configuration == NULL) { > return EFI_OUT_OF_RESOURCES; > } > > - Ptr = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) > (Configuration); > - Ptr->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > - > - PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Ptr + 1); > + PtrEnd = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Configuration); > PtrEnd->Desc = ACPI_END_TAG_DESCRIPTOR; > PtrEnd->Checksum = 0; > } > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

