]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
bootflow: bootmeth_efi: Set bootp_arch as hex
authorShantur Rathore <i@shantur.com>
Sun, 19 Nov 2023 16:54:58 +0000 (16:54 +0000)
committerTom Rini <trini@konsulko.com>
Sat, 9 Dec 2023 18:16:08 +0000 (13:16 -0500)
bootmeth_efi sets up bootp_arch which is read later in bootp.c
Currently bootp_arch is being set as integer string and being
read in bootp.c as hex, this sends incorrect arch value to dhcp server
which in return sends wrong file for network boot.

For ARM64 UEFI Arch value is 0xb (11), here we set environment as 11
and later is read as 0x11 and 17 is sent to dhcp server.

Setting it as hex string fixes the problem.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Shantur Rathore <i@shantur.com>
boot/bootmeth_efi.c

index 9ba7734911e13d1bdd52fbb885a7ef256a3d859d..682cf5b23b77bdc0616e9aff49acca1e2ccc1729 100644 (file)
@@ -339,7 +339,7 @@ static int distro_efi_read_bootflow_net(struct bootflow *bflow)
        ret = env_set("bootp_vci", str);
        if (ret)
                return log_msg_ret("vcs", ret);
-       ret = env_set_ulong("bootp_arch", arch);
+       ret = env_set_hex("bootp_arch", arch);
        if (ret)
                return log_msg_ret("ars", ret);