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> --- 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 -- 2.43.0