On 28 April 2016 at 18:06, Laszlo Ersek <[email protected]> wrote:
> 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?
>

No, it is completely separate, as far as I can tell. It simply creates
an incorrect descriptor list if none of the PCI devices behind a root
bridge require any resources at all, and this is probably a code path
that you are very unlikely to hit on x86.
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to