On Sat, May 10, 2025 at 03:42:15PM +0200, Simon Glass wrote:

> Check that the standard passage works on ARM, by setting it up in SPL
> and making sure that it comes through correctly in U-Boot proper.
> 
> Signed-off-by: Simon Glass <s...@chromium.org>
> ---
> 
> (no changes since v3)
> 
> Changes in v3:
> - Add conditions to avoid enaling the test on qemu_arm_sbsa
> - Add support for a 64-bit test also
> 
> Changes in v2:
> - Add a devicetree for qemu-arm so that qemu_arm_spl can work
> 
>  configs/qemu_arm64_spl_defconfig |  5 +++++
>  configs/qemu_arm_spl_defconfig   |  6 ++++++
>  test/py/tests/test_passage.py    | 13 +++++++++++++
>  3 files changed, 24 insertions(+)
>  create mode 100644 test/py/tests/test_passage.py
> 
> diff --git a/configs/qemu_arm64_spl_defconfig 
> b/configs/qemu_arm64_spl_defconfig
> index a9ed47c8d3b..60651f80938 100644
> --- a/configs/qemu_arm64_spl_defconfig
> +++ b/configs/qemu_arm64_spl_defconfig
> @@ -33,6 +33,10 @@ CONFIG_USE_PREBOOT=y
>  # CONFIG_DISPLAY_BOARDINFO is not set
>  CONFIG_PCI_INIT_R=y
>  CONFIG_BLOBLIST=y
> +CONFIG_BLOBLIST_PASSAGE=y
> +CONFIG_BLOBLIST_SIZE=0x4000
> +CONFIG_SPL_BLOBLIST_ALLOC=y
> +CONFIG_PASSAGE_IN=y
>  CONFIG_SPL_FRAMEWORK_BOARD_INIT_F=y
>  CONFIG_SPL_NO_BSS_LIMIT=y
>  # CONFIG_SPL_SEPARATE_BSS is not set
> @@ -47,6 +51,7 @@ CONFIG_CMD_EFIDEBUG=y
>  CONFIG_CMD_TPM=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_SPL_OF_CONTROL=y
> +CONFIG_OF_PASSAGE=y
>  CONFIG_OF_BOARD=y
>  CONFIG_ENV_IS_IN_FLASH=y
>  CONFIG_SPL_DM=y
> diff --git a/configs/qemu_arm_spl_defconfig b/configs/qemu_arm_spl_defconfig
> index 9c4408dc73c..cf8ac703577 100644
> --- a/configs/qemu_arm_spl_defconfig
> +++ b/configs/qemu_arm_spl_defconfig
> @@ -13,6 +13,7 @@ CONFIG_ENV_SECT_SIZE=0x40000
>  CONFIG_DEFAULT_DEVICE_TREE="qemu-arm"
>  CONFIG_TARGET_QEMU_ARM_32BIT_SPL=y
>  CONFIG_SPL_SERIAL=y
> +CONFIG_SPL_SYS_MALLOC_F_LEN=0x9000
>  CONFIG_SYS_BOOTM_LEN=0x4000000
>  CONFIG_SYS_LOAD_ADDR=0x40200000
>  CONFIG_DEBUG_UART_BASE=0x9000000
> @@ -34,6 +35,10 @@ CONFIG_USE_PREBOOT=y
>  # CONFIG_DISPLAY_BOARDINFO is not set
>  CONFIG_PCI_INIT_R=y
>  CONFIG_BLOBLIST=y
> +CONFIG_BLOBLIST_PASSAGE=y
> +CONFIG_BLOBLIST_SIZE=0x4000
> +CONFIG_SPL_BLOBLIST_ALLOC=y
> +CONFIG_PASSAGE_IN=y
>  CONFIG_SPL_FRAMEWORK_BOARD_INIT_F=y
>  CONFIG_SPL_NO_BSS_LIMIT=y
>  CONFIG_CMD_BOOTEFI_SELFTEST=y
> @@ -44,6 +49,7 @@ CONFIG_CMD_PCI=y
>  CONFIG_CMD_TPM=y
>  CONFIG_CMD_MTDPARTS=y
>  CONFIG_SPL_OF_CONTROL=y
> +CONFIG_OF_PASSAGE=y
>  CONFIG_OF_BOARD=y
>  CONFIG_ENV_IS_IN_FLASH=y
>  CONFIG_SPL_DM=y
> diff --git a/test/py/tests/test_passage.py b/test/py/tests/test_passage.py
> new file mode 100644
> index 00000000000..4d95287fe55
> --- /dev/null
> +++ b/test/py/tests/test_passage.py
> @@ -0,0 +1,13 @@
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright 2021 Google LLC
> +
> +import pytest
> +
> +@pytest.mark.buildconfigspec('qemu_manual_dtb')
> +@pytest.mark.buildconfigspec('arm')
> +@pytest.mark.buildconfigspec('of_passage')
> +def test_passage(ubman):
> +    """Test that the standard passage on ARM from SPL to U-Boot works."""
> +
> +    response = ubman.run_command('bdinfo')
> +    assert 'devicetree  = passage' in response

Why is this test QEMU specific? This would be at least as interesting to
run on vexpress_fvp_bloblist and then any other real platform which also
uses this in the future. Since the time to run this test will be
negligible I don't see why it should be omitted elsewhere.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to