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] -=-=-=-=-=-=-=-=-=-=-=-