[edk2-devel] [PATCH] Platform/Qemu/Sbsa: Update TF-A binaries to enable Neoverse-N1

Marcin Juszkiewicz posted 1 patch 1 year, 1 month ago
Failed in applying to current master (apply log)
Platform/Qemu/Sbsa/Readme.md |  53 ++++++++++++-----------------------
Platform/Qemu/Sbsa/bl1.bin   | Bin 19493 -> 19461 bytes
Platform/Qemu/Sbsa/fip.bin   | Bin 58098 -> 58098 bytes
3 files changed, 18 insertions(+), 35 deletions(-)
[edk2-devel] [PATCH] Platform/Qemu/Sbsa: Update TF-A binaries to enable Neoverse-N1
Posted by Marcin Juszkiewicz 1 year, 1 month ago
From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

Update the TF-A binaries to have Neoverse-N1 support.

This support was merged into TF-A:

https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19863

This allows SBSA Reference Platform to use Arm v8.2 cpu without using
"max" cpu.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 Platform/Qemu/Sbsa/Readme.md |  53 ++++++++++++-----------------------
 Platform/Qemu/Sbsa/bl1.bin   | Bin 19493 -> 19461 bytes
 Platform/Qemu/Sbsa/fip.bin   | Bin 58098 -> 58098 bytes
 3 files changed, 18 insertions(+), 35 deletions(-)

diff --git a/Platform/Qemu/Sbsa/Readme.md b/Platform/Qemu/Sbsa/Readme.md
index c7ced43..aaf920e 100644
--- a/Platform/Qemu/Sbsa/Readme.md
+++ b/Platform/Qemu/Sbsa/Readme.md
@@ -4,49 +4,32 @@ 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
+commit 5fdb2e5471c6ae564ea60d986505418134e7516f
+Merge: e550fa127 ccc61e100
+Author: Olivier Deprez <olivier.deprez@arm.com>
+Date:   Tue Mar 21 10:46:41 2023 +0100
 
-    Merge "refactor(tc): update total compute gpu device node" into integration
+    Merge changes I924ea85d,I22e128c4,I7a5cfaac into integration
 
+    * changes:
+      feat(mt8195): add support for SMC from OP-TEE
+      feat(mediatek): add SMC handler for EMI MPU
+      feat(mediatek): add SiP service for OP-TEE
 
-This ensures that the following fix for qemu_sbsa platform is
+This ensures that the following feature 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
+commit 226f4c8e35c4441e80ad523b9105eab4ca630396
+Author: Chen Baozi <chenbaozi@phytium.com.cn>
+Date:   Wed Feb 22 06:58:39 2023 +0000
 
-    fix(qemu-sbsa): enable SVE and SME
+    feat(qemu): add "neoverse-n1" cpu support
 
-    Commit 337ff4f1dd6604738d79fd3fa275ae74d74256b2 enabled SVE/SME for
-    qemu platform. Let do the same for qemu-sbsa one too.
+    Add support to qemu "neoverse-n1" cpu for "qemu_sbsa" ('sbsa-ref')
+    platform.
 
-    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
+    Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
+    Change-Id: I4620e879c71115451ae91a1643812d89ec7c071f
 
 
 NOTE: No modifications to the source code have been done.
diff --git a/Platform/Qemu/Sbsa/bl1.bin b/Platform/Qemu/Sbsa/bl1.bin
index 716607806966d418b9eb6988262edef2fd86988c..51b22511db2ea1ef51afe282e43680cc3defbe3e 100755
GIT binary patch
delta 4299
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

delta 4312
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

diff --git a/Platform/Qemu/Sbsa/fip.bin b/Platform/Qemu/Sbsa/fip.bin
index 29e09255e7273b8902c7dd4d11d5dfe7b14a82ab..bf00f9b671af634e49cd148eb36e7de0475e64c1 100644
GIT binary patch
delta 11497
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
X_GO2~KrfEJ_Mg|=-?+ry?49uMJ4@V=

delta 12138
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
aeqh{pK~72Q=3cY<;d*^oJA1!%#D4)3AHRSA

-- 
2.39.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101492): https://edk2.groups.io/g/devel/message/101492
Mute This Topic: https://groups.io/mt/97755415/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] Platform/Qemu/Sbsa: Update TF-A binaries to enable Neoverse-N1
Posted by Ard Biesheuvel 1 year, 1 month ago
On Tue, 21 Mar 2023 at 15:09, Marcin Juszkiewicz
<marcin.juszkiewicz@linaro.org> wrote:
>
> From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
>
> Update the TF-A binaries to have Neoverse-N1 support.
>
> This support was merged into TF-A:
>
> https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19863
>
> This allows SBSA Reference Platform to use Arm v8.2 cpu without using
> "max" cpu.
>
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

Acked-by: Ard Biesheuvel <ardb@kernel.org>

Pushed as 74d4da60a4f0fd75..41876073afb7c730

Thanks!

> ---
>  Platform/Qemu/Sbsa/Readme.md |  53 ++++++++++++-----------------------
>  Platform/Qemu/Sbsa/bl1.bin   | Bin 19493 -> 19461 bytes
>  Platform/Qemu/Sbsa/fip.bin   | Bin 58098 -> 58098 bytes
>  3 files changed, 18 insertions(+), 35 deletions(-)
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101495): https://edk2.groups.io/g/devel/message/101495
Mute This Topic: https://groups.io/mt/97755415/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-