diff options
author | Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | 2023-02-08 20:00:45 +0300 |
---|---|---|
committer | Ard Biesheuvel <ardb@kernel.org> | 2023-02-09 14:25:56 +0300 |
commit | 74d4da60a4f0fd75f8ca487296960c84d4ac03b9 (patch) | |
tree | 8536be043296949890433212dfffc1713c4255e8 | |
parent | bd07ad34641d8256713236df416a7bec94d87e7d (diff) | |
download | edk2-non-osi-74d4da60a4f0fd75f8ca487296960c84d4ac03b9.tar.xz |
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 <marcin.juszkiewicz@linaro.org>
-rw-r--r-- | Platform/Qemu/Sbsa/Readme.md | 85 | ||||
-rwxr-xr-x | Platform/Qemu/Sbsa/bl1.bin | bin | 19301 -> 19493 bytes | |||
-rw-r--r-- | 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 <andre.przywara@arm.com>
-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 <masahisa.kojima@linaro.org>
-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 <manish.badarkhe@arm.com> +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 <marcin.juszkiewicz@linaro.org> +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 <marcin.juszkiewicz@linaro.org> + 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 Binary files differindex 314bd4c..7166078 100755 --- a/Platform/Qemu/Sbsa/bl1.bin +++ b/Platform/Qemu/Sbsa/bl1.bin diff --git a/Platform/Qemu/Sbsa/fip.bin b/Platform/Qemu/Sbsa/fip.bin Binary files differindex d562013..29e0925 100644 --- a/Platform/Qemu/Sbsa/fip.bin +++ b/Platform/Qemu/Sbsa/fip.bin |