This test runs Trusted Firmware-A on the Raspberry Pi 3.
We deliberately stop the boot process when the EDK2 UEFI version
is displayed.
The binary is build on AppVeyor CI using Pete Batard repository [1].
ATF v2.1 binary are used (see [2]).
It is very simple and fast:
$ avocado --show=app,console run -t atf tests/acceptance
JOB ID :
1e748d7c9e9011cf0af3250ddc8ebf2389d6204e
JOB LOG : avocado/job-results/job-2020-02-16T18.08-
1e748d7/job.log
(1/1) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_aarch64_raspi3_atf:
console: NOTICE: Booting Trusted Firmware
console: NOTICE: BL1: v2.1(release):v2.1
console: NOTICE: BL1: Built : 15:26:06, May 13 2019
console: NOTICE: rpi3: Detected: Raspberry Pi 3 Model B (1GB, Sony, UK) [0x00a02082]
console: NOTICE: BL1: Booting BL2
console: ERROR: rpi3_sdhost: timeout status 0x40
console: NOTICE: BL2: v2.1(release):v2.1
console: NOTICE: BL2: Built : 15:26:01, May 13 2019
console: NOTICE: BL1: Booting BL31
console: NOTICE: BL31: v2.1(release):v2.1
console: NOTICE: BL31: Built : 15:26:04, May 13 2019
console: =UEFI firmware (version UEFI Firmware v1.15 built at 11:58:44 on Feb 14 2020)
PASS (1.54 s)
RESULTS : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
JOB TIME : 1.88 s
[1] https://github.com/pbatard/RPi3#summary
[2] https://github.com/ARM-software/arm-trusted-firmware/blob/v2.1/docs/plat/rpi3.rst
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Message-Id: <
20200217103442.30318-1-f4bug@amsat.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
# Wait for user-space
wait_for_console_pattern(self, 'Starting root file system check')
+ def test_aarch64_raspi3_atf(self):
+ """
+ :avocado: tags=arch:aarch64
+ :avocado: tags=machine:raspi3
+ :avocado: tags=cpu:cortex-a53
+ :avocado: tags=device:pl011
+ :avocado: tags=atf
+ """
+ zip_url = ('https://github.com/pbatard/RPi3/releases/download/'
+ 'v1.15/RPi3_UEFI_Firmware_v1.15.zip')
+ zip_hash = '74b3bd0de92683cadb14e008a7575e1d0c3cafb9'
+ zip_path = self.fetch_asset(zip_url, asset_hash=zip_hash)
+
+ archive.extract(zip_path, self.workdir)
+ efi_fd = os.path.join(self.workdir, 'RPI_EFI.fd')
+
+ self.vm.set_console(console_index=1)
+ self.vm.add_args('-nodefaults',
+ '-device', 'loader,file=%s,force-raw=true' % efi_fd)
+ self.vm.launch()
+ self.wait_for_console_pattern('version UEFI Firmware v1.15')
+
def test_s390x_s390_ccw_virtio(self):
"""
:avocado: tags=arch:s390x