aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/avocado/machine_aarch64_sbsaref.py86
1 files changed, 58 insertions, 28 deletions
diff --git a/tests/avocado/machine_aarch64_sbsaref.py b/tests/avocado/machine_aarch64_sbsaref.py
index 528c7d2934..98c76c1ff7 100644
--- a/tests/avocado/machine_aarch64_sbsaref.py
+++ b/tests/avocado/machine_aarch64_sbsaref.py
@@ -1,6 +1,6 @@
# Functional test that boots a Linux kernel and checks the console
#
-# SPDX-FileCopyrightText: 2023 Linaro Ltd.
+# SPDX-FileCopyrightText: 2023-2024 Linaro Ltd.
# SPDX-FileContributor: Philippe Mathieu-Daudé <philmd@linaro.org>
# SPDX-FileContributor: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
#
@@ -32,34 +32,36 @@ class Aarch64SbsarefMachine(QemuSystemTest):
"""
Flash volumes generated using:
- - Fedora GNU Toolchain version 13.2.1 20230728 (Red Hat 13.2.1-1)
+ Toolchain from Debian:
+ aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0
- - Trusted Firmware-A
- https://github.com/ARM-software/arm-trusted-firmware/tree/7c3ff62d
+ Used components:
+
+ - Trusted Firmware 2.10.2
+ - Tianocore EDK2 stable202402
+ - Tianocore EDK2-platforms commit 085c2fb
- - Tianocore EDK II
- https://github.com/tianocore/edk2/tree/0f9283429dd4
- https://github.com/tianocore/edk2/tree/ad1c0394b177
- https://github.com/tianocore/edk2-platforms/tree/d03a60523a60
"""
# Secure BootRom (TF-A code)
fs0_xz_url = (
- "https://fileserver.linaro.org/s/rE43RJyTfxPtBkc/"
- "download/SBSA_FLASH0.fd.xz"
+ "https://artifacts.codelinaro.org/artifactory/linaro-419-sbsa-ref/"
+ "20240313-116475/edk2/SBSA_FLASH0.fd.xz"
)
- fs0_xz_hash = "cdb8e4ffdaaa79292b7b465693f9e5fae6b7062d"
- tar_xz_path = self.fetch_asset(fs0_xz_url, asset_hash=fs0_xz_hash)
+ fs0_xz_hash = "637593749cc307dea7dc13265c32e5d020267552f22b18a31850b8429fc5e159"
+ tar_xz_path = self.fetch_asset(fs0_xz_url, asset_hash=fs0_xz_hash,
+ algorithm='sha256')
archive.extract(tar_xz_path, self.workdir)
fs0_path = os.path.join(self.workdir, "SBSA_FLASH0.fd")
# Non-secure rom (UEFI and EFI variables)
fs1_xz_url = (
- "https://fileserver.linaro.org/s/AGWPDXbcqJTKS4R/"
- "download/SBSA_FLASH1.fd.xz"
+ "https://artifacts.codelinaro.org/artifactory/linaro-419-sbsa-ref/"
+ "20240313-116475/edk2/SBSA_FLASH1.fd.xz"
)
- fs1_xz_hash = "411155ae6984334714dff08d5d628178e790c875"
- tar_xz_path = self.fetch_asset(fs1_xz_url, asset_hash=fs1_xz_hash)
+ fs1_xz_hash = "cb0a5e8cf5e303c5d3dc106cfd5943ffe9714b86afddee7164c69ee1dd41991c"
+ tar_xz_path = self.fetch_asset(fs1_xz_url, asset_hash=fs1_xz_hash,
+ algorithm='sha256')
archive.extract(tar_xz_path, self.workdir)
fs1_path = os.path.join(self.workdir, "SBSA_FLASH1.fd")
@@ -96,15 +98,15 @@ class Aarch64SbsarefMachine(QemuSystemTest):
# AP Trusted ROM
wait_for_console_pattern(self, "Booting Trusted Firmware")
- wait_for_console_pattern(self, "BL1: v2.9(release):v2.9")
+ wait_for_console_pattern(self, "BL1: v2.10.2(release):")
wait_for_console_pattern(self, "BL1: Booting BL2")
# Trusted Boot Firmware
- wait_for_console_pattern(self, "BL2: v2.9(release)")
+ wait_for_console_pattern(self, "BL2: v2.10.2(release)")
wait_for_console_pattern(self, "Booting BL31")
# EL3 Runtime Software
- wait_for_console_pattern(self, "BL31: v2.9(release)")
+ wait_for_console_pattern(self, "BL31: v2.10.2(release)")
# Non-trusted Firmware
wait_for_console_pattern(self, "UEFI firmware (version 1.0")
@@ -130,10 +132,6 @@ class Aarch64SbsarefMachine(QemuSystemTest):
cpu,
"-drive",
f"file={iso_path},format=raw",
- "-device",
- "virtio-rng-pci,rng=rng0",
- "-object",
- "rng-random,id=rng0,filename=/dev/urandom",
)
self.vm.launch()
@@ -142,18 +140,36 @@ class Aarch64SbsarefMachine(QemuSystemTest):
def test_sbsaref_alpine_linux_cortex_a57(self):
"""
:avocado: tags=cpu:cortex-a57
+ :avocado: tags=os:linux
"""
self.boot_alpine_linux("cortex-a57")
def test_sbsaref_alpine_linux_neoverse_n1(self):
"""
:avocado: tags=cpu:neoverse-n1
+ :avocado: tags=os:linux
"""
self.boot_alpine_linux("neoverse-n1")
+ def test_sbsaref_alpine_linux_max_pauth_off(self):
+ """
+ :avocado: tags=cpu:max
+ :avocado: tags=os:linux
+ """
+ self.boot_alpine_linux("max,pauth=off")
+
+ def test_sbsaref_alpine_linux_max_pauth_impdef(self):
+ """
+ :avocado: tags=cpu:max
+ :avocado: tags=os:linux
+ """
+ self.boot_alpine_linux("max,pauth-impdef=on")
+
+ @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
def test_sbsaref_alpine_linux_max(self):
"""
:avocado: tags=cpu:max
+ :avocado: tags=os:linux
"""
self.boot_alpine_linux("max")
@@ -177,10 +193,6 @@ class Aarch64SbsarefMachine(QemuSystemTest):
cpu,
"-drive",
f"file={img_path},format=raw",
- "-device",
- "virtio-rng-pci,rng=rng0",
- "-object",
- "rng-random,id=rng0,filename=/dev/urandom",
)
self.vm.launch()
@@ -191,18 +203,36 @@ class Aarch64SbsarefMachine(QemuSystemTest):
def test_sbsaref_openbsd73_cortex_a57(self):
"""
:avocado: tags=cpu:cortex-a57
+ :avocado: tags=os:openbsd
"""
self.boot_openbsd73("cortex-a57")
def test_sbsaref_openbsd73_neoverse_n1(self):
"""
:avocado: tags=cpu:neoverse-n1
+ :avocado: tags=os:openbsd
"""
self.boot_openbsd73("neoverse-n1")
+ def test_sbsaref_openbsd73_max_pauth_off(self):
+ """
+ :avocado: tags=cpu:max
+ :avocado: tags=os:openbsd
+ """
+ self.boot_openbsd73("max,pauth=off")
+
+ @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
+ def test_sbsaref_openbsd73_max_pauth_impdef(self):
+ """
+ :avocado: tags=cpu:max
+ :avocado: tags=os:openbsd
+ """
+ self.boot_openbsd73("max,pauth-impdef=on")
+
+ @skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
def test_sbsaref_openbsd73_max(self):
"""
:avocado: tags=cpu:max
+ :avocado: tags=os:openbsd
"""
self.boot_openbsd73("max")
-