qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3
@ 2020-02-17 10:34 Philippe Mathieu-Daudé
  2020-02-18  8:04 ` Luc Michel
  2020-10-05  8:07 ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-02-17 10:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: Ard Biesheuvel, Philippe Mathieu-Daudé,
	Andrew Baumann, qemu-arm, pete, Luc Michel

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é <f4bug@amsat.org>
---
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
-- 
2.21.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3
  2020-02-17 10:34 [PATCH v2] tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3 Philippe Mathieu-Daudé
@ 2020-02-18  8:04 ` Luc Michel
  2020-10-05  8:07 ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 3+ messages in thread
From: Luc Michel @ 2020-02-18  8:04 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: qemu-arm, pete, Andrew Baumann, Ard Biesheuvel

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é <f4bug@amsat.org>

Reviewed-by: Luc Michel <luc.michel@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
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3
  2020-02-17 10:34 [PATCH v2] tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3 Philippe Mathieu-Daudé
  2020-02-18  8:04 ` Luc Michel
@ 2020-10-05  8:07 ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-05  8:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-arm, pete, Luc Michel, Andrew Baumann, Ard Biesheuvel

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é <f4bug@amsat.org>
> ---
> v2: Start with a single core powered-on
> ---
>  tests/acceptance/boot_linux_console.py | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)

Thanks, applied to my acceptance-testing tree.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-10-05  8:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-17 10:34 [PATCH v2] tests/boot_linux_console: Boot Trusted Firmware-A on the Raspberry Pi 3 Philippe Mathieu-Daudé
2020-02-18  8:04 ` Luc Michel
2020-10-05  8:07 ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).