diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/avocado/machine_aarch64_sbsaref.py | 86 |
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") - |