On 12/06/19 00:54, Laszlo Ersek wrote:

> The proper solution would be the following (if I may suggest an idea):
> 
> (1) fix ArmVirtPkg: hoist the following part:
> 
>>   //
>>   // Locate the PCI root bridges and make the PCI bus driver connect each,
>>   // non-recursively. This will produce a number of child handles with PciIo 
>> on
>>   // them.
>>   //
>>   FilterAndProcess (&gEfiPciRootBridgeIoProtocolGuid, NULL, Connect);
>>
>>   //
>>   // Signal the ACPI platform driver that it can download QEMU ACPI tables.
>>   //
>>   EfiEventGroupSignal (&gRootBridgesConnectedEventGroupGuid);
> 
> above this part:
> 
>>   //
>>   // Signal EndOfDxe PI Event
>>   //
>>   EfiEventGroupSignal (&gEfiEndOfDxeEventGroupGuid);
>>
>>   //
>>   // Dispatch deferred images after EndOfDxe event.
>>   //
>>   EfiBootManagerDispatchDeferredImages ();
> 
> This will make:
> 
> - ArmVirtPkg match the order employed in OvmfPkg,
> 
> - EfiBootManagerDispatchDeferredImages() pick up PCI option ROMs,
> 
> - run the ACPI platform driver *before* EndOfDxe; but that's just fine.
>   (In fact, in OvmfPkg, that's *required*. See the FACS note there.)
> 
> 
> (2) Port the same fix to ArmPkg: namely move
> 
>>   //
>>   // Locate the PCI root bridges and make the PCI bus driver connect each,
>>   // non-recursively. This will produce a number of child handles with PciIo 
>> on
>>   // them.
>>   //
>>   FilterAndProcess (&gEfiPciRootBridgeIoProtocolGuid, NULL, Connect);
> 
> just above
> 
>>   //
>>   // Signal EndOfDxe PI Event
>>   //
>>   EfiEventGroupSignal (&gEfiEndOfDxeEventGroupGuid);
> 
> 
> (3) In a separate patch, call EfiBootManagerDispatchDeferredImages()
> just after the *new* location of signaling EndOfDxe.

So given that commit 0f9395d7c5cc6ae2beaa2d87008fe158d04a8069 exists
now, I think we should do (1), and then port it whole-sale to ArmPkg.

... Unless of course my analysis is wrong. :)

Thanks
Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#51804): https://edk2.groups.io/g/devel/message/51804
Mute This Topic: https://groups.io/mt/31432647/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to