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 <[email protected]>

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to