summaryrefslogtreecommitdiff
path: root/boot
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-04-17 10:12:18 -0600
committerTom Rini <[email protected]>2026-04-17 10:12:18 -0600
commit7decfc66197ab9651e8993582224377be3dd8fb5 (patch)
tree4ad2250c0ec35ebf9d862ca4ce807c3fd763cdf7 /boot
parentbc6c4ee8d4309af706002a8d8b6bb2871c07fca2 (diff)
parent98d1d3227e8d9513a2705e9fa4c8aa9d20d8eeac (diff)
Merge tag 'efi-2026-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request for efi-2026-07-rc1 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29844 Documentation: * correct title of CONTRIBUTE.rst * Fix fdt resize argument in fdt_overlays.rst * api: bootcount: correct bootcount description * binman: Add Sphinx extension to auto-generate entry and bintool docs * binman: Remove pre-generated entries.rst and bintools.rst * j784s4_evm: Automate BAR address lookup for PCIe Boot UEFI: * efi_var_sf: Do not fail on blank SPI Flash * Allow disabling ANSI console queries via Kconfig * bootstd: efi: Handle prior-stage FDT in network path * event: Check return value from event_notify_null() * event: Introduce EVT_POST_PREBOOT event * fwu: Move boottime checks to EVT_POST_PREBOOT
Diffstat (limited to 'boot')
-rw-r--r--boot/bootmeth_efi.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/boot/bootmeth_efi.c b/boot/bootmeth_efi.c
index f592fec07f6..e187dc39912 100644
--- a/boot/bootmeth_efi.c
+++ b/boot/bootmeth_efi.c
@@ -269,17 +269,22 @@ static int distro_efi_read_bootflow_net(struct bootflow *bflow)
return log_msg_ret("fi0", -ENOMEM);
/* read the DT file also */
+ ret = efi_get_distro_fdt_name(fname, sizeof(fname), 0);
+ if (ret == -EALREADY) {
+ /* Prior-stage FDT is used, no download needed */
+ bflow->flags |= BOOTFLOWF_USE_PRIOR_FDT;
+ bflow->state = BOOTFLOWST_READY;
+ return 0;
+ } else if (ret) {
+ return log_msg_ret("nam", ret);
+ }
+
fdt_addr_str = env_get("fdt_addr_r");
if (!fdt_addr_str)
return log_msg_ret("fdt", -EINVAL);
fdt_addr = hextoul(fdt_addr_str, NULL);
sprintf(file_addr, "%lx", fdt_addr);
- /* We only allow the first prefix with PXE */
- ret = efi_get_distro_fdt_name(fname, sizeof(fname), 0);
- if (ret)
- return log_msg_ret("nam", ret);
-
bflow->fdt_fname = strdup(fname);
if (!bflow->fdt_fname)
return log_msg_ret("fil", -ENOMEM);