[PATCH v3 17/22] passage: Add a qemu test for ARM
Simon Glass
sjg at chromium.org
Thu Apr 17 20:15:59 CEST 2025
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 <sjg at 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
+
+ at pytest.mark.buildconfigspec('qemu_manual_dtb')
+ at pytest.mark.buildconfigspec('arm')
+ at 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
More information about the U-Boot
mailing list