[edk2-devel] [PATCH v1 1/1] ArmPkg: Dispatch deferred images after EndOfDxe

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Dec 5 20:25:49 UTC 2019


On Wed, 1 May 2019 at 15:02, Sami Mujawar <sami.mujawar at arm.com> wrote:
>
> Third party driver images loaded from Option ROM get queued
> for execution after EndOfDxe. These queued images need to be
> dispatched from the PlatformBootManagerLib.
>
> Since the queued images were not dispatched, the PCI Option
> ROM drivers were not getting loaded on Juno. Therefore,
> add call to EfiBootManagerDispatchDeferredImages() for
> dispatching deferred images from PlatformBootManagerLib.
>
> Signed-off-by: Sami Mujawar <sami.mujawar at arm.com>
> ---
>
> The changes can be seen at https://github.com/samimujawar/edk2/tree/527_option_rom_loading_v1
>
>  ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
> index 0f91692c1a5ee6104bfef8545e4f436e53042178..71b857b5ba884c27ab870f6b75fa3e34d48e6060 100644
> --- a/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
> +++ b/ArmPkg/Library/PlatformBootManagerLib/PlatformBm.c
> @@ -2,7 +2,7 @@
>    Implementation for PlatformBootManagerLib library class interfaces.
>
>    Copyright (C) 2015-2016, Red Hat, Inc.
> -  Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>
> +  Copyright (c) 2014 - 2019, ARM Ltd. All rights reserved.<BR>
>    Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
>    Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
>
> @@ -554,6 +554,11 @@ PlatformBootManagerBeforeConsole (
>    EfiEventGroupSignal (&gEfiEndOfDxeEventGroupGuid);
>
>    //
> +  // Dispatch deferred images after EndOfDxe event.
> +  //
> +  EfiBootManagerDispatchDeferredImages ();
> +
> +  //
>    // 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.

OK, given that other implementations of PlatformBootManagerLib also
make this call after signalling EndOfDxe, this is obviously the
correct thing to do. I'm still curious why this difference exists, but
it doesn't make sense to block this patch from going in, considering
that I haven't been able to investigate.

So I'll merge this - I just need to figure out how to use the new CI
based workflow :-)

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

View/Reply Online (#51801): https://edk2.groups.io/g/devel/message/51801
Mute This Topic: https://groups.io/mt/31432647/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list