diff options
| author | Tom Rini <[email protected]> | 2025-04-11 09:09:08 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-04-11 09:09:08 -0600 |
| commit | dea298c62e904dd697e7b91bd3dae5d839f31d8f (patch) | |
| tree | 796cb253e7511a277c0b54e1c3fb87306a56f353 /board | |
| parent | 048266be426865282e8a482fe1f25bb919a9bfb8 (diff) | |
| parent | a73b854700abcf680379497c32b92aa39fed6270 (diff) | |
Merge tag 'efi-2025-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2025-07-rc1
CI:
* https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/25648
Documentation:
* Update authenticated capsules documentation
UEFI:
* Add support for loading FIT images including initrd
- efi_loader: efi_load_initrd: provide a memory mapped initrd
- efi_loader: binary_run: register an initrd
- bootm: add support for initrd in do_bootm_efi
* efi_selftest: remove un-needed NULL checks
* efi: Fix efiboot for payloads loaded from memory
* Print extra information from the bootmgr
* Move public cert for capsules to .rodata
* Set EFI capsule dfu_alt_info env explicitly
* Make FDT extra space configurable
* Install the ACPI table from the bloblist
* Handle GD_FLG_SKIP_RELOC
* Handle malloc() errors
Others:
* acpi: select CONFIG_BLOBLIST
* smbios: select CONFIG_BLOBLIST
* xilinx: dfu: Fill directly update_info.dfu_string
* cmd: fwu: Dump custom fields from mdata structure
* board: remove capsule update support in set_dfu_alt_info()
Diffstat (limited to 'board')
| -rw-r--r-- | board/beagle/beagleboneai64/beagleboneai64.c | 8 | ||||
| -rw-r--r-- | board/beagle/beagleplay/beagleplay.c | 8 | ||||
| -rw-r--r-- | board/libre-computer/aml-a311d-cc/aml-a311d-cc.c | 2 | ||||
| -rw-r--r-- | board/libre-computer/aml-s805x-ac/aml-s805x-ac.c | 2 | ||||
| -rw-r--r-- | board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c | 2 | ||||
| -rw-r--r-- | board/phytec/common/k3/board.c | 8 | ||||
| -rw-r--r-- | board/ti/am62px/evm.c | 8 | ||||
| -rw-r--r-- | board/ti/am62x/evm.c | 8 | ||||
| -rw-r--r-- | board/ti/am64x/evm.c | 8 | ||||
| -rw-r--r-- | board/ti/j721e/evm.c | 8 | ||||
| -rw-r--r-- | board/ti/j784s4/evm.c | 8 | ||||
| -rw-r--r-- | board/xilinx/common/board.h | 3 | ||||
| -rw-r--r-- | board/xilinx/versal/board.c | 16 | ||||
| -rw-r--r-- | board/xilinx/zynq/board.c | 16 | ||||
| -rw-r--r-- | board/xilinx/zynqmp/zynqmp.c | 16 |
15 files changed, 24 insertions, 97 deletions
diff --git a/board/beagle/beagleboneai64/beagleboneai64.c b/board/beagle/beagleboneai64/beagleboneai64.c index e8d07f1f95f..99eb8972cf3 100644 --- a/board/beagle/beagleboneai64/beagleboneai64.c +++ b/board/beagle/beagleboneai64/beagleboneai64.c @@ -45,14 +45,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/beagle/beagleplay/beagleplay.c b/board/beagle/beagleplay/beagleplay.c index fae69b37585..78635810585 100644 --- a/board/beagle/beagleplay/beagleplay.c +++ b/board/beagle/beagleplay/beagleplay.c @@ -41,14 +41,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c b/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c index 294f78858a7..b3b78bfd0ea 100644 --- a/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c +++ b/board/libre-computer/aml-a311d-cc/aml-a311d-cc.c @@ -31,8 +31,6 @@ void set_dfu_alt_info(char *interface, char *devstr) { if (interface && strcmp(interface, "ram") == 0) env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000"); - else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); } #endif diff --git a/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c b/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c index 1ec9a5b401e..daece299848 100644 --- a/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c +++ b/board/libre-computer/aml-s805x-ac/aml-s805x-ac.c @@ -38,8 +38,6 @@ void set_dfu_alt_info(char *interface, char *devstr) { if (interface && strcmp(interface, "ram") == 0) env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000"); - else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); } #endif diff --git a/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c b/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c index b552035ee03..09a69b090ab 100644 --- a/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c +++ b/board/libre-computer/aml-s905d3-cc/aml-s905d3-cc.c @@ -31,8 +31,6 @@ void set_dfu_alt_info(char *interface, char *devstr) { if (interface && strcmp(interface, "ram") == 0) env_set("dfu_alt_info", "fitimage ram 0x08080000 0x4000000"); - else if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); } #endif diff --git a/board/phytec/common/k3/board.c b/board/phytec/common/k3/board.c index 7d2146d5727..828973a8e28 100644 --- a/board/phytec/common/k3/board.c +++ b/board/phytec/common/k3/board.c @@ -82,14 +82,6 @@ static void configure_capsule_updates(void) } #endif -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - #if IS_ENABLED(CONFIG_ENV_IS_IN_FAT) || IS_ENABLED(CONFIG_ENV_IS_IN_MMC) int mmc_get_env_dev(void) { diff --git a/board/ti/am62px/evm.c b/board/ti/am62px/evm.c index 75359fa1614..379d1a5b316 100644 --- a/board/ti/am62px/evm.c +++ b/board/ti/am62px/evm.c @@ -41,14 +41,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/ti/am62x/evm.c b/board/ti/am62x/evm.c index 279ceba9554..3051a0a27a1 100644 --- a/board/ti/am62x/evm.c +++ b/board/ti/am62x/evm.c @@ -74,14 +74,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c index 6a17737d266..35fd30dbceb 100644 --- a/board/ti/am64x/evm.c +++ b/board/ti/am64x/evm.c @@ -54,14 +54,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c index 1fa78ff7b30..0525f6e6f97 100644 --- a/board/ti/j721e/evm.c +++ b/board/ti/j721e/evm.c @@ -65,14 +65,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/ti/j784s4/evm.c b/board/ti/j784s4/evm.c index d317f3eccbb..c6e46b7ee0e 100644 --- a/board/ti/j784s4/evm.c +++ b/board/ti/j784s4/evm.c @@ -40,14 +40,6 @@ struct efi_capsule_update_info update_info = { .images = fw_images, }; -#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO) -void set_dfu_alt_info(char *interface, char *devstr) -{ - if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) - env_set("dfu_alt_info", update_info.dfu_string); -} -#endif - int board_init(void) { return 0; diff --git a/board/xilinx/common/board.h b/board/xilinx/common/board.h index 64d657673e9..cb86c4c5b91 100644 --- a/board/xilinx/common/board.h +++ b/board/xilinx/common/board.h @@ -18,4 +18,7 @@ bool board_detection(void); char *soc_name_decode(void); bool soc_detection(void); + +void configure_capsule_updates(void); + #endif /* BOARD_XILINX_COMMON_BOARD_H */ diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c index b4483d00ad1..05530736751 100644 --- a/board/xilinx/versal/board.c +++ b/board/xilinx/versal/board.c @@ -8,6 +8,7 @@ #include <cpu_func.h> #include <dfu.h> #include <env.h> +#include <efi_loader.h> #include <fdtdec.h> #include <init.h> #include <env_internal.h> @@ -280,6 +281,9 @@ int board_late_init(void) { int ret; + if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) + configure_capsule_updates(); + if (!(gd->flags & GD_FLG_ENV_DEFAULT)) { debug("Saved variables - Skipping\n"); return 0; @@ -356,8 +360,6 @@ enum env_location env_get_location(enum env_operation op, int prio) } #endif -#if defined(CONFIG_SET_DFU_ALT_INFO) - #define DFU_ALT_BUF_LEN SZ_1K static void mtd_found_part(u32 *base, u32 *size) @@ -385,7 +387,7 @@ static void mtd_found_part(u32 *base, u32 *size) } } -void set_dfu_alt_info(char *interface, char *devstr) +void configure_capsule_updates(void) { int bootseq = 0, len = 0; u32 multiboot = versal_multi_boot(); @@ -393,9 +395,6 @@ void set_dfu_alt_info(char *interface, char *devstr) ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN); - if (env_get("dfu_alt_info")) - return; - memset(buf, 0, sizeof(buf)); multiboot = env_get_hex("multiboot", multiboot); @@ -436,7 +435,6 @@ void set_dfu_alt_info(char *interface, char *devstr) return; } - env_set("dfu_alt_info", buf); - puts("DFU alt info setting: done\n"); + update_info.dfu_string = strdup(buf); + debug("Capsule DFU: %s\n", update_info.dfu_string); } -#endif diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c index 8dbfa560423..5efef61fa8f 100644 --- a/board/xilinx/zynq/board.c +++ b/board/xilinx/zynq/board.c @@ -7,6 +7,7 @@ #include <config.h> #include <debug_uart.h> #include <dfu.h> +#include <efi_loader.h> #include <init.h> #include <log.h> #include <dm/uclass.h> @@ -52,6 +53,9 @@ int board_late_init(void) char *new_targets; char *env_targets; + if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) + configure_capsule_updates(); + if (!(gd->flags & GD_FLG_ENV_DEFAULT)) { debug("Saved variables - Skipping\n"); return 0; @@ -165,17 +169,12 @@ enum env_location env_get_location(enum env_operation op, int prio) } } -#if defined(CONFIG_SET_DFU_ALT_INFO) - #define DFU_ALT_BUF_LEN SZ_1K -void set_dfu_alt_info(char *interface, char *devstr) +void configure_capsule_updates(void) { ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN); - if (env_get("dfu_alt_info")) - return; - memset(buf, 0, sizeof(buf)); switch ((zynq_slcr_get_boot_mode()) & ZYNQ_BM_MASK) { @@ -199,7 +198,6 @@ void set_dfu_alt_info(char *interface, char *devstr) return; } - env_set("dfu_alt_info", buf); - puts("DFU alt info setting: done\n"); + update_info.dfu_string = strdup(buf); + debug("Capsule DFU: %s\n", update_info.dfu_string); } -#endif diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 820fb252a3f..33205d4cf1d 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -11,6 +11,7 @@ #include <dfu.h> #include <env.h> #include <env_internal.h> +#include <efi_loader.h> #include <init.h> #include <log.h> #include <net.h> @@ -526,6 +527,9 @@ int board_late_init(void) usb_ether_init(); #endif + if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) + configure_capsule_updates(); + multiboot = multi_boot(); if (multiboot >= 0) env_set_hex("multiboot", multiboot); @@ -631,8 +635,6 @@ enum env_location env_get_location(enum env_operation op, int prio) } #endif -#if defined(CONFIG_SET_DFU_ALT_INFO) - #define DFU_ALT_BUF_LEN SZ_1K static void mtd_found_part(u32 *base, u32 *size) @@ -660,15 +662,12 @@ static void mtd_found_part(u32 *base, u32 *size) } } -void set_dfu_alt_info(char *interface, char *devstr) +void configure_capsule_updates(void) { int multiboot, bootseq = 0, len = 0; ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN); - if (env_get("dfu_alt_info")) - return; - memset(buf, 0, sizeof(buf)); multiboot = multi_boot(); @@ -732,10 +731,9 @@ void set_dfu_alt_info(char *interface, char *devstr) return; } - env_set("dfu_alt_info", buf); - puts("DFU alt info setting: done\n"); + update_info.dfu_string = strdup(buf); + debug("Capsule DFU: %s\n", update_info.dfu_string); } -#endif #if defined(CONFIG_SPL_SPI_LOAD) unsigned int spl_spi_get_uboot_offs(struct spi_flash *flash) |
