Pull request efi-2026-01-rc1

CI:

  * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/27944

Documentation:

 * samsung: Extend E850-96 documentation to be comprehensive
 * environment: fix links to Linux kernel documentation
 * sandbox: fix typos
 * document dmareset command
 * ti: j722s_evm: drop outdated boot note

UEFI:

 * Prevent leak of memory from tmp_files
 * Correctly check if the HTTP protocol is found
 * Use ESRT_FW_TYPE_SYSTEMFIRMWARE instead of ESRT_FW_TYPE_UNKNOWN
 * dbginfodump: use guid definition

Others:

 * lib/uuid: add support for efi debug image info table guid
This commit is contained in:
Tom Rini
2025-10-20 08:27:19 -06:00
11 changed files with 1043 additions and 81 deletions

View File

@@ -72,7 +72,7 @@ console::
Err: lcd
=>
You can issue commands as your would normally. If the command you want is
You can issue commands as you would normally. If the command you want is
not supported you can add it to include/configs/sandbox.h.
To exit, type 'poweroff' or press Ctrl-C.
@@ -634,7 +634,7 @@ There are at least four possible ways to address this:
* Use the host malloc and free instead of U-Boot's custom allocator. This will
eliminate the need to annotate dlmalloc. However, using a different allocator
for sandbox will mean that bugs in dlmalloc will only be tested when running
on read (or emulated) hardware.
on real (or emulated) hardware.
Until one of the above options are implemented, it will remain difficult
to sift through the massive amount of spurious warnings.

File diff suppressed because it is too large Load Diff

View File

@@ -201,11 +201,6 @@ The following table shows some common boot modes used on J722S-EVM
platform. More details can be found in the Technical Reference Manual:
https://www.ti.com/lit/zip/sprujb3 under the `Boot Mode Pins` section.
.. note::
This device is very new. Currently only UART boot is available while
we continue to add support for the other bootmodes.
.. list-table:: Boot Modes
:widths: 16 16 16
:header-rows: 1

View File

@@ -0,0 +1,55 @@
.. SPDX-License-Identifier: GPL-2.0-or-later
.. index::
single: dmareset (command)
dmareset command
================
Synopsis
--------
::
Usage: dmareset <channel 0-7> [<channel 0-7> ...]
dmareset - Release PL330 DMA channel reset(s) for SoCFPGA
Usage:
dmareset <channel 0-7> [<channel 0-7> ...] - release reset for one or more DMA channels
Description
-----------
Release the DMA channel reset *channel*.
Parameters
----------
channel
DMA channel number
Example
-------
Release DMA channel(s)::
=> dmareset 0
PL330 DMA channel 0 reset released
=> dmareset 1
PL330 DMA channel 1 reset released
=> dmareset 0 1
PL330 DMA channel 0 reset released
PL330 DMA channel 1 reset released
Configuration
-------------
The dmareset command is only available if CONFIG_CMD_C5_PL330_DMA=y in
"Shell scripting commands".
Return value
------------
If the command succeeds, the return value $? is set to 0 (true).
If an error occurs, the return value $? is set to 1 (false).

View File

@@ -587,5 +587,5 @@ Implementation
See :doc:`../develop/environment` for internal development details.
.. _`Booting ARM Linux`: https://www.kernel.org/doc/html/latest/arm/booting.html
.. _`Booting AArch64 Linux`: https://www.kernel.org/doc/html/latest/arm64/booting.html
.. _`Booting ARM Linux`: https://www.kernel.org/doc/html/latest/arch/arm/booting.html
.. _`Booting AArch64 Linux`: https://www.kernel.org/doc/html/latest/arch/arm64/booting.html

View File

@@ -57,6 +57,7 @@ Shell commands
cmd/cpu
cmd/cpuid
cmd/cyclic
cmd/dmareset
cmd/dm
cmd/ebtupdate
cmd/echo

View File

@@ -24,10 +24,8 @@ static efi_guid_t guid_device_path_to_text_protocol =
static struct efi_device_path_to_text_protocol *device_path_to_text;
/* EFI_DEBUG_IMAGE_INFO_TABLE_GUID */
static const efi_guid_t dbg_info_guid =
EFI_GUID(0x49152E77, 0x1ADA, 0x4764, 0xB7, 0xA2,
0x7A, 0xFE, 0xFE, 0xD9, 0x5E, 0x8B);
EFI_DEBUG_IMAGE_INFO_TABLE_GUID;
/* EFI_DEBUG_IMAGE_INFO_NORMAL */
struct dbg_info {

View File

@@ -1096,8 +1096,10 @@ static efi_status_t efi_capsule_scan_dir(u16 ***files, unsigned int *num)
while (1) {
tmp_size = dirent_size;
ret = EFI_CALL((*dirh->read)(dirh, &tmp_size, dirent));
if (ret != EFI_SUCCESS)
if (ret != EFI_SUCCESS) {
free(tmp_files);
goto err;
}
if (!tmp_size)
break;

View File

@@ -236,7 +236,7 @@ efi_status_t efi_esrt_add_from_fmp(struct efi_firmware_management_protocol *fmp)
* TODO: set the field image_type depending on the FW image type
* defined in a platform basis.
*/
u32 image_type = ESRT_FW_TYPE_UNKNOWN;
u32 image_type = ESRT_FW_TYPE_SYSTEMFIRMWARE;
/* TODO: set the capsule flags as a function of the FW image type. */
u32 flags = 0;

View File

@@ -460,14 +460,16 @@ static efi_status_t EFIAPI efi_http_service_binding_destroy_child(
if (!child_handle)
return EFI_EXIT(EFI_INVALID_PARAMETER);
efi_search_protocol(child_handle, &efi_http_guid, &phandler);
if (!phandler)
return EFI_EXIT(EFI_UNSUPPORTED);
ret = efi_search_protocol(child_handle, &efi_http_guid, &phandler);
if (ret != EFI_SUCCESS) {
if (ret != EFI_INVALID_PARAMETER)
ret = EFI_UNSUPPORTED;
goto out;
}
ret = efi_delete_handle(child_handle);
if (ret != EFI_SUCCESS)
return EFI_EXIT(ret);
goto out;
http_instance = phandler->protocol_interface;
efi_free_pool(http_instance->http_load_addr);
@@ -476,8 +478,8 @@ static efi_status_t EFIAPI efi_http_service_binding_destroy_child(
free(phandler->protocol_interface);
num_instances--;
return EFI_EXIT(EFI_SUCCESS);
out:
return EFI_EXIT(ret);
}
/**

View File

@@ -256,6 +256,10 @@ static const struct {
RISCV_EFI_BOOT_PROTOCOL_GUID,
},
#endif
{
NULL, "EFI Debug Image Info Table",
EFI_DEBUG_IMAGE_INFO_TABLE_GUID,
},
#endif /* CONFIG_CMD_EFIDEBUG */
#ifdef CONFIG_CMD_NVEDIT_EFI
/* signature database */