Pull request efi-2025-07-rc1-2

Documentation:

* dt_qemu: correct dumpdtb description
* release_cycle: Use variable substitution for next version

UEFI:

* cmd: simplify eficonfig_init()
* efi_selftest: check executing in EL2
* efi_selftest: use do_bootefi_exec()

Others:

* riscv: dts: jh7110: add bootph-pre-ram for &pllclk
* mips: malta: set MIPS_RELOCATION_TABLE_SIZE=0xc000
This commit is contained in:
Tom Rini
2025-04-20 07:52:47 -06:00
8 changed files with 81 additions and 32 deletions

View File

@@ -322,6 +322,7 @@ config MIPS_CACHE_DISABLE
config MIPS_RELOCATION_TABLE_SIZE
hex "Relocation table size"
range 0x100 0x10000
default "0xc000" if TARGET_MALTA
default "0x8000"
---help---
A table of relocation data will be appended to the U-Boot binary

View File

@@ -102,6 +102,10 @@
bootph-pre-ram;
};
&pllclk {
bootph-pre-ram;
};
&syscrg {
bootph-pre-ram;
};

View File

@@ -38,6 +38,9 @@ static efi_status_t bootefi_run_prepare(const char *load_options_path,
if (ret != EFI_SUCCESS)
return ret;
(*image_objp)->auth_status = EFI_IMAGE_AUTH_PASSED;
(*image_objp)->entry = efi_selftest;
/* Transfer environment variable as load options */
return efi_env_set_load_options((efi_handle_t)*image_objp,
load_options_path,
@@ -106,8 +109,8 @@ static int do_efi_selftest(void)
return CMD_RET_FAILURE;
/* Execute the test */
ret = EFI_CALL(efi_selftest(&image_obj->header, &systab));
free(loaded_image_info->load_options);
ret = do_bootefi_exec(&image_obj->header,
loaded_image_info->load_options);
efi_free_pool(test_device_path);
efi_free_pool(test_image_path);
if (ret != EFI_SUCCESS)

View File

@@ -2283,26 +2283,11 @@ static efi_status_t eficonfig_init(void)
{
efi_status_t ret = EFI_SUCCESS;
static bool init;
struct efi_handler *handler;
unsigned long columns, rows;
if (!init) {
ret = efi_search_protocol(efi_root, &efi_guid_text_input_protocol, &handler);
if (ret != EFI_SUCCESS)
return ret;
ret = efi_protocol_open(handler, (void **)&cin, efi_root, NULL,
EFI_OPEN_PROTOCOL_GET_PROTOCOL);
if (ret != EFI_SUCCESS)
return ret;
ret = efi_search_protocol(efi_root, &efi_guid_text_output_protocol, &handler);
if (ret != EFI_SUCCESS)
return ret;
ret = efi_protocol_open(handler, (void **)&cout, efi_root, NULL,
EFI_OPEN_PROTOCOL_GET_PROTOCOL);
if (ret != EFI_SUCCESS)
return ret;
cout = systab.con_out;
cin = systab.con_in;
cout->query_mode(cout, cout->mode->mode, &columns, &rows);
avail_row = rows - (EFICONFIG_MENU_HEADER_ROW_NUM +

View File

@@ -16,15 +16,22 @@ Obtaining the QEMU devicetree
Where QEMU generates its own devicetree to pass to U-Boot you can use
`-dtb u-boot.dtb` to force QEMU to use U-Boot's in-tree version.
To obtain the devicetree that qemu generates, add `-machine dumpdtb=qemu.dtb`,
e.g.::
To obtain the devicetree that QEMU generates, add `dumpdtb=qemu.dtb` to the
`-machine` argument, e.g.
qemu-system-arm -machine virt -machine dumpdtb=qemu.dtb
.. code-block:: bash
qemu-system-aarch64 -machine virt -machine dumpdtb=qemu.dtb
qemu-system-riscv64 -machine virt -machine dumpdtb=qemu.dtb
qemu-system-aarch64 \
-machine virt,gic-version=3,dumpdtb=qemu.dtb \
-cpu cortex-a57 \
-smp 4 \
-memory 8G \
-chardev socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock \
-tpmdev emulator,id=tpm0,chardev=chrtpm \
-device tpm-tis-device,tpmdev=tpm0
Except for the dumpdtb=qemu.dtb sub-parameter use the same qemu-system-<arch>
invocation that you would use to start U-Boot to to get a complete device-tree.
Merging in U-Boot nodes/properties
----------------------------------

View File

@@ -1,3 +1,5 @@
.. |next_ver| replace:: v2025.07
Release Cycle
=============
@@ -53,13 +55,13 @@ Current Status
* U-Boot v2025.04 was released on Monday, 07 April 2025.
* The Merge Window for the next release (v2025.07) is **open** until the -rc1
* The Merge Window for the next release (|next_ver|) is **open** until the -rc1
release on Monday, 28 April 2025.
* The next branch is now **closed** until the -rc2 release on Monday, 12 May
2025.
* Release "v2025.07" is scheduled for Monday, 07 July 2025.
* Release "|next_ver|" is scheduled for Monday, 07 July 2025.
Future Releases
---------------
@@ -69,15 +71,15 @@ Future Releases
.. For the next scheduled release, release candidates were made on::
.. * U-Boot v2025.07-rc1 was released on Mon 21 April 2025.
.. * U-Boot |next_ver|-rc1 was released on Mon 21 April 2025.
.. * U-Boot v2025.07-rc2 was released on Mon 12 May 2025.
.. * U-Boot |next_ver|-rc2 was released on Mon 12 May 2025.
.. * U-Boot v2025.07-rc3 was released on Mon 26 May 2025.
.. * U-Boot |next_ver|-rc3 was released on Mon 26 May 2025.
.. * U-Boot v2025.07-rc4 was released on Mon 09 June 2025.
.. * U-Boot |next_ver|-rc4 was released on Mon 09 June 2025.
.. * U-Boot v2025.07-rc5 was released on Mon 23 June 2025.
.. * U-Boot |next_ver|-rc5 was released on Mon 23 June 2025.
Please note that the following dates are planned only and may be deviated from
as needed.

View File

@@ -51,6 +51,7 @@ efi_selftest_variables_runtime.o \
efi_selftest_watchdog.o
obj-$(CONFIG_EFI_ECPT) += efi_selftest_ecpt.o
obj-$(CONFIG_ARM64) += efi_selftest_el.o
obj-$(CONFIG_NETDEVICES) += efi_selftest_snp.o
obj-$(CONFIG_EFI_HTTP_PROTOCOL) += efi_selftest_http.o
obj-$(CONFIG_EFI_HTTP_PROTOCOL) += efi_selftest_ipconfig.o

View File

@@ -0,0 +1,46 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Check current exception level on ARMv8.
*/
#include <efi_loader.h>
#include <efi_selftest.h>
/**
* current_exception_level()
*
* Return: current exception level, 0 - 3
*/
static unsigned int current_exception_level(void)
{
unsigned long el;
asm volatile (
"MRS %0, CurrentEL"
: "=r" (el) : : );
return (el >> 2) & 0x3;
}
/**
* execute() - execute test
*
* Check that the exception level is not EL3.
*/
static int execute(void)
{
unsigned int el = current_exception_level();
efi_st_printf("Exception level EL%u\n", el);
if (el != 1 && el != 2) {
efi_st_error("EL1 or EL2 expected");
return EFI_ST_FAILURE;
}
return EFI_ST_SUCCESS;
}
EFI_UNIT_TEST(el) = {
.name = "exception level",
.phase = EFI_EXECUTE_BEFORE_BOOTTIME_EXIT,
.execute = execute,
};