public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-non-osi][PATCH 1/1] Platform/RaspberryPi: Update TF-A to v2.9 to fix rainbow screen on reboot
@ 2023-05-25 16:49 Pete Batard
  2023-05-25 16:56 ` Ard Biesheuvel
  0 siblings, 1 reply; 2+ messages in thread
From: Pete Batard @ 2023-05-25 16:49 UTC (permalink / raw)
  To: devel; +Cc: ardb+tianocore, quic_llindhol, jeremy.linton

The newly released TF-A v2.9 contains a fix for an issue that has been
affecting some Raspberry Pi 3 users, when trying to issue a reboot with
some types of SD cards (See: pftf/RPi3#17, pftf/RPi3#24).

This fix is documented at:
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/20297

We also use this opportunity to update the TF-A binaries for RPi4.

Signed-off-by: Pete Batard <pete@akeo.ie>
---
 Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md |   8 ++++----
 Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin   | Bin 18853 -> 18853 bytes
 Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin   | Bin 53988 -> 53988 bytes
 Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md |   6 +++---
 Platform/RaspberryPi/RPi4/TrustedFirmware/bl31.bin  | Bin 45163 -> 45163 bytes
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md b/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md
index 4b8373493d55..23348e0dc98b 100644
--- a/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md
+++ b/Platform/RaspberryPi/RPi3/TrustedFirmware/Readme.md
@@ -2,14 +2,14 @@ ARM Trusted Firmware for Raspberry Pi 3
 =======================================
 
 The `bl1.bin` and `fip.bin` TF-A binaries found in this directory were built from the
-[official TF-A 2.6 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.6)
+[official TF-A 2.9 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.9)
 through a [GitHub build script](https://github.com/pftf/pitf/blob/master/.github/workflows/build.yml)
 that is designed to provide evidence that these binaries match the vanilla TF-A source.
 
-Per the [GitHub Actions log](https://github.com/pftf/pitf/runs/1668471269),
+Per the [GitHub Actions log](https://github.com/pftf/pitf/actions/runs/5071490963),
 the SHA-256 sums for the blobs can be validated to be as follows:
-- `bl1.bin`: `787acb2ca1c99678dcdec70a64b9602f8f8f658a4abb0b3f7edfa5f5efb22f73`
-- `fip.bin`: `fd85f9a230aad88f6a59cf0c5d88e6067f23fb8080c6b8bdc61f1a5f6cbbf9ec`
+- `bl1.bin`: `de32a81d17a3a1251245dd6d9b0a807e6ec54d5b50eecfda31fc9cd2ffb1d5ba`
+- `fip.bin`: `7463cec7914469998d3cfab80b80710e371e8d5673959b303a7c851e37b179bb`
 
 For Raspberry Pi 3 usage, TF-A was built using the command:
 ```
diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin b/Platform/RaspberryPi/RPi3/TrustedFirmware/bl1.bin
index cbbde5f744a7e2f50232a2e6c1a9de1d5254669c..e3076b1dc9898fcd6f6db694b2507a69fb371874 100644
GIT binary patch
delta 5103
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
OI+6qJkK%{t-26YPs!{j=

delta 5233
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
Zeb2|n3w`s?O(+#GAy;^TA76Uo{{X>kL$&|_

diff --git a/Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin b/Platform/RaspberryPi/RPi3/TrustedFirmware/fip.bin
index 662d638e181af0461ef63058c459a48ef12971dd..83d1607f6080274e610ef9806f9d2b037c9a9c93 100644
GIT binary patch
delta 18556
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
MzkfYUENZLxPq#r_V*mgE

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

diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md b/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md
index 1c306efa2b5b..786456c63412 100644
--- a/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md
+++ b/Platform/RaspberryPi/RPi4/TrustedFirmware/Readme.md
@@ -2,13 +2,13 @@ ARM Trusted Firmware for Raspberry Pi 4
 =======================================
 
 The `bl31.bin` TF-A binary found in this directory was built from the
-[official TF-A 2.6 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.6)
+[official TF-A 2.9 release](https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tag/?h=v2.9)
 through a [GitHub build script](https://github.com/pftf/pitf/blob/master/.github/workflows/build.yml)
 that is designed to provide evidence that these binaries match the vanilla TF-A source.
 
-Per the [GitHub Actions log](https://github.com/pftf/pitf/runs/1668471269),
+Per the [GitHub Actions log](https://github.com/pftf/pitf/actions/runs/5071490963),
 the SHA-256 sum for the bin can be validated to be as follows:
-- `bl31.bin`: `48f129b3064fd44992c9903e8207eeee09f67edb6d06b14eba8e10614ac5c5b7`
+- `bl31.bin`: `681afd3c044ad0020c3182e9f7a8d43f726ab19467dba2db8086bb41f3e4b521`
 
 For Raspberry Pi 4 usage, TF-A was built using the command:
 ```
diff --git a/Platform/RaspberryPi/RPi4/TrustedFirmware/bl31.bin b/Platform/RaspberryPi/RPi4/TrustedFirmware/bl31.bin
index 37aa0c433e9ec4b32bacf383532125f722c1cfc9..0e29c0601ecd8ba23d1681d6a69b306c9a8d253c 100644
GIT binary patch
delta 16161
zcmeHudtB62-v2q@?|{Qiff*QXGBbd;F%^}oH@<+DilqWwG?PKHR4hf*G{_my%9h$3
z4x5{`G1%piY5T3K(n?PSn(bC@Z9@2L`_$tMSX!3lC1pyT-~02OnT>sZyT8l-zj}@5
ze9!fB|9sBp9L~9=b8czBDVpaBbF?9;LuM_7ys?Kx&+220yI6E;->Cw*Pa}&LVs0BZ
z9^F>PvWrpfkXTC@N`<kH8Dow%#&(%e;&=R#@I)K(&!X4P*!R@ifYNOB_x7W`OJRKz
zQMzTl%Ol6R`sH}nfNXHh3t=raqA<oV=L4qhg|#I|CH64er>ScnL;Ecf)7v}bXx8lq
zZ!K2(XJG%kSRB1Dj`q3+Xid!CW5eug2G)`x5@XZ(bulwGWl3g);|HDMy<YduzSUZ$
zzh3utJ3zEtmzl#YbC+j2pHjhi^`!{ry(EXa6p5AZ<gDB?%-`OPZ?lHQ&=_|pD`#wf
zX$51|b}kOY7HBcs$oM(C@WxKHIWdnhd#u;zGk6O8J>9g{c7NUM^OesBh(^Y0+=kYq
z?=WsmENl4|Wfs~^J|7Bu=~ws$I<aR^8a3<!2vn}YxB+}y8S9WyccZRg%zvTeT6+(x
z=i+Hyc1{^c5#sZ8SXsqMh1+`;f|vtxs>`ld@-X*M3Hq<A>r|Y4pEG?W$QH}RkGk=O
zXvGW2E-2WIG2=-<($g(hoIH3<_Y@!dah!u|nU|9s>_<H^P~U}mH1oD$FxN2eJ>vIq
z-z>^Z`gw3P>cPR^C;r3Wgb=281I~+pPY?Xl@k=2(V6j_KZsY#?ZQ|SbbY3W84BICf
z(0);7F1H-(8bF<C^7_~}TY3p{h+(;%YgECJ8Pl7Nh}R7p;tNp)Qu=o^?9hT?d3{gb
zQ{MYajmSwzo&6%X8_tqcE#NG_FHNg77ezD2T2LxuS#hs~X&ITty^ltBFMY!FZc?=Q
z-K2Ru%tHO6KeMX+!k&;I?Yk!SBy0%#;&H`02Yo+^If=QvTs)F^N~}*xu(d+VE^b%6
z-~VZGdu&W<U$m0iHyOV)V0fcW@%o-)UbozOvNcy$Vfhjid5o~*?9h&TH0!6`@a;Yg
z>D&>`PK-l63%@$_-$0uaFkS{njgJrSI|Isq%TTMy4$c%W-<#SeX%x|wG&AG^)-;P>
zC0EQHbvI}P8lS#P6Wz)}&bdLi2F>h2Gn2y$m{eT}Ikhu>g1Aq=W`cwmTso^S$>-Zm
zD)$0*6e-CWi#=!neZ5wIN(0RGOM4kBI5`Yp)ng(tliDGa>cpLx=pLrD_m3!SKW!*#
zC-h&%xUT_T0m?2hAtjmrQOrwOX#VcH&%m_5=rJAZy6BOOup>s-4`}0PGox*|=uBA{
zQiGk=i>Q%*9v*7%F-J;Gd{yP3i5bP!)H$}W=co65wVQdz@wx+H&nK(Y)yB-~)AC0S
zXu%1>?|NNV`=zq3_WuNkFX49yRP?|;aK?|jQBFjgHB>p_sWKgZi2BQp?7LofWM6P@
z*DSg38MF_b^8mhKXGL-9$QU0`{x!`5id3eFnpA_>m%6CgG&aN(`h9Mz*lJ9+eS9ni
z!ZE8a8q|u}wzRik1-sycfSv)?w@AvtR?Zw&Hke~fSa-2fX63`!`h#q6U32utyLv~|
zSM)|Fjc`2(`}EP|T*qHlug_a3<>fYIX`;Vgom{qV-kL!-FF3jD2B<Gb1HDienLAo@
zS)^)`X0DmtM|@}HmCcIR3@xZ^X5Jl`0NyuuGv;kT{n|sfsVt+mp%VMzSQF=iVw`#5
zA_kb})Z2RRU9)n_eNsr%_8BbpCEu{zs(N0Q&RN!MlWZwqn(FtlRfS3JJI0i)J7yI2
z+R$c)=oOK<jb=4%*L~$()8#&~Ygs}F@#KB+mANb~L{DzX*;5NtYmZKJSVNgNO)O5E
zJ$Fl(gUomtY*cM%1kAh6^<5l!A)O000RAh?aSq=zA!XO`JBNj!Ec=-<$E!eTNorp~
z`&;7kwCQm-gDUCVUMjK19u64>!aapzLV9u3YRn_{qos7WcqDyN+yD&e^}09P-LkWX
z9LuFL-d-V&r0Z<23}Y?iZk&8D2Yc*dV`Cg1jCuiZsNdbP<JEB1(t_V%{4SLhwqLJ1
zwr^)ROe4mPgt>MymgOHC<Jg6H7fFNA2lL$mvRLfF{<~rwgMq%=vF~M>i90hA`EXH_
zp_^AYjCB|_$^||Q4oTKoXoY7qtVQO|9*J-x3T5d)HD`}X!4Gtf0qhRkON-D~w7}mN
zCqB$bu+{4vo@D0rG&oB=(^)4ZUtRDGEnGD%w9h}-jBkK}KAkHKpliU|0n|OR-l8sg
z)<5pI7)Kkw6(kqLTtzuSuaavH=2Ab`D4k|)_flK?PrltR0@vD57V`#5a_dBS)g7eF
z?j^TLTsQ(5Qx`fG=E%Y#!$GsD*L}OuwqIveIsuqv6I2pFx*DTs6TPbhGGGg3H4T{S
z=f}}~Pr=5}*ub|qGb$=fi+Lmmv&8jL$?+$z`F7VzEK8-`iWEmV$k4JvOdMShR`mC;
z&7&<mRkV#R;mgIhqbKoFF>*|Dk|%_f695g3ikA>bV_TZdT*<K?5Vws<(kEhXW8{{L
zPUwbt?EGG{y|P#A7_(>z56SB*h_qe=GUdq-N}6lLw-w)n$PTm-(2W3e2=MzxU_leu
zdTa>ch**~p4_%fe%bOx<Y&w5ZOdgwVyNotI*WN?=_k)gkzXkCajFhLXq1ofRdJ%Et
zFB)Q%&NP-1TgXhgjBP%!Jyhu|X3;r}Z8}hlu~jcHZzBTBw8)~~3N5Q~0=~v@#ak4u
zG*_%*7a%d9)|La-Mo5&*EfV4xd#K{AY>ctBH>{vQP3L+7+JVMSv&LSEP1nFRmV?VR
z43-cC*u@r%aFhe#iQrxtc(IX)2_(-zw9Fuk`6g{y0mj=UM%Dlu-luLDB$^%T&_2ZB
zV8Ce9+n9b67CMPV8i6He4Lv;Rm5cJQhMpG_oEJN=7%16ewfpM?U<IqcxCxlB=U4SI
zc7HRxh>I~9(RRZg>jCC9Md$Td|AuID$VPro@^(8ow?Ak=0O9_YgST2DxR#n=MO?x<
ze!1-pRnUoFBr`wUEw$eP^iMt(>9|@Yx8I5S)fXZi-gKg6JmMt1t06RCC_)Bv{hF$G
zr68zYg0cC3iFA+=fhWm<&`++^uyP&9W`>Lm)N*WVfVPsk(7R^BTrgV*JLHiQT`P64
zOd6K$u24FSu-1i`co!B-I2GyePfYmx#7UTVJNi1VL^u?Qb+~aRuwp)$16q7QJtHKj
zz@7^LYx>cb6BODX?k;M-T2<WcO;^0)&8gaZ=uk160J!e+1E2>0a2G*H-@t~1)d#AC
zzts+g?=mloa0F=^l;&yJObHvzQTsRgT}HNun~-6<?EjbndqD=Q`-U%9HCXi#Fh~J|
z=7lQU@MWv*`>9>88oCs;D*#MwKmBuiJlgHoeAy}`!XqKoajy6P71XhVpd8w0os}et
zPC&<g@@1!kAF}=M26a$E<li?Mp#C3y*~M!Aet-YmpZoul`n|sFs-g2&{oLOxMoug-
zuB6ihm~bhAPDw}inSMfm#gu%+jrnONN&IDEQuzPwGf~T6kx7C@#-yyouRt+fy&^7Y
z2XmjD!W?@VNq-Yv{i0@)A?7ofBBCFi2;C4ZgLrmQa?}a5UQ?->==w+;nPjj%4$x1d
z#RU4g<s=tO)o#Q>5qq~O;ztC(B--{g*6Ef~n$AKwvw`AiImL1eB93;)>2<7A9>HQ>
z$GplSQ<HnD;%$(4Q`N@Q*s4qx1CLkA5z>%YAEdq3DV-!RR#@=cIZMrQV}p%!=7Nq9
z02CK84O<LNF8Q0-nmIk{IKVJz0fL-hc~2b494qOg#JSAGskh*iOJ0-KqxJX0B3(h9
z+UR>c_8Y`^tvr~MhLdwqLX^mzoMyW#3WU<TqR~BoHA$A$?iPQ0INH_kV^IzbmXcw2
zg7SVCTb_c;nt&6k^M<u|6#Ab8eC{%WFV51&w)I{q=8g_1++%1r4r4XlYs`l~gdyw*
z-PY^IoCG^My4PeM?$ELr@J0oo4sGK5$)mJxKM>D|ky8>PulYa7PCO+Frx<yNsGKr}
ze=VMvQZQ~4m`|37EKmvHf)r;%tW}l=Rb)PJaf=I63^t(ALT0=TK5!7Gq#rhiWZwe{
zl%S7Avc=Rt4$jXC#vY1gG2a8Imd&ZL+@^?J#nc3{#B7xeO#@IIVl0^_TH_n+Zjx9w
zGdWB5#xh6NJ6TOdm$$(p+e@u$au4U~SOzvTxKbcN{i^2qrBcQ>Q=FytqsGHvuXuH8
zqS?;<2YZ<N*sH2p>1tQm0k)A@SuH-FI_e*cv&KTk8Ju?!IR@d_uFA5D$l{eH*QJ1o
za>^i285!C{6=@Q@2I!D`67&9mx$sMe`tMXa6EaDU;%SU)3DZXuMY5Q5NO%!RG=47u
z*-IG^D-(xNmJ=<FP?a8dYtSF@nZf10)7}YZ+0-T4vUK9`)X2)yRU8IK56=9&bqi=q
zf~%0?O;WtH3e9HN{+j^Wq!WZPQ=n)->kGsTTQSf0JgW(V8^tNqVl^?xMlmwmFzRI%
z8u0-2vXE+0=_)vGD^3@y(Dnt5v@^#_u_QY;f#V2Ct^{Sdi7B0JAUW9<(Vd-8Xw)hf
z+qA5l4r{bI0YS&$w$EEj+xQzBkcO%DAhxwG!hwypgU}ElPf#0jQ{zNTj=}aLDElR5
z5&*C*yH6>ma|Fa(oLNlLV6GJ?C850wDW0Py<zY$%5h`(LBjBmso!gpp3TGA1<E=@E
zM8bUvtJw)fQi$-7jySl^ZlrRoyO?7b=5eMOUj*^(V*HM3ndCT=IXG>O#b{CIF6H6k
z8)ye5egemKFgE@u9e%J0EyyxklY-|>MY6||t!1FiPvD1%#8O<(nZ)Ob3AqJ4Up$aI
zY3^UK3WNvdN9T%%pt)6<fJZ?<Z)E!FTY*+vPgWE4SHdj9mXxO9H#8>MuVH#&nxGfo
z&yN<7dC~kaF*2`!|4H1FXXJauBY6hRzYW8XUCZ?1w|QFrYtfOH7rlQ3g%fJ1_yfdZ
zzPO$@Mr+3Th{0S5_xuzwH(x)&2F=Ei2+>G9V2pFk1Y6)1Ty{tRL*8O7;I~VNl{AWX
zwRkkYIBGUp{00@FgXqgoPs~G$aR#fYg=W78@_Rzayy{#dM9efDm&K@QW&FH&U}m~_
ze%g$9hS5$q0)*&IEja915vfI87w4yqj$)9QGZ5pm(8}||JiQv}(x;|pjnMk75e4?-
zvc$*J^&_vsmVXVhdtj=360a@<JNw}t$mD!3_>6_NBOozk)53-g<~rg3Uchu6^wq|6
z)nCCp6T0^@UCFP}K2&zA(AEIu`2-%!S;`!{&~JofjRUKk@S#uQyH$czBF=(<m9#>5
z<^gTm>tNB;rheEK7`AYg2ETzZ=oX*Om~?9;reDV4la{zF>r2+tvXFpcw6~)C>Y5Kr
z=q+CWsqK&@#FB^Jkys~edk^Iy5j&`IHh|JA7Ec?)CxE8YV^+f-k_vW%V^)AWTXfD$
z(cpM?oA`9*R6bfn%_<2a1MvkYn<Oe{8Ad$%@u(&pwkKj*S%`Ri)~IaKWays@^mly;
zc}WBH6bObB`gs*+JR=LOo(oXv4DFFaVAhAZa)f8rn8}m`{0<!R8Cho=8_c}|2D?!|
zPqc?7pEnZw$Y#cZJHstSBEKN{fv16<n=73Rju1)#=Q!L#K@X|aU#|NOdC+HuoA;m(
z0c8%YLe`$jj}RiCG9yHWs`@y)@KH?b((lnX9HcpqGI$2{r;?fLGjXKAU^{^%XE3z#
zhxu>$19&yztR5dqVe32l4-%|8*V`a0QHZDj1KepuviMu@ne3SdJ0ocw2-V(Ep$5-Y
z27Los^rIfMkLN(2Z)I+?Gy;`I=yoGS7w3x(3z8ZpNDzX$P6Zrqk6|%q<uD6$uXBD_
z_tL@;wz$B=YTm<U822$_!yIgGWnLv?(WafICdv(aWG!M7(zghgmP--USQ{ZP>2AKs
z=gXFOREbB9f^OR)Ann-rn(vS{ip6L*rN+Xhg6`p<yFZ0Sz<B@wErufrg}jGk0Ox+l
zIHd~ae;k*`r%hHKp8F$A<YML+Yi2RaNj9MT??HTRDXiuRlron~Z155$)W=R{F{g+p
zDRq8w4}iRW#z?L-U{!>Bfh*$CLL+}jyj(b*uMj5+4ZK8rRe1l+8nD0#N}T~YA#i^O
zl))NhVq>e%cjycRh_bFkZqftQAHq>&Ao?Le4*N+wQ<RnnTz31QsjI<3vVc(_Jb9=e
z#fc(=?(&a*C$JBsepDINL|XAv(S&hV(C#<idRG`sBk8ymc7ejfw*Z_0o8uJh_(m))
z*4fTrw0j}zJiAaKM-Mvcktx+$RzTMv=h=w0p*uS0j^6bF+zzb<<BG6oZ>cpNyuiE>
zSi?G+_!4i4q&k9z2*64n)rYk`7}GzMLNmP!4Bl<bU^SE`9$2VIoyEdaY#h^tY2?j#
z8&nISx|y+v0v2EWB-A$#RH-~_ZfcddNS{5*_9ZCy13(%8m^fhqyf_uS>0p090v!Lh
z&ecZ|;2RC4-Cb{OARlFgWg-y!aFiktgD5ZtRFYVyeFJm+3UGW#{i&?;&)5e^yx8D5
zkhp}Cv-oath>fxt$FUzB?+_OuX41KEZg-RcJvA<AW{yUzMdTu*Z9{!82v4LeTANZv
zxYC^AB;He)<DnsAH=+(*i+D8vC&;Fzj)I8=7y=v8&Tp!gfWoKXah@zDrD6P$BO*vy
zwy4K?CyN=B<cQ^1xB+f#F9>Sg%N$P;f!NEXRY!B1tg#?K8gtwp9D~r!4X>~RV<?`l
zI-1w?H~|z+L@bW8?4S=Y-45uXT<XF{1Ct(7CnZ?wXv}bo0c8p><{^9skK<P1oij$d
z5h>DcUXe(*hp<%_h&=JpzuH4_^-)PzvQzx#<^mokKEF8`S2*6Ai*F^B0rC7Q13Ui-
zmTZOI!s@Bs%q?qNe?i+&??`UU4!wCF?PLktp-*-zbG$1WZZSqRQ1340_;>VL#cQ`D
zFHsOC(KS~vOzMUz)3w}xx6yR+RO7x<<~U4i!{g#+)AAKov_b$5qK$kHm;Av+rbwK-
zj=wFQn44Fk2KCH;G(~(hprat30(43PB)BLEbrop3Z-EOL!@Rki60mHt322&d%v58o
zKw?8g&P%X)zy_MQ9s*_Z2W%GSAaomo?jD0|Rwi>e5fs6Wlu{^8i&4_!bUKCcx*-Rw
z1lN58cK~1VuO#@81<L?D;ttH;N$bK}y5UoQ3mU)&ihr9oT#K_N4gFfYHP0~W9~gzr
z$w`y2PRHU1qAhkibL0u{yoEeN%$uLg7m1bg7n;M+Tl-*28FV$G0NdChZX{tc+No`t
z=$l_M@;rKAUm`}KBpD<P`ie$lgh|XSDc~=OM@rK9H=?aX$3GJtB^4Qeg7Kml&;-|b
z2~-}0tollTL<wc)bQUw>95G`-7Qb24EHLul3&(<F-YQ;OV4Ms8picb{(8TZ5n1j5r
zF%lU>@S0o#4A#d+q$i68;~XY!yn{tI?x8X2__J{ik|%L`K}ICG=OQ||n=B5YzcnK|
z=yM0)n@O_8+*=ooMdVaUv?TJ=DXGfzN4oLdU8G^LGD{C9_g92A(S7S+9O9A|`{p@b
zX)I8|MJz)QTq!=htspM;5(tDIj?1lJ91$hV3#%jJv4I4+Ci@_My)eUOxUs!-)BNnF
zJalwPx^rzntY6N7H0midEPWcglQW=il0Iq+>M~tA>;i%-B&D-3lf@R)LlH3F#0(J-
zyjXI!bjT^P-q}m@mtw6-jAiLZlF}C4+Iv!Bu@*B1QfC!9DJ(xF7B8B0Une!wdhg?q
zMcrcpbE!^qsedlotXS^|t(mDbn^RaUUzL+bV`!f=>`UY5E{?vbU0pY@l^e0CPDC#*
zPs~IM-K@ihSo+`LQ)pxdvIdjHBa02?M)Xo#TL@;G>O;K5U?`M&rV6t0bc8=A0VOOa
zfp8CNP2xz31O<oR#X5<5bjM7xAl!>he5~N5#oQ_8lrD_Z;O?k$n$k(<cWV+Z)4qSC
z_n>GmHAU}Fa5PGa_i7kxIq`#U_Z9JJsgWlMZ|NUwD{#;!tVw_#g*j{hwMM5X&FLvy
zdaGEdD-_{Fl_I;U?6T_?7JA&5!Y&Ypimw&-eu>+-s`}99ikRHAgUQD$g15S>M&-S%
zVUBCS7;<-^LC^BcFd2mP_En<?|A>f%ULODpF~0oK+x>2byTTHX4pVOgm}?Y7QPL{j
zZe--mD6it)=ZKaadI@>$cVZPUPOGlgo0N-%QLNm?=3daSeLeR^&;HR0X|dtLsX=(l
zlTG^~S$P#!XqDu1bEyt0bfJDWf|biSxrrIK*T<{_bEFVTYx(mqRpR~I@8siz`Hn4d
zngn=mq~^(DCR3*J*uEQD@jvdEPhRDY<Y5%b)*i5n<U8l7-W1{1$1Q2O@TO8Q52Fe`
zJgSROxC)iLdO`g1&iFid|8iS6t1*G%wpdo9P)Qd+C^;fp;tJ)uNRrwRfqZ)b#uElt
zbeHHyVZc^1Za66zM7@)4=O`wplL0B%RMgLlxVws@U@|O>HTN)A*F{OJylYvCN$a?R
zu>CTDBx_vexmJ3k5zTj+n@r;KyA1K}QMhHb{qCX@r&eS}E@;8;Q%r;}nP{Uc2?H~@
z{-EAm+Iw;#0uM>7okV{Cky<|tWZ-yh*#^40DWQWXj!rXlR`k<2&T<UvVADe;%>OIR
zMWirvt{#@j4Izi8G;CxVSBoUMK4C295RmJkNvH5Eq!M?q?_+?6HikQ*oZ}K~>VajZ
z$(7-_jlkwt#OF(<MwNno{y;U}QYS_(&DG8uLQ%1PX^LoBI+h<4Z!I;5Wvj!=5UIr}
zv-+Ta``I;vBL*P9$nyG}!=<vdFzj&9Ku30|{R#1o)9NiEJw5VY*s1N`#Q*&r&}Wpk
zSaA0et=*t{yLZHEcjs}t`10;%K1*y}Hfa>yn2~!WZ_|z7{MBy}9RXj4kYnF>e(t{_
zK3ta0J>tT$F{2VG&k2|9Pa^7F?g8fb59D3!xb^a&PI2N4G4q}oaS4i-#K^=7PA>i)
z$Bb8C*;B+X@3Dl{;FG!@5=ZXIn2kHb9H4s=Wvdi_j*jb2pv<0EnrpY!_p;Bd&CWGb
z2ZJg>&zp8#RIloL8Xi*yY5j|0!t!*UC>AeI9yv!{TxXd%1d(Y0MDoNF%X7^Z^cWH-
zBG6gJ3>lRX7?mbG%XNt(hm1-ZGRh#LD#nCeRoNKlN)$6IjHxpE&CmcISk?E<&qTa-
zUOZeeaUR9qer3c#emmRxa3CoPjYK@o9W6zRdY{1oh^#Ojh>pOfsN7r@?RXtIWT3pe
z<2<4UaiKzIYk&oH%Z2$xAJ6Jj>@1&%prCF<ozMyr%WpqEP>;`girk<o{n(8>h8xnG
z1(7GtUs6?t?!RD;&>kLu&VIv}MFAM8HYI};y0xo&J5`P5*-LY9wdcP~<tE~`PUUu!
z_>FZ8Um)JKnliyu?6Io_B~M|UHc5YOJ1`^oC>har!OzIb03!!QV&(Y7S}>x2J3*<l
z_^MbZT_Mo*6keB+d|6&Ybi|J2^(naMM-1wsHYAB!ax^T9<SLsk;IQK~luL_K9Esvr
zmFaw~=&T&8AmXT`%t$~o>At2+<)y*$8MYt<<G@M6jpMCPa9nWfPlb7f9zkHviqX=z
z@5J&I@pt`zojou5A-fNdd8+(%j^$LLC(@vectntXM3@A|cc2cR?9WC9ul}lMgEoKK
zC!&|>ZRDnI2TZMCJ>9G*ioMi_X9(^pwpCp`68Io7<$i~$8z9P4RoMd~(`G?IASco-
zSDYl{-VZhPhwkx~qpHn={Y2YT08jX{eRI5S(1>f4yS;4zqf5|}q*x(E9&84}SW;;+
z>c2s`HHa<zW)K)!l*VmA-$C5&k%R_q%QxSO<yEP+OyH&BkrChvmZPnXq5XQ@&lkYK
zlOm}`4scLUih%WM+D#5`wWfUu>iKf6<6-#1rRhj6*M_t&z#4SdX1CS%4$3JmH(U!t
zs`Hc-SN#cIQ|y$Pt(@+Xz^QVxj0BX-tM`I%D?*k0LM&*`%y*=%nvwSt7NK#hzP?wf
zwjOT74NkD%j9ZyBnv2(D=FHYTck7aoYmT?97^Zaop7ORSY=d=vPF^9BnM7P7ywrVb
zr%LF|l6*%2i>rPgZn;uY@`*qkDoiEpNe{!Z<9XPYBw#|DuK;#M2xP7T6Hhq8M;e2m
zr;D<s!h5gL#?kUA6xA957lf_4P%pqK5^O9t%2G8}px`8523ofH<~%cw`82+2jWy4V
z9SRw5O3!5Z2!A^15hlkYP`YohBS275K6Y!ToqeBEWO%Z)Uvh3RGbvoctE>uo#l)F-
zdgTTFnrOIhk`|*Ww8$5S@7u^5#f1B(OP9YEYwj=MbH(fTkB5Eezds!ZsnAtZaB|6C
zHI)+js|qmmwN(aQFWy}>Db;`+sT~4GA<A4Z$xlF?g|t(eEn-(&hR^#}jd1sy(PYjO
zH?LmG4Wezef&Z82TwR6p(a1IVw!{8BBy1JQKj{?3t9O7MC#6vJF#%$VQj(*kXj__o
zlOqw|BtzE_BRmSnYsL>^;3`J@Ag-K9Y4c@6gaKt3g5!Hjw&am|Jc?9^O$w<lMu>P-
z(nKT-LyBlN6wxRrR#Q^b24<vSQbUZNpqs(clSpOILQ}h=I<r`=gMhRn^0$Gl+oM_e
zLAb-m#DwZ(%f_?`j>1)@!Lv|R6GlBtkq1nf6Y=IqfXML<mQ2=_b7DjFcpF@B74)}=
zjhrGKi|R~+LE8&skp_#jg33(XdZAweQ;V3<KPGQzTdcor?9jFZf7?w%+YJ7;*+biO
zQ*zWz7bxDN*d%Sy(9S6Tgt<f8BGoo?xhP$Glele1Xr(laE#5eb#lkRW5w?|}l^Non
z^>J2{J%{C6XCXX*!0J-iRt5cy{_}S}J(YS4!duvjaog%e8t$&47|o}jjvV&|uFDIn
zO@m~Yo)urLO`o;v9OyRJe=9_-4NKde`v3}e`soE2t#s0TK{{4nff7oI*cb_j0q&re
zs_r^5|AC2ojoA9YBAzKecp&wjw~z;A$XU@rq#qGEJ@Z*k(lg|n0>uuDyMi{V3)IO4
zQytF`cT+^&hSHyFKeF#7^(`Z_{8r3)&^YoK%nIJ3BExfJ-`(h;9cU(f&k+p|X7F9&
zl?QLje+Db4W(M}$PG&qs@#6asgMIA+f@&YshJn4*7CaR06cg4Z>wZ6U1elExV&Ure
z$%s%lZ8Mf_!s1gU_3fJKFqq6boPj9_s$Ha_<iF)|v3K2g==n$MZeBu=lR+eF1ct@>
z!+`fx&qR|bqvn2*IgmT1C*s-e?aYDe!rfFph`CmTBgBe+d?O6D(Ad$S?RinN{wAI!
zURa+r&TK*)7UA3=5UAr((#1`%h|c)dJq;2Y$LYD%3g)<iWA1?PtiS(`4#}RxrrAqt
zrR1{sjCf0}6o+5DMIggShvy(oN{|qw3<}X0q8Q8Utx4T-#mS?sU9gYRnj^rd2;oK%
z&@RdpFVv*+)8effQ`9FT9Ft+iB0!qVuf^9jsfpo0gk;DA;Onrg2guNOyfAM_9(5Eg
z^yMZdV+7Uzgu0(p{)><XQMtho8Hy$8%ET(QE~ST~!nr}qr;GLt<D*_V3-bWG`4M~v
z{)S<LF7Y&4{4XYP4GIbd^DFTps`jA}^QskxP2$;FW8A}6A$fRZ8T1)Yo6<4j!&-xh
zS}5An;Z+(Xl*toAf_CZcbG!$K_a=$xji$KQulns0Gxa4|*JK^;j<uKmUd-8er_F3S
ziYw%h`E-p;rFB)tVIrV}<%+RP6_$}Ak0uqRs2BZZ4FMp!L0B3`nrAX~Cn>Aa50h${
zQ7=T@i~2oRerD8z$h~p1y(bN9PrJ)BNbk|{mmk8oDKUQg75_8F@*(5Hz81G_O4Hi#
zI+q?Vi;bJ|;&5`@Ey;1m{ki!#)#x7*M>grQe}^8VdeNhE$+%qtcU&&CG33aYDa6r&
zdNAaoXIvC^ofl!7XK=T;d2<oH8`<0v`Mcqc+8c9vDb5@##yzyk7CGGUXNdeOI5r#y
zqo8Uh-N2txqz$m_@1m~*HmxHSwh%yW4_ES!uGyN0zWgedR92*Cu?mwdW|Wk|#p`wp
z1v?dR+;ib`kPnH8Lp}twRWHzXAY=#%_T#MkZz6h&DW(~l?10_s0-v|r@kCP;ZkfKC
z;o&7cv~+?E1!;00J=<p>EwKb;^9_JQ8cl36#mwk~<!fexHO)-3@qj5NrO%{8M8h8I
z;ZpZSu-;|T{rnJ}U29d-hThA*-PIyyYcU>--o7<=axY}i>~1aP_Wc_u_JAapn~{{F
zx`H^wOb=zKU8c9nt$#Zsj%=M2g(vL>Xl4(bX8Wh&`qqu2;o*e1=aJEI+G7!>{KAZP
zm;8C0&bfH|;a~6^F|Y1U{*h>_Gv5A3ytF5bt_QBrNWO1}PzDl17U#pTl1L5_W7<%s
z!<<P|I8M^A6Sd)O&((%^?}5{C3?0`X;_AD2gXpVI=Uargehhz6m>(%KC4lQwmnlf^
z_+QMB6j0=m2ocIJ);dJXBU#yPsd(p#4vt?3!VC5!Uu;~)YE~IQ=DV$1Rv>qx?DOAH
z=EFLi#O7zjgl&@&>)<mjs)b28J|HLKw3lEhgrsg2o3^c6QjUCb-9%)`;OFWtJ<@DN
zltGduW5#7U#d1kbcD)BeK96@stum{53T&nEH1-Fy{{(rzbTq4pQa^`ityzJ!#D#6i
zHVV}`Bpz}0zpsE%v;xfvu0Y8fH%vFVI^5dl)?>_%fa-aSTZxR>%kU>b__=x|5#q8S
z+UY>n{IZ+`NK@!93=De!X@wtBA#5Wp?_$j_auwD05KHW9YV#Dh5`wEPf-NR*t_P`G
zCW^n=GIf3e(FRgr@eN|6y?PE*&r%5D)6ugVk-70KuQ>~17<cj-?N`2XV+$VlQrV3p
z8jb_tVr&+cHbd2j88rWbc-Btm;3M|xDa6d9Sf{9)EiQ%{+A@%I9`uzLgEch1E<#Qw
z`%KKZ4Jcf{A(l7H=XZ+shGdQFGz^nzj{X4~JWw!trQ7k%koS|Jt$RpL@qF1Lq(^#c
zhZpw-6Aj36Aw0yho25u{rs`Z~7VoN+xXTC~N3>op?X>q)N}CU~N?R}1BHL9P+py<X
z;cSB$eIJR!M%^fm5j2BxX*|qcifhd^R?y)ctc(XHt}Y}KkBF^}<HdU=kv3Ln@1YA%
zzb^ejjk*b5<nNm)nx+W)njB&=eWKvcP<Xo@nao4=`s6qk*90$mj`ZM1T)nh~vJ)*Y
zuoyb!Au{hdnfA#ZJihmOQ2qfF#%b{Q>Bm_oAoxXXW8<FtB<c7cGd{85DlW&hX~F2G
zLCC2mmwDX<%=_hb9G8bJ8b>DMC=OahI;Fi3FF;#a!a0(Z7a?s8h$6wd6I<~|967_-
z39E+1zK088-0Gg&j<Sepj<=4$g$dI&c|aTr1q#D(#NH15LG*qJX#}RRA=anOuxJ9F
zpSh<i_%pM_b7OH!4^cdk21TZcPRNTwIm!aXTfx}Z6b(I3f7yUP-eVb`?6HTk4(lYP
zvkKoF*s}VK0%82Cm3TX0g8j2<lmq=haNri^{X#ZaGzz^cNOCzdBw!2;-V5do+@j#G
z{1|RS8gU|!U5n9n3O6NoF?q*Gv2AVW+E(DUnnYUW=d@m5x$`GqR@IXmn`!Bx%hHOp
z6(Z{YWz}r7*^sn54W<_+<H!gbLgNe2?gTUk0>W^R^P6OTRPdcPJgB078`Xa=iiRg_
zyhyF5ssBp!udp{ohUg*n52Ak^zBG~K$9=Q?e={bcpG-(`KX<MCR0X@xO=T6kU`I)R
zVfF2R4|&rWG%0cDq*;)o8_zLs7ZzF}e)Hsb9wFX;GF?-F@nU_G{$CC*5+k1)FP-~N
zeDGwNrXVmn<zFqmiw3kkT{)tTd54bi!`u{rnM#5gCBgi_&oCzqoir5Y{sHmAFD+7&
zAC6P~{|Bg#ijhx`m#Y1vy8@&CCDhR>0F?*%E}xvykM}wf4w4-5iqPT05xjmNs7~S6
z55*aTw{*lT`~TzqDP8W7uMv43`F}0yn_Dup^f$Vi=)#9ZMoWg~8$3^U#M~t8Eu&<$
zde=X%V&aJ4M25ep<K69Ie9OrH`}t1oyhSlg{V%K5U%nYA>jUM!jsEt}0^j~G#!P|l
z?*sjKr{gr>PFXT-a>T?ZWo-%!-0UyM2Fk3>j+lkwE9WHh+?V}5rGau;pu8_ot{3@j
z+cn?eKhfP*Y#TKd!!vQ%d_C~LzjiqAb+=j;<KH*cS_A%VXGNP<uia>xW}2KkEi->w
zX7){{TPwGkrev9>WKNmNHcy$DKX${)wJR%YSB{%TUo3pig2|@ZP3zaM+pw|LR9Lv7
zYE@3wgmn+DJy^eYJ~zyJaC7C_)%TieS5|G>uzKTGQ|-pejVr?so_SI5VRIHtVVHh!
z`^!-r={WjtY5*7Y1OJST_182Sf4>swe{YMw{hL5(|9C_pwfxrLZ~v>#Uk3k8Kp->p
Xzl6ZJv+@4c^?VBq?|E(W{_6h;ckUk*

delta 15623
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
RtT}4@&u_w^QT2x_{|7=?5MBTP

-- 
2.39.1.windows.1


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

* Re: [edk2-non-osi][PATCH 1/1] Platform/RaspberryPi: Update TF-A to v2.9 to fix rainbow screen on reboot
  2023-05-25 16:49 [edk2-non-osi][PATCH 1/1] Platform/RaspberryPi: Update TF-A to v2.9 to fix rainbow screen on reboot Pete Batard
@ 2023-05-25 16:56 ` Ard Biesheuvel
  0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2023-05-25 16:56 UTC (permalink / raw)
  To: Pete Batard; +Cc: devel, ardb+tianocore, quic_llindhol, jeremy.linton

On Thu, 25 May 2023 at 18:49, Pete Batard <pete@akeo.ie> wrote:
>
> The newly released TF-A v2.9 contains a fix for an issue that has been
> affecting some Raspberry Pi 3 users, when trying to issue a reboot with
> some types of SD cards (See: pftf/RPi3#17, pftf/RPi3#24).
>
> This fix is documented at:
> https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/20297
>
> We also use this opportunity to update the TF-A binaries for RPi4.
>
> Signed-off-by: Pete Batard <pete@akeo.ie>

Thanks Pete

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

Pushed as 41876073afb7c730..8164ce412e1a1c31

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

end of thread, other threads:[~2023-05-25 16:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-25 16:49 [edk2-non-osi][PATCH 1/1] Platform/RaspberryPi: Update TF-A to v2.9 to fix rainbow screen on reboot Pete Batard
2023-05-25 16:56 ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox