[PATCH 0/2] efi_loader: efi_setup: Add efi_start_obj_list() and use it to set PXE IP address

Tom Rini trini at konsulko.com
Fri Dec 6 20:50:26 CET 2024


On Fri, Dec 06, 2024 at 02:30:31PM -0300, Adriano Cordova wrote:

> The command bootefi calls efi_init_obj_list to do the efi set up
> before launching an .efi payload, but efi_init_obj_list is called
> only once. There are some initializations which depend on the
> environment and should be done each time a payload gets launched and
> not only once and can now be done in efi_start_obj_list(). A motivation
> for this change is the following order of events:
> 
> 1. Launch an EFI application (e.g. bootefi hello)
> 2. Change the ip address
> 3. Launch another application which uses the pxe protocol
> 
> As the EFI pxe protocol was initialized when the handles
> for efi net were created in 1., the ip was hardcoded there.
> 
> In this example, another possibility would be to make a callback for ip
> address changes to go all the way up to efi_net.
> 
> Adriano Cordova (2):
>   efi_loader: efi_setup: Add efi_start_obj_list() to efi_setup.c
>   efi_loader: efi_net: Add efi_net_start() to efi_net.c
> 
>  include/efi_loader.h       |  1 +
>  lib/efi_loader/efi_net.c   | 31 ++++++++++++++++++++++++-------
>  lib/efi_loader/efi_setup.c | 24 +++++++++++++++++++++++-
>  3 files changed, 48 insertions(+), 8 deletions(-)

On top of the previous series that fixed my other issue:

Tested-by: Tom Rini <trini at konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241206/03862649/attachment.sig>


More information about the U-Boot mailing list