On 2/17/20 11:34 AM, Philippe Mathieu-Daudé wrote: > 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]). Extra documentation in [3]. > > 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 > [3] http://www.skylyrac.net/2018-02-01-port-arm-tf-to-rpi3.html > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Reviewed-by: Luc Michel <luc.mic...@greensocs.com> > --- > v2: Start with a single core powered-on > --- > tests/acceptance/boot_linux_console.py | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py > b/tests/acceptance/boot_linux_console.py > index 34d37eba3b..d1288fb59c 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -507,6 +507,30 @@ def test_arm_cubieboard_sata(self): > exec_command_and_wait_for_pattern(self, 'reboot', > 'reboot: Restarting system') > > + 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', > + # VideoCore starts CPU with only 1 core enabled > + '-global', 'bcm2836.enabled-cpus=1', > + '-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 >