| Message ID | 20241206173033.2403998-1-adriano.cordova@canonical.com |
|---|---|
| Headers | show |
| Series | efi_loader: efi_setup: Add efi_start_obj_list() and use it to set PXE IP address | expand |
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@konsulko.com>