[PATCH 00/21] EFI driver to support multiple network interfaces
Adriano Cordova
adrianox at gmail.com
Wed Jan 22 18:08:37 CET 2025
This series introduces an EFI driver to manage EFI net objects. The main
functionalities implemented here are the following:
- Support multiple efi_net_obj
- Manage efi_net_obj with EFI driver
- Support calling [dis]connect_controller with a handle having
a snp protocol installed.
The patches can be found at
https://github.com/0n41rd4/u-boot/tree/efi-net-driver
on top of upstream/next.
Best regards,
Adriano
Adriano Cordova (21):
legacy-net: wget: fix wget_info handling after new tcp legacy stack
efi_loader: expose symbols to be used by the EFI network stack
efi_loader: efi_setup: Add efi_start_obj_list() to efi_setup.c
efi_loader: efi_net: Add efi_net_do_start() to efi_net.c
efi_loader: efi_device_path: Let network device paths receive the net
udevice as an argument
efi_loader: efi_net: Add support for multiple efi_net_obj
efi_driver: efi_net: Add EFI network device driver
efi_loader: efi_net: Reuse efi_net_obj's
efi_loader: efi_net: Let efi_net_obj store pointers to
efi_simple_network, efi_simple_network_mode, and the efi handle
efi_net: efi_loader: Add efi_netobj_alloc to allocate an efi_net_obj
efi_loader: efi_net: Manage EFI net objects with
efi_[dis]connect_controller
eth_uclass: Add eth_create_device to create a net udevice
efi_driver: efi_net: UCLASS_ETH "efi_netdev" U-Boot driver
efi_driver: efi_uclass: Add unbind method to efi_driver_ops
efi_driver: efi_net: Add efi_net_unbind_drv method to efi_net driver
efi_loader: efi_net: Add functions to [un]register http and
ip4_config2 protocols, and add pxe protocol on demand
efi_loader: efi_net: add snp_owner field to efi_net_obj struct
efi_selftest: Add selftest for counting EFI netdevices
py/tests: test_efi_selftest: Add test for counting EFI netdevices
py/tests: test_efi_selftest: Add test for removing EFI netdevices
efi_selftest: Add test for efi_netdev driver
include/efi_driver.h | 4 +
include/efi_loader.h | 80 +-
include/net-common.h | 3 +
lib/efi_driver/Makefile | 1 +
lib/efi_driver/efi_net_device.c | 289 ++++++
lib/efi_driver/efi_uclass.c | 6 +-
lib/efi_loader/efi_bootbin.c | 3 +-
lib/efi_loader/efi_boottime.c | 23 +-
lib/efi_loader/efi_device_path.c | 23 +-
lib/efi_loader/efi_http.c | 36 +-
lib/efi_loader/efi_ipconfig.c | 41 +-
lib/efi_loader/efi_net.c | 1063 ++++++++++++++++----
lib/efi_loader/efi_setup.c | 27 +-
lib/efi_selftest/Makefile | 2 +-
lib/efi_selftest/efi_selftest_net_device.c | 65 ++
lib/efi_selftest/efi_selftest_net_driver.c | 310 ++++++
lib/efi_selftest/efi_selftest_snp.c | 1 -
net/eth-uclass.c | 32 +
net/wget.c | 18 +-
test/py/tests/test_efi_selftest.py | 45 +
20 files changed, 1810 insertions(+), 262 deletions(-)
create mode 100644 lib/efi_driver/efi_net_device.c
create mode 100644 lib/efi_selftest/efi_selftest_net_device.c
create mode 100644 lib/efi_selftest/efi_selftest_net_driver.c
--
2.43.0
More information about the U-Boot
mailing list