morello: Reintroduce tf-l3 and scp boot tests
Commit 973e6636b893ebb14c9ef9323fe45e942ec09796 disabled
Platform CI tests for Morello because of a major change
in the boot flow.
Update Morello run/build/model scripts to adhere to the
newly introduced TBBR based boot flow, and re-enable the
boot tests.
Signed-off-by: Anurag Koul <anurag.koul@arm.com>
Change-Id: Ib4646e48395e2a6293e4f8bbcf4b85c1b85e7000
diff --git a/group/scp-boot-tests/fvp-morello,fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug b/group/scp-boot-tests/fvp-morello,fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug
new file mode 100644
index 0000000..0849ee7
--- /dev/null
+++ b/group/scp-boot-tests/fvp-morello,fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug
@@ -0,0 +1,6 @@
+#
+# Copyright (c) 2022 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
diff --git a/group/tf-l3-boot-tests-css/fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug b/group/tf-l3-boot-tests-css/fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug
new file mode 100644
index 0000000..b8939c8
--- /dev/null
+++ b/group/tf-l3-boot-tests-css/fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug
@@ -0,0 +1,5 @@
+#
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
diff --git a/model/morello.sh b/model/morello.sh
index 92e05a6..9743bcf 100644
--- a/model/morello.sh
+++ b/model/morello.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
-# Copyright (c) 2021 Arm Limited. All rights reserved.
+# Copyright (c) 2021-2022 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -9,11 +9,12 @@
set_model_path "$warehouse/SysGen/SubSystemModels/$model_version/$model_build/models/$model_flavour/FVP_Morello"
cat <<EOF >"$model_param_file"
---data Morello_Top.css.scp.armcortexm7ct=$archive/scp_rom.bin@0x0
---data Morello_Top.css.mcp.armcortexm7ct=$archive/mcp_rom.bin@0x0
+--data Morello_Top.css.scp.armcortexm7ct=$scp_rom_bin@0x0
+--data Morello_Top.css.mcp.armcortexm7ct=$mcp_rom_bin@0x0
-C Morello_Top.soc.scp_qspi_loader.fname=$scp_fw_bin
-C Morello_Top.soc.mcp_qspi_loader.fname=$mcp_fw_bin
---data $uefi_bin@${uefi_addr:?}
+-C "css.trustedBootROMloader.fname=$bl1_bin"
+-C board.ap_qspi_loader.fname=$fip_bin
-C board.virtioblockdevice.image_path=$busybox_bin
${uart1_out+-C css.pl011_uart_ap.out_file=$uart1_out}
${uart1_out+-C css.pl011_uart_ap.unbuffered_output=1}
diff --git a/morello_utils.sh b/morello_utils.sh
index c592917..10bfda0 100644
--- a/morello_utils.sh
+++ b/morello_utils.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
-# Copyright (c) 2021 Arm Limited. All rights reserved.
+# Copyright (c) 2021-2022 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -8,6 +8,7 @@
source "$ci_root/fvp_utils.sh"
morello_prebuilts=${morello_prebuilts:="$tfa_downloads/morello"}
-scp_mcp_prebuilts=${scp_mcp_prebuilts:="$scp_mcp_downloads/morello/release"}
-uefi_addr=0x14200000
+# TODO: Restore this path once the SCP release v2.10 binaries are generated
+#scp_mcp_prebuilts=${scp_mcp_prebuilts:="$scp_mcp_downloads/morello/release"}
+scp_mcp_prebuilts=${scp_mcp_prebuilts:="$tfa_downloads/morello/"}
diff --git a/run_config/fvp-fip.morello b/run_config/fvp-fip.morello
index fc8e2ca..c59d202 100644
--- a/run_config/fvp-fip.morello
+++ b/run_config/fvp-fip.morello
@@ -1,11 +1,11 @@
#!/usr/bin/env bash
#
-# Copyright (c) 2021 Arm Limited. All rights reserved.
+# Copyright (c) 2021-2022 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
post_tf_build() {
- #Fetch pre-built SCP/MCP binaries if they haven't been built
+ # Fetch pre-built SCP/MCP binaries if they haven't been built
if [ ! -f "$archive/mcp_rom.bin" ]; then
url="$scp_mcp_prebuilts/mcp_romfw.bin" saveas="mcp_rom.bin" fetch_file
archive_file "mcp_rom.bin"
@@ -16,21 +16,27 @@
archive_file "scp_rom.bin"
fi
- if [ ! -f "$archive/scp_ramfw_fvp.bin" ]; then
- url="$scp_mcp_prebuilts/scp_bl2.bin" saveas="scp_ramfw_fvp.bin" fetch_file
- archive_file "scp_ramfw_fvp.bin"
+ if [ ! -f "$archive/mcp_ram.bin" ]; then
+ url="$scp_mcp_prebuilts/mcp_ramfw.bin" saveas="mcp_ram.bin" fetch_file
+ archive_file "mcp_ram.bin"
fi
- if [ ! -f "$archive/mcp_ramfw_fvp.bin" ]; then
- url="$scp_mcp_prebuilts/mcp_ramfw.bin" saveas="mcp_ramfw_fvp.bin" fetch_file
- archive_file "mcp_ramfw_fvp.bin"
+ if [ ! -f "$archive/scp_ram.bin" ]; then
+ url="$scp_mcp_prebuilts/scp_bl2.bin" saveas="scp_ram.bin" fetch_file
+ archive_file "scp_ram.bin"
fi
- # Create FIP for SCP
- "$fiptool" create --soc-fw "$tf_root/build/morello/$bin_mode/bl31.bin" --scp-fw "$archive/scp_ramfw_fvp.bin" "scp_fw.bin"
+ # Create FIP layout for SCP
+ "$fiptool" create --scp-fw "$archive/scp_ram.bin" "scp_fw.bin"
archive_file "scp_fw.bin"
- # Create FIP for MCP, this needs fixed uuid for now
- "$fiptool" create --blob uuid=54464222-a4cf-4bf8-b1b6-cee7dade539e,file="$archive/mcp_ramfw_fvp.bin" "mcp_fw.bin"
+ # Create FIP layout for MCP, this needs fixed uuid for now
+ "$fiptool" create --blob uuid=54464222-a4cf-4bf8-b1b6-cee7dade539e,file="$archive/mcp_ram.bin" "mcp_fw.bin"
archive_file "mcp_fw.bin"
+
+ # Fetch BL33 [uefi.bin] for Morello
+ uefi_ci_bin_url="$morello_prebuilts/uefi.bin" get_uefi_bin
+
+ # Create FIP for BL2, BL31, and BL33
+ build_fip BL31="$bl31" BL2="$bl2" BL33="$archive/uefi.bin"
}
diff --git a/run_config/fvp-morello b/run_config/fvp-morello
index 002f242..ad81c51 100644
--- a/run_config/fvp-morello
+++ b/run_config/fvp-morello
@@ -1,12 +1,10 @@
#!/usr/bin/env bash
#
-# Copyright (c) 2021 Arm Limited. All rights reserved.
+# Copyright (c) 2021-2022 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
fetch_tf_resource() {
- uefi_ci_bin_url="$morello_prebuilts/uefi.bin" get_uefi_bin
-
# Hold terminal_uart_aon (SCP terminal)
uart="2" file="hold_uart.exp" track_expect
}
@@ -16,7 +14,7 @@
model="morello" \
model_version="0.11" \
- model_build="19" \
+ model_build="33" \
gen_model_params
set_run_env "ports_script" "$ci_root/model/morello-ports.awk"
set_run_env "num_uarts" "3"
diff --git a/scp_config/fvp-morello b/scp_config/fvp-morello
index 678a3db..6431503 100644
--- a/scp_config/fvp-morello
+++ b/scp_config/fvp-morello
@@ -2,4 +2,4 @@
EXTRA_CONFIG_ARGS+=-DCMAKE_ASM_COMPILER=/arm/pdsw/downloads/scp-models/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc
EXTRA_CONFIG_ARGS+=-DCMAKE_C_COMPILER=/arm/pdsw/downloads/scp-models/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gcc
EXTRA_CONFIG_ARGS+=-DCMAKE_CXX_COMPILER=/arm/pdsw/downloads/scp-models/tools/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-g++
-EXTRA_CONFIG_ARGS+=-DSCP_LOG_LEVEL=INFO
\ No newline at end of file
+EXTRA_CONFIG_ARGS+=-DSCP_LOG_LEVEL=INFO
diff --git a/script/build_package.sh b/script/build_package.sh
index 8f3a61a..80b58b6 100755
--- a/script/build_package.sh
+++ b/script/build_package.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
-# Copyright (c) 2019-2021 Arm Limited. All rights reserved.
+# Copyright (c) 2019-2022 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -179,21 +179,15 @@
for file; do
ext="$(echo $file | awk -F. "{print \$NF}")"
case $file in
- */firmware-scp_ramfw/bin/*)
+ */firmware-scp_ramfw/bin/*|*/firmware-scp_ramfw_fvp/bin/*)
cp $file $to/scp_ram.$ext
;;
- */firmware-scp_ramfw_fvp/bin/*)
- cp $file $to/scp_ramfw_fvp.$ext
- ;;
*/firmware-scp_romfw/bin/*)
cp $file $to/scp_rom.$ext
;;
- */firmware-mcp_ramfw/bin/*)
+ */firmware-mcp_ramfw/bin/*|*/firmware-mcp_ramfw_fvp/bin/*)
cp $file $to/mcp_ram.$ext
;;
- */firmware-mcp_ramfw_fvp/bin/*)
- cp $file $to/mcp_ramfw_fvp.$ext
- ;;
*/firmware-mcp_romfw/bin/*)
cp $file $to/mcp_rom.$ext
;;
diff --git a/script/trusted-firmware.nomination.py b/script/trusted-firmware.nomination.py
index 8c3738f..eb054f4 100644
--- a/script/trusted-firmware.nomination.py
+++ b/script/trusted-firmware.nomination.py
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2019-2021, Arm Limited. All rights reserved.
+# Copyright (c) 2019-2022, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -85,7 +85,6 @@
"tf-l2-coverity-misra-nominated/fvp-aarch64-sdei:coverity-tf-misra.diff"],
# Run Morello FVP busybox boot test for any platform changes
- # Disabling Morello boot tests until Morello TBBR changes are landed in TF-A
- #"path:plat/arm/board/morello":
- # ["tf-l3-boot-tests-css/fvp-morello-default:fvp-linux.morello-fip.morello-morello-debug"],
+ "path:plat/arm/board/morello":
+ ["tf-l3-boot-tests-css/fvp-morello-tbb:fvp-linux.morello-fip.morello-morello-debug"],
}