* [PATCH edk2-non-osi 1/1] Platform/Qemu/Sbsa: Update TF-A binaries to enable FEAT_FGT
@ 2023-05-15 16:23 Marcin Juszkiewicz
2023-05-16 10:21 ` [edk2-devel] " Graeme Gregory
0 siblings, 1 reply; 4+ messages in thread
From: Marcin Juszkiewicz @ 2023-05-15 16:23 UTC (permalink / raw)
To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Marcin Juszkiewicz,
Marcin Juszkiewicz
Update the TF-A binaries to have FEAT_FGT support.
This support was merged into TF-A:
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19459
This allows SBSA Reference Platform to boot Linux on "max" cpu.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
Platform/Qemu/Sbsa/Readme.md | 31 ++++++++++++++-----------------
Platform/Qemu/Sbsa/bl1.bin | Bin 19461 -> 19413 bytes
Platform/Qemu/Sbsa/fip.bin | Bin 58098 -> 58098 bytes
3 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/Platform/Qemu/Sbsa/Readme.md b/Platform/Qemu/Sbsa/Readme.md
index aaf920e12daa..d044297dd693 100644
--- a/Platform/Qemu/Sbsa/Readme.md
+++ b/Platform/Qemu/Sbsa/Readme.md
@@ -4,32 +4,29 @@ Qemu SBSA TF-A binaries
These binaries have been created from the mainline TF-A
code checked out at the following commit ID:
-commit 5fdb2e5471c6ae564ea60d986505418134e7516f
-Merge: e550fa127 ccc61e100
-Author: Olivier Deprez <olivier.deprez@arm.com>
-Date: Tue Mar 21 10:46:41 2023 +0100
+commit dcf430656ca8ef964fa55ad9eb81cf838c7837f2 (tag: v2.9-rc0)
+Merge: 3011e1afe b1af2676f
+Author: Manish Pandey <manish.pandey2@arm.com>
+Date: Thu May 11 13:41:35 2023 +0200
- Merge changes I924ea85d,I22e128c4,I7a5cfaac into integration
+ Merge "docs(psci): expound runtime instrumentation docs" 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 feature for qemu_sbsa platform is
merged upstream and is included in the build:
-commit 226f4c8e35c4441e80ad523b9105eab4ca630396
-Author: Chen Baozi <chenbaozi@phytium.com.cn>
-Date: Wed Feb 22 06:58:39 2023 +0000
+commit c598692d0c6a79dd10c34d5a4a740c90261cfc65
+Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
+Date: Tue Feb 14 09:27:59 2023 +0100
- feat(qemu): add "neoverse-n1" cpu support
+ fix(qemu-sbsa): enable FGT
- Add support to qemu "neoverse-n1" cpu for "qemu_sbsa" ('sbsa-ref')
- platform.
+ QEMU 7.2+ has FEAT_FGT support added to 'max' cpu.
- Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
- Change-Id: I4620e879c71115451ae91a1643812d89ec7c071f
+ So let's enable it to make Debian 'bookworm' kernel boot on sbsa-ref/max setup.
+
+ Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
+ Change-Id: I49fb3e742b69ce7be5666e0144525dde21a68238
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 51b22511db2ea1ef51afe282e43680cc3defbe3e..4a5bd925ae43430e72281001ee5b39f8bc124f3a 100755
GIT binary patch
delta 2565
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
delta 2741
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
diff --git a/Platform/Qemu/Sbsa/fip.bin b/Platform/Qemu/Sbsa/fip.bin
index bf00f9b671af634e49cd148eb36e7de0475e64c1..d68bb1fcf8e2878479c16249244ce46c3acda3d0 100644
GIT binary patch
delta 8184
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
delta 8156
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
bgefq?U+7eR>;L%bvL7bHWIuYN{fYkshuWl`
--
2.40.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH edk2-non-osi 1/1] Platform/Qemu/Sbsa: Update TF-A binaries to enable FEAT_FGT
2023-05-15 16:23 [PATCH edk2-non-osi 1/1] Platform/Qemu/Sbsa: Update TF-A binaries to enable FEAT_FGT Marcin Juszkiewicz
@ 2023-05-16 10:21 ` Graeme Gregory
2023-05-29 15:12 ` Marcin Juszkiewicz
0 siblings, 1 reply; 4+ messages in thread
From: Graeme Gregory @ 2023-05-16 10:21 UTC (permalink / raw)
To: devel, marcin; +Cc: Ard Biesheuvel, Leif Lindholm, Marcin Juszkiewicz
On Mon, May 15, 2023 at 06:23:30PM +0200, Marcin Juszkiewicz via groups.io wrote:
> Update the TF-A binaries to have FEAT_FGT support.
>
> This support was merged into TF-A:
>
> https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19459
>
> This allows SBSA Reference Platform to boot Linux on "max" cpu.
>
The instructions give a way to do this patch without sending the binary
blob to list.
But this looks like a good idea to me.
Reviewed-by: Graeme Gregory <graeme@xora.org.uk>
> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> ---
> Platform/Qemu/Sbsa/Readme.md | 31 ++++++++++++++-----------------
> Platform/Qemu/Sbsa/bl1.bin | Bin 19461 -> 19413 bytes
> Platform/Qemu/Sbsa/fip.bin | Bin 58098 -> 58098 bytes
> 3 files changed, 14 insertions(+), 17 deletions(-)
>
> diff --git a/Platform/Qemu/Sbsa/Readme.md b/Platform/Qemu/Sbsa/Readme.md
> index aaf920e12daa..d044297dd693 100644
> --- a/Platform/Qemu/Sbsa/Readme.md
> +++ b/Platform/Qemu/Sbsa/Readme.md
> @@ -4,32 +4,29 @@ Qemu SBSA TF-A binaries
> These binaries have been created from the mainline TF-A
> code checked out at the following commit ID:
>
> -commit 5fdb2e5471c6ae564ea60d986505418134e7516f
> -Merge: e550fa127 ccc61e100
> -Author: Olivier Deprez <olivier.deprez@arm.com>
> -Date: Tue Mar 21 10:46:41 2023 +0100
> +commit dcf430656ca8ef964fa55ad9eb81cf838c7837f2 (tag: v2.9-rc0)
> +Merge: 3011e1afe b1af2676f
> +Author: Manish Pandey <manish.pandey2@arm.com>
> +Date: Thu May 11 13:41:35 2023 +0200
>
> - Merge changes I924ea85d,I22e128c4,I7a5cfaac into integration
> + Merge "docs(psci): expound runtime instrumentation docs" 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 feature for qemu_sbsa platform is
> merged upstream and is included in the build:
>
> -commit 226f4c8e35c4441e80ad523b9105eab4ca630396
> -Author: Chen Baozi <chenbaozi@phytium.com.cn>
> -Date: Wed Feb 22 06:58:39 2023 +0000
> +commit c598692d0c6a79dd10c34d5a4a740c90261cfc65
> +Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> +Date: Tue Feb 14 09:27:59 2023 +0100
>
> - feat(qemu): add "neoverse-n1" cpu support
> + fix(qemu-sbsa): enable FGT
>
> - Add support to qemu "neoverse-n1" cpu for "qemu_sbsa" ('sbsa-ref')
> - platform.
> + QEMU 7.2+ has FEAT_FGT support added to 'max' cpu.
>
> - Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn>
> - Change-Id: I4620e879c71115451ae91a1643812d89ec7c071f
> + So let's enable it to make Debian 'bookworm' kernel boot on sbsa-ref/max setup.
> +
> + Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
> + Change-Id: I49fb3e742b69ce7be5666e0144525dde21a68238
>
>
> 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 51b22511db2ea1ef51afe282e43680cc3defbe3e..4a5bd925ae43430e72281001ee5b39f8bc124f3a 100755
> GIT binary patch
> delta 2565
> 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
>
> delta 2741
> zcmZ`)3s6+o8UD}SW!*&{`-0^m+`Hgw7gl+#SS)atM-->pL^f?2Ygq(>v<`@1M@tee
> z*gS31T+b%hss*fxurZyfD;?>Cy3lmmj&)SXI+`|>#kP|s>I|TbtCH=1FT0FGCot!n
> z|NH*O`S+avKiA(wUOGZ7pz0d$OL}((wCVmErHnsb18yGREC73z>m*w6&GRLqrB3$`
> zHMm^>_5iN2Xn03FZnASIxI*k@01(XpZ<--n+=;l%s1(ZpE;vzto(I1Vog4t}N*wQt
> z|0yJ&QZs4PU0}dH$rwE=<<(#<p+6_7<RdynvO52y2IE}E`N25`#EYn(>lhul%1GSE
> zActE)Qkp2~W~<3yKH|2Q)5LoQ2!5cHVj4VhI!VjKbC2V`W#U=Hr$eEh8I1W09J35q
> zStYavl;AvyIDrQd{T0@?X|2Ne-P38}N%YVF7z0d#2Q}93A-;=VK7ax_lRfF;QF#}m
> zbw!lCyY*F!B-!+#O#oNf?pC^ZI}|d>@>y1VgI-aXVna$W$_#Mg7c@88kUX#F#24k5
> z2G8tLJ~-DgHgJHNnMNYe*O*eWo&JR>CzrgjN~J=fGE;-fLRx6C%0!yz)2f4{$9rAH
> z5b`bh$&x~aN=*~hTgeP<P<N6k`Y-hc@_TC5Y$PIW(rh5Vqwi?)Nh7_E^ON4#==T(a
> zrNc4R8D;`bB`1tCu>Xu=$$Ed;qvt1-aAKxL4buQh4*<2srgxrGfm=}V!)B$hjR5(+
> z55QT9C)&q=Q~oU<nMDJhpIN!yZ_ZX%ckB6KS2rJ&Y_KSt0MDIq#FR~xs-d+Dw<MC?
> zvHA(rPZPud&1c4dTPMe=FpCoe+*Jy2kKtLnx`EQz1NL7(3iSl=)+1*{@th;oa|(69
> zM~PAe-NMt3@cq;gw@TZC+D;W_BJC{jLHc~$^0WXJh;-GFa5pg=U|MX<{u!Xdao;vi
> z$s3Hw<vIBZ8SGsG?m!)ujtPPs2;-?VH=flQFhw8S|1Ckrr4YvBX>I&=a-WXi9H7bC
> zwZu=Wv@E$uo3zy=pN?pMK>kcEx+fLJ9NM8fKyv6k9jjaSWvEB0Qy2E%B+Cao=?Z-z
> zNu)dUCSCd>T_b%-pXE@^g?ies5nWTsVm->j6XiiE3As5TMVv*>RZ<?5u`gMabdvpT
> zi9eAn{((;GQ^`MRtf7NkpsyL&*ej@+oD10}SMkAAI%KHcF^r6q6;Cj$Og<PWC*pLN
> z0|EsSHz#>v#;0(_cg4+NglMdVsVqJy>AMLG-3{CP5?8FFU>DX$5^XSM7XKTWYDUmY
> z5q^g9r+DbydKi{E@n#(nuOfF3Gms+PdlV}881XEVV3q6-(mxsx5~H^&p;|#c^d2|;
> zijdd6j^s;>ZWN0rz$9Wbn>>mrVSI?1)2=Cwtn@xiTSH<hR*6j*=LU{vsGTjfP29)4
> zUgifmKHX1na9FEs3{3Z9#dxq5*;nHHy&D+6^pbgKKbxuPMHaR00eX>L8}$MDU#Eoo
> z9NY0Wm!+xPf=?@+x00I8he$tt-@J-mGyi>gw6<^jb@0tt3?=?j68)JO<7<v>@JH)P
> z{56E1;jvffxeSg2Bv{~Q@Q|GZox0G8Lnju<XSI^iwTyQ1H}95A6H!)JiPpPoxlOTJ
> zNE3+~unO>*)~1UjCM>&9)<Uo!Ga^a|zUv)X*{C2@bcJOtDW*?bT5Mg*z?lM4a|_!}
> z;^o1c<SF(UXx)^64ZhvAe<y&JAK(s2-;G2%Z7EDvKa~0>^}@4D;HjHTigk)fvO0*c
> zZ5MS|TkwIOvt~McST;invh*&KYMo_LJRjoa9?bw<Cj+fN#b5EG5)hxAec|vl@(-le
> z9xFI>2jxo-q*gb2?$GaKt&ROAcIqsX>KRhN(n0!GRu=Kn(X4DTM(<>;)2v3Vq&Y}!
> z**{+P6Vkf+^N^EuL#t0(ebCBBfinRFeI>n^T}XD&C|i%}>$pK&$a}(;qlgy9k7FJ5
> z;-I6pb}Hm3)h{6E3=@ZQmFgWR*DM$yQH-E8Vvwg)r=iR)7$7l+PfiGj6!LJsQvC_a
> zH^P_-NQ@vjA2BE}s?9Ya=f@91CUmH$LILK0%Fc*^9dkgrCXA_oL@|QWh`~C{0cCc<
> z0Es!gp%4x^heFH&<r`s41tdlgoX6o63tQCmvMuTaPg2_TApZ&f{jyXN>Z|5)j2`2p
> z)0}d3k#m8XS4B)KzJkBIDH6gvYHKD^jEsV>uwA~uN4ASL{y(LBoZ3o#<ywWDU!vxX
> z@LmMnO_sMKXg&exU4#cB7_GlZ{!Ijhtw$qRilw>oIKpr2fl4-`J)Fmj;q}$<dN{lu
> zt3uag??h!3!J2<3{68<93Zu>PnuGIuva|>1Bk;q#HS1UJZP?vV+ty$yl90{*wLDv+
> z{ki&`c@6f0LMYqUw7Z=v;&SapIXOl4f^2R}?OrY~m&?n^%LijwOG|rGb0g>6yRWUi
> zp`N2#H$Kd$wpD&3kE^R~=9*jDxt$H%zBW`fHFFNf-nw1+dC_aU8#j%T-FN_dF301S
> s8(<eF%>XV=UKXa4i?9&3zZK?BFVg>Y5%z`c&(YS+ESdC*n=8ow0I)^7F#rGn
>
> diff --git a/Platform/Qemu/Sbsa/fip.bin b/Platform/Qemu/Sbsa/fip.bin
> index bf00f9b671af634e49cd148eb36e7de0475e64c1..d68bb1fcf8e2878479c16249244ce46c3acda3d0 100644
> GIT binary patch
> delta 8184
> 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
>
> delta 8156
> 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
> bgefq?U+7eR>;L%bvL7bHWIuYN{fYkshuWl`
>
> --
> 2.40.1
>
>
>
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH edk2-non-osi 1/1] Platform/Qemu/Sbsa: Update TF-A binaries to enable FEAT_FGT
2023-05-16 10:21 ` [edk2-devel] " Graeme Gregory
@ 2023-05-29 15:12 ` Marcin Juszkiewicz
2023-05-30 9:43 ` Ard Biesheuvel
0 siblings, 1 reply; 4+ messages in thread
From: Marcin Juszkiewicz @ 2023-05-29 15:12 UTC (permalink / raw)
To: Graeme Gregory, devel, marcin; +Cc: Ard Biesheuvel, Leif Lindholm
W dniu 16.05.2023 o 12:21, Graeme Gregory pisze:
> On Mon, May 15, 2023 at 06:23:30PM +0200, Marcin Juszkiewicz via groups.io wrote:
>> Update the TF-A binaries to have FEAT_FGT support.
>>
>> This support was merged into TF-A:
>>
>> https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19459
>>
>> This allows SBSA Reference Platform to boot Linux on "max" cpu.
>>
> The instructions give a way to do this patch without sending the binary
> blob to list.
>
> But this looks like a good idea to me.
EDK2 stable got released. Can this patch get merged into edk2-non-osi?
Or is there a reason not to?
Would like to be able to build fresh firmware for sbsa-ref and add some
tests to QEMU.
> Reviewed-by: Graeme Gregory <graeme@xora.org.uk>
>> Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH edk2-non-osi 1/1] Platform/Qemu/Sbsa: Update TF-A binaries to enable FEAT_FGT
2023-05-29 15:12 ` Marcin Juszkiewicz
@ 2023-05-30 9:43 ` Ard Biesheuvel
0 siblings, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2023-05-30 9:43 UTC (permalink / raw)
To: Marcin Juszkiewicz
Cc: Graeme Gregory, devel, marcin, Ard Biesheuvel, Leif Lindholm
On Mon, 29 May 2023 at 17:13, Marcin Juszkiewicz
<marcin.juszkiewicz@linaro.org> wrote:
>
> W dniu 16.05.2023 o 12:21, Graeme Gregory pisze:
> > On Mon, May 15, 2023 at 06:23:30PM +0200, Marcin Juszkiewicz via groups.io wrote:
> >> Update the TF-A binaries to have FEAT_FGT support.
> >>
> >> This support was merged into TF-A:
> >>
> >> https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19459
> >>
> >> This allows SBSA Reference Platform to boot Linux on "max" cpu.
> >>
> > The instructions give a way to do this patch without sending the binary
> > blob to list.
> >
> > But this looks like a good idea to me.
>
> EDK2 stable got released. Can this patch get merged into edk2-non-osi?
> Or is there a reason not to?
>
> Would like to be able to build fresh firmware for sbsa-ref and add some
> tests to QEMU.
>
Thanks
Pushed as 8164ce412e1a1c31..f0bb00937ad6bfdf
(I forgot to add Graeme's ack before pushing - apologies)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-30 9:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-15 16:23 [PATCH edk2-non-osi 1/1] Platform/Qemu/Sbsa: Update TF-A binaries to enable FEAT_FGT Marcin Juszkiewicz
2023-05-16 10:21 ` [edk2-devel] " Graeme Gregory
2023-05-29 15:12 ` Marcin Juszkiewicz
2023-05-30 9:43 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox