From 74d4da60a4f0fd75f8ca487296960c84d4ac03b9 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Wed, 8 Feb 2023 18:00:45 +0100 Subject: Platform/Qemu/Sbsa: Update TF-A binaries to enable SVE/SME Update the TF-A binaries with SVE/SME enablement. This support was merged into TF-A: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/17825 This allows to test SBSA Reference Platform to boot Linux 6.x kernels with "max" cpu. Signed-off-by: Marcin Juszkiewicz --- Platform/Qemu/Sbsa/Readme.md | 85 ++++++++++++++++++++++++++++--------------- Platform/Qemu/Sbsa/bl1.bin | Bin 19301 -> 19493 bytes Platform/Qemu/Sbsa/fip.bin | Bin 54002 -> 58098 bytes 3 files changed, 56 insertions(+), 29 deletions(-) diff --git a/Platform/Qemu/Sbsa/Readme.md b/Platform/Qemu/Sbsa/Readme.md index 3b36cfb..c7ced43 100644 --- a/Platform/Qemu/Sbsa/Readme.md +++ b/Platform/Qemu/Sbsa/Readme.md @@ -1,29 +1,56 @@ -Qemu SBSA TF-A binaries ------------------------ - -These binaries have been created from the mainline TF-A -code checked out at the following commit ID: - -commit 99c447f4406c8ae66b6cab2341ef0c8e8d9751d2 -Merge: 331723509 8e570b71d -Author: André Przywara -Date: Tue Jul 7 22:06:31 2020 +0000 - - Merge "drivers: arm: gicv3: auto-detect presence of GIC600-AE" into integration - - -This ensures that the following fix for qemu_sbsa platform is -merged upstream and is included in the build: - -commit d7f5be8ec2fc5254fc581af52156b5fde5deb822 -Author: Masahisa Kojima -Date: Tue May 19 19:49:36 2020 +0900 - - qemu/qemu_sbsa: increase size to handle fdt - - -NOTE: No modifications to the source code have been done. - The binaries have been generated for the AARCH64 platform - with the following command: - - make PLAT=qemu_sbsa all fip +Qemu SBSA TF-A binaries +----------------------- + +These binaries have been created from the mainline TF-A +code checked out at the following commit ID: + +commit 6264643a0711faef346cbbb6e3d928a198aeaf31 +Merge: d9248e851 cb3e9650f +Author: Manish V Badarkhe +Date: Fri Feb 3 17:04:42 2023 +0100 + + Merge "refactor(tc): update total compute gpu device node" into integration + + +This ensures that the following fix for qemu_sbsa platform is +merged upstream and is included in the build: + +commit 9bff7ce37545162d417953ac36c6878216815b94 +Author: Marcin Juszkiewicz +Date: Wed Nov 16 14:47:51 2022 +0100 + + fix(qemu-sbsa): enable SVE and SME + + Commit 337ff4f1dd6604738d79fd3fa275ae74d74256b2 enabled SVE/SME for + qemu platform. Let do the same for qemu-sbsa one too. + + With this change I can boot Debian 'bookworm' installed using Max cpu. + + Info from referenced commit: + + Starting with QEMU v3.1.0 (Dec 2018), QEMU's TCG emulation engine supports + the SVE architecture extension. In QEMU v7.1.0 (Aug 2022) it also gained + SME support. + + As it stands today, running TF-A under QEMU with "-cpu max" makes Linux + hang, because SME and SVE accesses trap to EL3, but are never handled + there. This is because the Linux kernel sees the SVE or SME feature bits, + and assumes firmware has enabled the feature for lower exception levels. + This requirement is described in the Linux kernel booting protocol. + + Enable those features in the TF-A build, so that BL31 does the proper + EL3 setup to make the feature usable in non-secure world. + We check the actual feature bits before accessing SVE or SME registers, + so this is safe even for older QEMU version or when not running with + -cpu max. As SVE and SME are AArch64 features only, do not enable them + when building for AArch32. + + Signed-off-by: Marcin Juszkiewicz + Change-Id: I9ea1f91e6b801218d944e8a7d798d5ae568ed59a + + +NOTE: No modifications to the source code have been done. + The binaries have been generated for the AARCH64 platform + with the following command: + + make PLAT=qemu_sbsa all fip diff --git a/Platform/Qemu/Sbsa/bl1.bin b/Platform/Qemu/Sbsa/bl1.bin index 314bd4c..7166078 100755 Binary files a/Platform/Qemu/Sbsa/bl1.bin and b/Platform/Qemu/Sbsa/bl1.bin differ diff --git a/Platform/Qemu/Sbsa/fip.bin b/Platform/Qemu/Sbsa/fip.bin index d562013..29e0925 100644 Binary files a/Platform/Qemu/Sbsa/fip.bin and b/Platform/Qemu/Sbsa/fip.bin differ -- cgit v1.2.3