Merge tag 'efi-2025-07-rc2' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2025-07-rc2 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/26025 Documentation: * ti: update bash code-block directives to prompt * ti: k3: add language for code-block directive * correct uthread inline documentation UEFI: * correctly handle EFI FIT images without initrd * pass kernel load address not entry point for EFI FIT images Other: * boot:let BOOTSTAGE_RECORD_COUNT default to 50
This commit is contained in:
+1
-1
@@ -1170,7 +1170,7 @@ config BOOTSTAGE_REPORT
|
||||
config BOOTSTAGE_RECORD_COUNT
|
||||
int "Number of boot stage records to store"
|
||||
depends on BOOTSTAGE
|
||||
default 30
|
||||
default 50
|
||||
help
|
||||
This is the size of the bootstage record list and is the maximum
|
||||
number of bootstage records that can be recorded.
|
||||
|
||||
+2
-2
@@ -498,11 +498,11 @@ static int do_bootm_efi(int flag, struct bootm_info *bmi)
|
||||
/* We expect to return */
|
||||
images->os.type = IH_TYPE_STANDALONE;
|
||||
|
||||
image_buf = map_sysmem(images->ep, images->os.image_len);
|
||||
image_buf = map_sysmem(images->os.image_start, images->os.image_len);
|
||||
|
||||
/* Run EFI image */
|
||||
printf("## Transferring control to EFI (at address %08lx) ...\n",
|
||||
images->ep);
|
||||
images->os.image_start);
|
||||
bootstage_mark(BOOTSTAGE_ID_RUN_OS);
|
||||
|
||||
ret = efi_binary_run(image_buf, images->os.image_len,
|
||||
|
||||
+10
-10
@@ -81,16 +81,16 @@ Set the variables corresponding to this platform:
|
||||
.. include:: ../ti/k3.rst
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_defn
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_defn
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
$ export UBOOT_CFG_CORTEXR=am62ax_evm_r5_defconfig
|
||||
$ export UBOOT_CFG_CORTEXA=am62ax_evm_a53_defconfig
|
||||
$ export TFA_BOARD=lite
|
||||
$ # we dont use any extra TFA parameters
|
||||
$ unset TFA_EXTRA_ARGS
|
||||
$ export OPTEE_PLATFORM=k3-am62ax
|
||||
$ # we dont use any extra OPTEE parameters
|
||||
$ unset OPTEE_EXTRA_ARGS
|
||||
export UBOOT_CFG_CORTEXR=am62ax_evm_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=am62ax_evm_a53_defconfig
|
||||
export TFA_BOARD=lite
|
||||
# we dont use any extra TFA parameters
|
||||
unset TFA_EXTRA_ARGS
|
||||
export OPTEE_PLATFORM=k3-am62ax
|
||||
# we dont use any extra OPTEE parameters
|
||||
unset OPTEE_EXTRA_ARGS
|
||||
|
||||
1. Trusted Firmware-A:
|
||||
|
||||
@@ -212,6 +212,6 @@ detailed setup information.
|
||||
|
||||
To start OpenOCD and connect to the board
|
||||
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
openocd -f board/ti_am62a7evm.cfg
|
||||
|
||||
@@ -91,15 +91,15 @@ Set the variables corresponding to this platform:
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_defn
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_defn
|
||||
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
$ export UBOOT_CFG_CORTEXR=am62px_evm_r5_defconfig
|
||||
$ export UBOOT_CFG_CORTEXA=am62px_evm_a53_defconfig
|
||||
$ export TFA_BOARD=lite
|
||||
$ # we dont use any extra TFA parameters
|
||||
$ unset TFA_EXTRA_ARGS
|
||||
$ export OPTEE_PLATFORM=k3-am62x
|
||||
$ export OPTEE_EXTRA_ARGS="CFG_WITH_SOFTWARE_PRNG=y"
|
||||
export UBOOT_CFG_CORTEXR=am62px_evm_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=am62px_evm_a53_defconfig
|
||||
export TFA_BOARD=lite
|
||||
# we dont use any extra TFA parameters
|
||||
unset TFA_EXTRA_ARGS
|
||||
export OPTEE_PLATFORM=k3-am62x
|
||||
export OPTEE_EXTRA_ARGS="CFG_WITH_SOFTWARE_PRNG=y"
|
||||
|
||||
.. am62px_evm_rst_include_start_build_steps
|
||||
|
||||
@@ -312,6 +312,6 @@ detailed setup information.
|
||||
|
||||
To start OpenOCD and connect to the board
|
||||
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
openocd -f board/ti_am62pevm.cfg
|
||||
|
||||
@@ -68,12 +68,12 @@ Set the variables corresponding to this platform:
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_defn
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_defn
|
||||
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
$ export UBOOT_CFG_CORTEXR=j722s_evm_r5_defconfig
|
||||
$ export UBOOT_CFG_CORTEXA=j722s_evm_a53_defconfig
|
||||
$ export TFA_BOARD=lite
|
||||
$ export OPTEE_PLATFORM=k3-am62x
|
||||
export UBOOT_CFG_CORTEXR=j722s_evm_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=j722s_evm_a53_defconfig
|
||||
export TFA_BOARD=lite
|
||||
export OPTEE_PLATFORM=k3-am62x
|
||||
|
||||
.. j722s_evm_rst_include_start_build_steps
|
||||
|
||||
@@ -258,6 +258,6 @@ detailed setup information.
|
||||
|
||||
To start OpenOCD and connect to the board
|
||||
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
openocd -f board/ti_j722sevm.cfg
|
||||
|
||||
@@ -81,14 +81,14 @@ Set the variables corresponding to this platform:
|
||||
.. include:: k3.rst
|
||||
:start-after: .. k3_rst_include_start_common_env_vars_defn
|
||||
:end-before: .. k3_rst_include_end_common_env_vars_defn
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
$ export UBOOT_CFG_CORTEXR=j784s4_evm_r5_defconfig
|
||||
$ export UBOOT_CFG_CORTEXA=j784s4_evm_a72_defconfig
|
||||
$ export TFA_BOARD=j784s4
|
||||
$ export TFA_EXTRA_ARGS="K3_USART=0x8"
|
||||
$ export OPTEE_PLATFORM=k3-j784s4
|
||||
$ export OPTEE_EXTRA_ARGS="CFG_CONSOLE_UART=0x8"
|
||||
export UBOOT_CFG_CORTEXR=j784s4_evm_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=j784s4_evm_a72_defconfig
|
||||
export TFA_BOARD=j784s4
|
||||
export TFA_EXTRA_ARGS="K3_USART=0x8"
|
||||
export OPTEE_PLATFORM=k3-j784s4
|
||||
export OPTEE_EXTRA_ARGS="CFG_CONSOLE_UART=0x8"
|
||||
|
||||
.. j784s4_evm_rst_include_start_build_steps
|
||||
|
||||
@@ -326,6 +326,6 @@ Debugging U-Boot on J784S4-EVM and AM69-SK
|
||||
To start OpenOCD and connect to J784S4-EVM or AM69-SK board, use the
|
||||
following.
|
||||
|
||||
.. code-block:: bash
|
||||
.. prompt:: bash
|
||||
|
||||
openocd -f board/ti_j784s4evm.cfg
|
||||
|
||||
+5
-5
@@ -460,7 +460,7 @@ The Kernel FIT Image that we have has Kernel Image, DTB and the DTBOs. It
|
||||
supports packing multiple images and configurations that allow you to
|
||||
choose any configuration at runtime to boot from.
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: dts
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
@@ -484,7 +484,7 @@ choose any configuration at runtime to boot from.
|
||||
|
||||
* Sample Images
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: dts
|
||||
|
||||
kernel-1 {
|
||||
description = "Linux kernel";
|
||||
@@ -533,7 +533,7 @@ corresponding configuration node as follows.
|
||||
|
||||
* Sample Configurations
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: dts
|
||||
|
||||
conf-ti_k3-j721e-common-proc-board.dtb {
|
||||
description = "Linux kernel, FDT blob";
|
||||
@@ -585,7 +585,7 @@ Generating the fitImage
|
||||
|
||||
For e.g
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: diff
|
||||
|
||||
diff --git a/configs/j721e_evm_a72_defconfig b/configs/j721e_evm_a72_defconfig
|
||||
index a5c1df7e0054..6d0126d955ef 100644
|
||||
@@ -605,7 +605,7 @@ Generating the fitImage
|
||||
|
||||
For e.g
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: diff
|
||||
|
||||
diff --git a/arch/arm/dts/k3-j721e-binman.dtsi b/arch/arm/dts/k3-j721e-binman.dtsi
|
||||
index 673be646b1e3..752fa805fe8d 100644
|
||||
|
||||
@@ -597,6 +597,8 @@ efi_status_t efi_env_set_load_options(efi_handle_t handle, const char *env_var,
|
||||
void *efi_get_configuration_table(const efi_guid_t *guid);
|
||||
/* Install device tree */
|
||||
efi_status_t efi_install_fdt(void *fdt);
|
||||
/* Install initrd */
|
||||
efi_status_t efi_install_initrd(void *initrd, size_t initd_sz);
|
||||
/* Execute loaded UEFI image */
|
||||
efi_status_t do_bootefi_exec(efi_handle_t handle, void *load_options);
|
||||
/* Run loaded UEFI image with given fdt */
|
||||
|
||||
+7
-2
@@ -51,7 +51,10 @@ struct uthread {
|
||||
};
|
||||
|
||||
/**
|
||||
* Internal state of a struct uthread_mutex
|
||||
* enum uthread_mutex_state - internal state of a struct uthread_mutex
|
||||
*
|
||||
* @UTHREAD_MUTEX_UNLOCKED: mutex has no owner
|
||||
* @UTHREAD_MUTEX_LOCKED: mutex has one owner
|
||||
*/
|
||||
enum uthread_mutex_state {
|
||||
UTHREAD_MUTEX_UNLOCKED = 0,
|
||||
@@ -59,7 +62,9 @@ enum uthread_mutex_state {
|
||||
};
|
||||
|
||||
/**
|
||||
* Uthread mutex
|
||||
* struct uthread_mutex - a mutex object
|
||||
*
|
||||
* @state: the internal state of the mutex
|
||||
*/
|
||||
struct uthread_mutex {
|
||||
enum uthread_mutex_state state;
|
||||
|
||||
@@ -215,12 +215,11 @@ out:
|
||||
* Return: status code
|
||||
*/
|
||||
static efi_status_t efi_binary_run_dp(void *image, size_t size, void *fdt,
|
||||
void *initrd, size_t initd_sz,
|
||||
void *initrd, size_t initrd_sz,
|
||||
struct efi_device_path *dp_dev,
|
||||
struct efi_device_path *dp_img)
|
||||
{
|
||||
efi_status_t ret;
|
||||
struct efi_device_path *dp_initrd;
|
||||
|
||||
/* Initialize EFI drivers */
|
||||
ret = efi_init_obj_list();
|
||||
@@ -234,11 +233,7 @@ static efi_status_t efi_binary_run_dp(void *image, size_t size, void *fdt,
|
||||
if (ret != EFI_SUCCESS)
|
||||
return ret;
|
||||
|
||||
dp_initrd = efi_dp_from_mem(EFI_LOADER_DATA, (uintptr_t)initrd, initd_sz);
|
||||
if (!dp_initrd)
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
|
||||
ret = efi_initrd_register(dp_initrd);
|
||||
ret = efi_install_initrd(initrd, initrd_sz);
|
||||
if (ret != EFI_SUCCESS)
|
||||
return ret;
|
||||
|
||||
|
||||
@@ -622,6 +622,35 @@ efi_status_t efi_install_fdt(void *fdt)
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* efi_install_initrd() - install initrd
|
||||
*
|
||||
* Install the initrd located at @initrd using the EFI_LOAD_FILE2
|
||||
* protocol.
|
||||
*
|
||||
* @initrd: address of initrd or NULL if none is provided
|
||||
* @initrd_sz: size of initrd
|
||||
* Return: status code
|
||||
*/
|
||||
efi_status_t efi_install_initrd(void *initrd, size_t initd_sz)
|
||||
{
|
||||
efi_status_t ret;
|
||||
struct efi_device_path *dp_initrd;
|
||||
|
||||
if (!initrd)
|
||||
return EFI_SUCCESS;
|
||||
|
||||
dp_initrd = efi_dp_from_mem(EFI_LOADER_DATA, (uintptr_t)initrd, initd_sz);
|
||||
if (!dp_initrd)
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
|
||||
ret = efi_initrd_register(dp_initrd);
|
||||
if (ret != EFI_SUCCESS)
|
||||
efi_free_pool(dp_initrd);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* do_bootefi_exec() - execute EFI binary
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user