efi_loader: efi_net: Add device path cache

In preparation to support mutiple efi net udevices. Add a device path
cache to support device paths from multiple ethernet udevices.
The device paths can be added to the cache before EFI gets initialized and
the protocols get installed.

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
This commit is contained in:
Adriano Cordova
2025-03-03 11:13:15 -03:00
committed by Simon Glass
parent f54216e502
commit 1eda169d77
7 changed files with 262 additions and 61 deletions

View File

@@ -12,6 +12,7 @@
#include <efi_variable.h>
#include <log.h>
#include <asm-generic/unaligned.h>
#include <net.h>
#define OBJ_LIST_INITIALIZED 0
#define OBJ_LIST_NOT_INITIALIZED 1
@@ -226,7 +227,7 @@ static efi_status_t efi_start_obj_list(void)
efi_status_t ret = EFI_SUCCESS;
if (IS_ENABLED(CONFIG_NETDEVICES))
ret = efi_net_do_start();
ret = efi_net_do_start(eth_get_dev());
return ret;
}
@@ -343,7 +344,7 @@ efi_status_t efi_init_obj_list(void)
goto out;
}
if (IS_ENABLED(CONFIG_NETDEVICES)) {
ret = efi_net_register();
ret = efi_net_register(eth_get_dev());
if (ret != EFI_SUCCESS)
goto out;
}