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
signature.asc
Description: PGP signature