
Hi Maxim,
On 27/11/2023 13:56, Maxim Uvarov wrote:
U-Boot recently got support for an alternative network stack using LWIP. Replace tftp command with the LWIP variant while keeping the output and error messages identical.
Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
include/net/lwip.h | 13 ++++ net/lwip/Makefile | 1 + net/lwip/apps/tftp/Makefile | 7 ++ net/lwip/apps/tftp/lwip-tftp.c | 132 +++++++++++++++++++++++++++++++++ 4 files changed, 153 insertions(+) create mode 100644 net/lwip/apps/tftp/Makefile create mode 100644 net/lwip/apps/tftp/lwip-tftp.c
<snip>
With: =======><============================================== diff --git a/net/lwip/apps/tftp/lwip-tftp.c b/net/lwip/apps/tftp/lwip-tftp.c index 7b384cecf8..1d1b7e8fa5 100644 --- a/net/lwip/apps/tftp/lwip-tftp.c +++ b/net/lwip/apps/tftp/lwip-tftp.c @@ -8,6 +8,8 @@ #include <command.h> #include <console.h> #include <bootstage.h> +#include <efi_loader.h> +#include <mapmem.h>
#include "tftp_client.h" #include "tftp_server.h" @@ -17,6 +19,7 @@
#include <net/ulwip.h>
+static char *filename; static ulong daddr; static ulong size; static unsigned int progress_print; @@ -38,6 +41,12 @@ static void tftp_close(void *handle) ulwip_exit(-1); return; } + + if (IS_ENABLED(CONFIG_CMD_BOOTEFI)) + efi_set_bootdev("Net", "", filename, + map_sysmem(daddr - size, 1), + size); + ulwip_exit(0); }
@@ -92,6 +101,7 @@ int ulwip_tftp(ulong addr, char *fname)
size = 0; daddr = addr; + filename = fname; server_ip = env_get("serverip"); if (!server_ip) { log_err("error: serverip variable has to be set\n"); =================><======================================
Loading EFI works again, and you can drop patch 15.
Neil