diff options
| author | Tom Rini <[email protected]> | 2026-04-17 10:12:18 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-04-17 10:12:18 -0600 |
| commit | 7decfc66197ab9651e8993582224377be3dd8fb5 (patch) | |
| tree | 4ad2250c0ec35ebf9d862ca4ce807c3fd763cdf7 /boot | |
| parent | bc6c4ee8d4309af706002a8d8b6bb2871c07fca2 (diff) | |
| parent | 98d1d3227e8d9513a2705e9fa4c8aa9d20d8eeac (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.c | 15 |
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); |
