From patchwork Wed May 29 16:24:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abdellatif El Khlifi X-Patchwork-Id: 44371 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E739AC25B75 for ; Wed, 29 May 2024 16:24:50 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.19583.1716999881362224405 for ; Wed, 29 May 2024 09:24:41 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: abdellatif.elkhlifi@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0665C339; Wed, 29 May 2024 09:25:05 -0700 (PDT) Received: from e130802.cambridge.arm.com (e130802.arm.com [10.1.26.45]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D153D3F792; Wed, 29 May 2024 09:24:38 -0700 (PDT) From: abdellatif.elkhlifi@arm.com To: meta-arm@lists.yoctoproject.org, Jon.Mason@arm.com Cc: Delane Brandy , Bence Balogh , Harsimran Singh Tungal , Emekcan Aras , Abdellatif El Khlifi Subject: [PATCH] arm-bsp/corstone1000: update the documentation Date: Wed, 29 May 2024 17:24:19 +0100 Message-Id: <20240529162420.41184-1-abdellatif.elkhlifi@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 29 May 2024 16:24:50 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/5769 From: Delane Brandy Update the Corstone-1000 Documentation for the 2024.06 release. Signed-off-by: Delane Brandy Signed-off-by: Bence Balogh Signed-off-by: Harsimran Singh Tungal Signed-off-by: Emekcan Aras Signed-off-by: Abdellatif El Khlifi --- .../documentation/corstone1000/change-log.rst | 76 +++++++++++++- .../corstone1000/images/SecureServices.png | Bin 111038 -> 70912 bytes .../corstone1000/release-notes.rst | 23 ++++- .../corstone1000/software-architecture.rst | 28 ++--- .../documentation/corstone1000/user-guide.rst | 97 ++++++++++++------ 5 files changed, 174 insertions(+), 50 deletions(-) diff --git a/meta-arm-bsp/documentation/corstone1000/change-log.rst b/meta-arm-bsp/documentation/corstone1000/change-log.rst index 173823b6..f22a99c2 100644 --- a/meta-arm-bsp/documentation/corstone1000/change-log.rst +++ b/meta-arm-bsp/documentation/corstone1000/change-log.rst @@ -1,5 +1,5 @@ .. - # Copyright (c) 2022-2023, Arm Limited. + # Copyright (c) 2022-2024, Arm Limited. # # SPDX-License-Identifier: MIT @@ -10,6 +10,78 @@ Change Log This document contains a summary of the new features, changes and fixes in each release of Corstone-1000 software stack. + +*************** +Version 2024.06 +*************** + +Changes +======= + +- Re-enabling support for the External System using linux remoteproc (only supporting switching on and off the External System) +- UEFI Secure Boot and Authenticated Variable support +- RSE Comms replaces OpenAMP +- The EFI System partition image is now created by the meta-arm build system. + This image is mounted on the second MMC card by default in the FVP. +- The capsule generation script is now part of the meta-arm build system. + Corstone1000-flash-firmware-image recipe generates a capsule binary using the U-Boot capsule generation tool that includes + all the firmware binaries and recovery kernel image. +- SW components upgrades +- Bug fixes + + +Corstone-1000 components versions +================================= + ++-------------------------------------------+-----------------------------------------------------+ +| arm-tstee | 2.0.0 | ++-------------------------------------------+-----------------------------------------------------+ +| linux-yocto | 6.6.23 | ++-------------------------------------------+-----------------------------------------------------+ +| u-boot | 2023.07.02 | ++-------------------------------------------+-----------------------------------------------------+ +| external-system | 0.1.0 | ++-------------------------------------------+-----------------------------------------------------+ +| optee-client | 4.1.0 | ++-------------------------------------------+-----------------------------------------------------+ +| optee-os | 4.1.0 | ++-------------------------------------------+-----------------------------------------------------+ +| trusted-firmware-a | 2.10.4 | ++-------------------------------------------+-----------------------------------------------------+ +| trusted-firmware-m | 2.0.0 | ++-------------------------------------------+-----------------------------------------------------+ +| libts | 602be60719 | ++-------------------------------------------+-----------------------------------------------------+ +| ts-newlib | 4.1.0 | ++-------------------------------------------+-----------------------------------------------------+ +| ts-psa-{crypto, iat, its. ps}-api-test | 602be60719 | ++-------------------------------------------+-----------------------------------------------------+ +| ts-sp-{se-proxy, smm-gateway} | 602be60719 | ++-------------------------------------------+-----------------------------------------------------+ + +Yocto distribution components versions +====================================== + ++-------------------------------------------+------------------------------+ +| meta-arm | scarthgap | ++-------------------------------------------+------------------------------+ +| poky | scarthgap | ++-------------------------------------------+------------------------------+ +| meta-openembedded | scarthgap | ++-------------------------------------------+------------------------------+ +| meta-secure-core | scarthgap | ++-------------------------------------------+------------------------------+ +| busybox | 1.36.1 | ++-------------------------------------------+------------------------------+ +| musl | 1.2.4 | ++-------------------------------------------+------------------------------+ +| gcc-arm-none-eabi | 13.2.Rel1 | ++-------------------------------------------+------------------------------+ +| gcc-cross-aarch64 | 13.2.0 | ++-------------------------------------------+------------------------------+ +| openssl | 3.2.1 | ++-------------------------------------------+------------------------------+ + *************** Version 2023.11 *************** @@ -298,4 +370,4 @@ Changes -------------- -*Copyright (c) 2022-2023, Arm Limited. All rights reserved.* +*Copyright (c) 2022-2024, Arm Limited. All rights reserved.* diff --git a/meta-arm-bsp/documentation/corstone1000/images/SecureServices.png b/meta-arm-bsp/documentation/corstone1000/images/SecureServices.png index a7df2678269b60dfcf022d97229ce95c2fc641e3..ff7a2703ed8659030cf276ceac6af784b59881be 100644 GIT binary patch literal 70912 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

    E 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

    GPS-BdXK!zB;T)L_!k|i(g>Skz zzfN*v=ng1S#3Nnx+Vuu9nUl_L1$A1pXOMx*?hE2einPl$K>^ z>fX4-3tRbUEojo7E!$^lVyi2Nw4*S97r%c*sF@Pg-_^~?d;et!Mo@yr3q!%<9 zj?791;6}EZkHKsN{+$g!&fW9z4-XBhz}_m6j&u)}r|X>Rd%QD`>wMdvH=$oQVmv=cr) zB;f1l2;zkY9Y_ezU+Ax{tn`f20roetQ%OP!co|dkNgT7yM6d#Qm-=eae&WaQ$e#7L z_cCt(*SpLMMtt}8A%ufoyO(!)wWvE$on+oWs2At+e$jtt!XOWOREL!*%n)v3Yu?~C zryZuGL=r{oN;)LM7%p!XYL1tDFRru2jp8XCoGzRMbD=4^SB?Ey1`!o4bE=nwZT&Ie4J_b8mB+6Tscp|nin5+j63g*a^M2!bF8?X%AxRXL ztn>jdlaF>3{hC#h@pf+PjROe`SR?6^vz_TsaVFJ&u>gKgC;ESKD>e-ltYI@HOj6p7 zA7*uMFb8!qIA&~)gJtcEb=4^3c2oBcO`^l_#Q?9OcSGuwN6#t7E2VI-fA2t7v`+S% zW}5V15km1RArAraFX6n{Ir_Nv%&=Q#zS3GvI~wFfesOW!`v(DufBv^h$fP42 zz5T5HttH3JgT+jlP#zmgx6lV4D`-z^(KBDaem&a3ctd62Bc2Vttw2OVU3N(*7}{sa zjM)TWV4XMIwl60LNAk`Rc))*CMT^Ah469oX&~j8U>gDTHxK?y1*Ts+e7aPu#uj}S; zzN>u8iJoLjbK*9t!ww@qucFvl=hzOwr#4&TGMJOy@t8`JHI|TNkdzhE@?|cPBi^#s zYpkuU)o2K8rKrrA>W2zm<=UieNmZ0VN>mi{UbHwWm4S~3u3IW!D<~)+ZDfgWdn-fz zoRQc6F*r10=e0?pi#%aN_uLQPC}AG%Wn)7MW_RUh&oXtKM#_FaEQ>E* z;QB>#+LqdO;>`=2(Ccxn5Kuna`4DnA*ybXeK;h7u2>o071;>`YE%!|7ZOyu+1B{k?y=Pw%!rk|LMg}2ZfnZ$$aAo%*;QS1*=PYlEnaJS8t0Z| zj3071oRc?9CFgOb&}+|1kcbiTC4E|9k>`)Sntmrrl-m__vxnSIX=`Ew`HpJ6v{8>N zZtrd9#>_UC%8)|~V#C5fm5>+jJ%f`T-3+4QZ>1u$`k6f>`$~<&+n0+BH=nGnEb*Gf z6&NS6+_vOqoiZT-a=U;yR(BjYZ70UE8VXG5N+K9P@)2V7D> zk5khu)MF{cR5kL7ZfVC?J#2A0Cs>d7dyldHvswV{jbhcL2ojI1o!;A8sPmK#W;?p- z8z_EzmIS!Q_($8~JLy94*qGo`{9xaY<=&2`_f;{3@k+@&CW;UJ`?=S&@L)N*Xon!} zS&3a1w{*9!G>We=;B-Vu7&}JR>eqV0#cy-@QZi)T0Y?GRB_bbjGq|MNBSy3dInT(w zR^u#pmnj_~UtG=_akHLy`T!c2c&Al#;r`V;Oc)N>m&`uW13lQUw@KnD?^3-Ir-r=p z=$E9`ed3oyw;6m@+L?_*uM8y3`7TJf-W}kDfmkdfKvy~Ce&rsnZmKh;qX^_uN_SxV zBGGZpJ_b^wH*Wn|s#@E$+4nwfL~{NYlV*weRibAZc_nc=HV+@hV1g#XawBu&+!(9}(zlH~#d;RKcuk&%T!~HknbPr(f-zu~w;`wDyWJd~r&A0J8hCWy$2RGw`I48*2Lty<^y?MIP8x+R zYjVW<1~_@2gVPx0-&GQvb;9!%e*>4Kj0;3iURJ79Vs=Z{n7j=6O(OdU@WBwnPuXCY zTTJk6=okPtRBLNwD4K16J@@e9y+)Z|YqJ*Wyu@J^a}D@)y6;$+3u0VT>H>@p+;G^F zXO~KNAx~Bmc5iguv3>bE%oh*mH4i5-k_Ru*DoK7@yr2qy!%timIJ0Y|5x0Ob2`>-1 z$O0?CX>B3u2>EMDZin$M^x?NI-lb3H9Cc=t%4K+MiDbDc7NGIsbGg%qV8!R{P zA3IPbg7E|M7*Cg@slox~VUdKpCqc*gcb$J8y?#!F9rTYq=PLfO=Os!^9;C3N_LBvk zbF780;&r553Qy=Z(y3`l{$1++mS4>#*u#n!bARl3`-71L*g!|>6IdEx%Je*m zubQp@evWaMPDSd%BB%&6?sZ=3_1k#D0DapSJpSA`Gvf((e{MKEM3hPr7^QEn`(VI% z7>T+ZsY+SO!}A*H$=OEAXCGmUH`{^j?RCthz6xFp-iX+4x949wsJ)4=jg5KyXK4G+ zTHHe)(psRYb0nd`2|{*GEUM%RHgcS}{{J^S2OAs&xuL%sZs0jssK(!t^3)_T_%Lp*4&s#9X93Fb42=vmGJDo7oGp^Iuq(=F>mrbeXMgFyZ!;hc}#$Pd?wGVVp||GmH^ZPGHz^O6U(nxQZT% z@n|j9&VL)qQ2_S|y#gCc%ZT-}x>qj`T1LyJWsa+Y5v;J&`CuB8Q;q8Il%t#MAsh|S zFGXh`P#(<13<@7|3VNJ7l>J!oD{Ga}11=l`Zr$sRnVybIKn%9QSNad}YIpz3)TnfU z?umK5GS=dfKmzDi=i}$ETahtezY49t0JZTsg1z%np}s3;?T&z(_0M&ljSu(C*!Jh| zrO6NB&YBEWy51eX%ZhF|+mLcwJ?-Q%KIk@`MO4{xocG`R(j9m{E*)$1+*zm4R)i6K za{Oh}WOdfPi>kYjYmw%~=na-+*KXo$!`{{(uYj`(f9+Fv$n`KO+FzU*2Hd0O%B`jV zaoxXLPoX=Y5{+Bk1$S164%W2}$nVLw2~zoqTgp(30mRJ6X=B}TNxLQg~- zK`iyz{fCS`5(+56zUE z&-!N-=didZ{XV(a=L3t&^9Q?AS~*=)B?9%YT~;$$5WQV*DW4 z{cxH!DWTh&c?-kBpK4y{X}x0@R4`ZZ;xdjtx*9MmCG<-a_q3G z#U|}gHEb9ev~L14>BA}hI{WQyhguh6x}P3cnp-+Cv41xD;<@4`bo#WHET=Wl*C$uJ zxl!6uyI}uat#skcyf~_RgX)fJ%F(-%!wS)bgGrQ_H7G9KEEc{UU|5sIN4rzeiMI5} z6Bu6BN|E*p?G}T*#P1SI^EYvr*fEkrEh)HMyu5eUIV7IA{Fm`x_rNCF`UordjRGZ( zXKe-u5I2jj=H59C9umBF)2uIH{N;4Y;_a$7BQLf|>yn&tv^p#LWOs)!qey&$(*mDhzl%w|W8}LvuosP8BA|f7K0^NH?@`NnnG7cNvbdR5 zl&v*!McY9u6b{0WE`;;9!j|4!wS*HJe9Mza$Ase5SKH%n3Fj8FL*{=h+C`Rr5oKfJ zoc7=^m05ipA{n^|hbO7gHUDJC z%2n674SV>_<|5)+G=4%a-g2wso?c{ zOK8V52N5?ZzJJ}`WR<=pD*>T9BXqNoK`2yLsfcnbd3R+z$Dovj_1?mJ-uc7Pn{maB zr;6l;PgIx7x3hVyyNOv=-{8XDlLVH9Nv@~io=Tz|KH-iL5kGN|VHZ#5|2rhDq@2N8 zYD@-EE$udQf9=OKY#aFz;viZGRdNu5)2U$j%Ar8o+=$H8QQ-#c!5h2?a8GQ%BTtF_ z;gL_9&Pt#qo&Dd3EgIkczs;{byM_ivl=})}@kkvrRFCdEH`tl9LWDypbm4Q;=!@9> zkw8Nz@&7ctKw66Yv2KF>U2^MGncS{Yry3QAGR^77`;1MJtoNdmRN7QzHKnvVJb zPGAjUz#0mO(uQ8v)!#oich}k#@2(ht@wbn@ySn70U?77kg-2S^eaFE(i`)pxygQ@= z(i(krETk>0I7HO8HSb>n;?r$V3k~e69&iQ>rd<$sI>Z`p4OAU7<{``}q~@vHt(eI7 zaF=k37YN!-+SV)e3C!ZT0agj~)i~P%0L+{>o$H7wKRtmeXF!TkA5;~Ly#P7B>o`E% z&I71$EOV@Oh5^5xO=S!y%5s*EKOr?{*5seOnpdQfIs|epQdwS>Z;E?AEP~ThCZUTM zIbq&2n$G%#)>z3@CfY|_4%)eRows(|xWF8|4!f%=W8m0iPa&Z^RR=RrWwfyI0@VD7 z&mmrScsNRB+R`8i7f?qsZq0xsApy031Av2P5ZlRfaqIw2fo@PEdv;bZpNK%lI&Dn3 zy<=r9&Clu$-^8C64Amxm9z6(PfZ7&uU*Kt7PvMzeZ*ODzhC_brdZhAFh!MEb0={`0 zBpVJ9D;fp3PX{ZJTD3rSPjM&l&JbYU(6OzZHvzb&ybwf|=S9Qv&jCCD>l>GWWNa9( z8#s?>w2StlAcl?;P#k>@IE@qa{%2iLYJb|*=n(w3sV^4!T~oA?x2ND{!_FK~6pVyK zWue}&*YB&em^G_BN##A?3+E6cC4=OSR1uiu6Y~QRI*$b_GOkU>#>RH}-@yd;9Azk8 z+@z7X(!dPz{)MZk>xK_~RGwZazyRgJW|OfVfaQa5s{ERvb6jkR?&z~VjFXgs#n0T6X1qy2I7 zn+bQHz5?PcV9vd?PG+n`-b_TjjxgUK*I<>5fb&2-NZBy;qN4r!g&|E=;E$P)}``-{gF%) z?zjWl2XYsc0K}XO2<|V@9YT@_kg5|)5u|3peXazH?+$X^xhfOqVAH zAQFS;pK)%*uO-m9j7b0{H3LDwEua)J$cuCbG*hh?SVxoZYZXI}AVE&*YRaJlxCF-CiSP2N0-5HhP->%gpMWBt6|k<_$8Mzro5GHwS$)gOk6 z?{`LqaI#%GUSqAdB&}0i=6HbJqIKojA(6wwTn$1d#Po9MLkz=$?nqJI-ya- z$IGG7&RT2cJt-&qVsqXbG|U%Ar09vm@~~xJOX0*mZfU!z@-sa^V1z7VdE`OV5eH== z4%I&FL3!LeWe3tfgAvHW%2>h7g__xSyr0_v&mMn(_Tvqt3XrNo9VSNE>J1jE4`l7F z@UxwksV|R2XlMQ$008$}5QKmjSv6*i3vmoC5+N@Hfq?~wVmpC%o?xQ_(DsdjvodX& zRigm&ZCxd9IsUFl9u-XUkmf)%dXdjq$(P|IF`zFpWb-=xGZ|sFkM1ZTz5bcQB@MxY zg_e1)dP61=a-)Y{zn47(H_<<~Tj%QMS2vp?XIwV#v{c=o_d7ZppVE4Sa&tb~*{;?L zi@x_QiHU=wsYAXS#Vot_;@b_Ix>u?GRcxuhMhT2NjAot+!t?2gzK!uWHAv0kJXIOuUxlRI>ZdjC z5KDW?4Y#_OFb7@@1*{U3*z){S&ktCLk&xDb7?qr#xhiQAMy*Mc6*6tJo=1C@xHJ4T%4GTy~D%UT(HNwQ5RA4Zex z8t(wyPFe%N7%WUtO|xV%kR~9O+n(R_Qh^~ zF+r^BJgLb8IesR~&K|I7|IWJplc8xFm5q5ArfgTEUYf;5=>A^)?crQc_KNO+OGbYA z0{VgPy8^-ak$!Q0L_c17s|8HF;dz|%GqxZEntHcJQd?uO;bPZ}9L{vt^9vdikH0^| z5VZf5N4D;LUS2&9U26-5SUL{GUSG{3D`{&MZb|sDsNt0WXa@G!!g{$HmU2*gSKHC}3FF+YG3ed>$eT$@zxGDbS~ zjkeDR-miPp+Ag5dOpE#)lN#5Bt(=z|zy5r_Z8-Yyz~Aec7ytL%Hj^}oTk6-46)3ZX zi^y>b8P?ST{5K+2&!|sqiS`y2H8_x35ul5#!2Cy?YK)x+gWfB3rbw=^j3aCwhc zk%P!g^>1YM{B?7$5=H0uJsQ?HnyvU<9k-})l>6q;ow89K>JG}|X;wD&+BZwFw?rnh zjW$1JPhClCVst0(9S}0oRz)5DTn*F1qWyTV=X$G)Hm8Vj_L0})SRHFDS&NfVJo1UY z+EyXIK>AJnH=l@dgFq=(>30n!Y~d>!L?90zJb17g=X?M2&!ZQP)1nkD_?QfhT2IK* z$c&YoQ8nGfu%;6p1%mn);n2+qZ*p4zioKVo^2!z6kMHa(Zy;g~jQT{MB$v7j{g^hb z$3KX8aP}g5DK>Y=PCz`{b2rht_8aZvci`oit^nzG5aq8%a0OQr3CvM;QOi~-wRixalG1c*k-zSdyDn1Lk)(-44I@|5uJ z6^4LV<uP^T<2*XVy@XnIRe}lTm#|8p;3LmhHnEXAx*$IQEnty-wv%O0d41IuZmbVMXj2=QPW$8#$L zBjHbo2^KZz^S>7^3V1S0vt)gP2SDPOOjKAx^qrukD`%*&r(3}IHrI9quJ22bF`sKm z(QJW$oA0;^mT^FoZuLLr$+=0(gJcch`uBT5z!Ki@&}f_Pdzm)xAJ~qOHG9vMQq@Xw zDWAZ8Ja9t>;Hodd^>p9)z_=gPf5Dv%r01G?9YItg{#Mg#I~QAbDal=q!1KDis}xjvwbOV)X;cf;Nl14O!4 zzPBdVi{s6&VI&5Kw?pxE&voiviS!tsZsSnfQ#4lD)vI-<^^q1W;JGC+4uC16m)xUh z8@?+5BdZh$rqlUwkwcC=Oc}%^dGekn{W0$b33oKNeWIUu-^KGN8G9+>p~uxpmm}3n zf{LDJ;O|H{``*|B5hJST6>KVN)&vAIu*|tW0x0#wbRgmim+|p;c|y?pUZ_=t;HxDG z$bCYIT-n!r2KKNb5M7TWvWl#fE1rtxa>g^Z*R|ccAD2~^__=|N1W!*__w(A5u8$Xa ztPeMCt8a>e1>899aK;Uy9~F7+NmQZ$1;q90x%jXx94X^a+PQ*|z2|YMHiKWk5;Z+n zU`|R(>ebBMFH#$LbC~Y_eZb}Re4gl|=OvDNg>@b|+h5Q57WTXmnb}K<`FomBDJFXY z`+MUPV3eGj@{N}@1c!s(|1Y=80Nh={VudEfAnQ{2smjM&8qr_bBcK1&-m5%z&I#5$ zx;ZXWdCYMUbgY+(sa(EPyUp5U{|;e&Iy5yNJ$pL z1K;c7Ja58>9gXmRly90KKV@G}LkbPtlC9)8bzJw^iEUT`<<-|!ibSC5`4t@;rd2SprFKW2(TbE(x9kfsevl3 zeGxK6bHMewk!wGaoeCP}euaTzc5Uve#X$Ui1}6!!qS%HaN?Lc#xgvLUDO@Beq!|=m ztH_;!*GYPSS_Xf%_&aprVd$QPt%k?oN$t8~@V->_yM^-){lwJs2p#$j3=FDE52Ym3 zr`5gm_nI_N$Kd& z>w-e*Crs!iqlc5(Ta(%i%w*gKN$^`ri6%TqzJhGMYTKfO#n&Px=7K*izx`9!#OcAi zjxUjZ8Tt;2wISEur7)?1oBBxczCt27MY?Ppp z4Xl2hW<^I7BEI_t>`JMr;=H!}hG0pzux?gG+XM1eDm|vWFM2TcijU4Iyl+S!^wq!~ z(1qh%lyZHg8HsWud{$>Ul#kVO2i9Kp5-h&*VS{IsPlLlcE?>yRcc>#85JHP76&O0!oP5p)BPp#pOoS*2hKgdHP zQm0oHgtHU>8IjqD)Xgs?uM@54p2Ubp8)S|f=@_|%DombAp-Ppaj~W=8B`1aA1kLYq z&jAz*HZ1SrK+up=C%{yI>)*6<8;{efkDZc7U_l_#`Y2+6K9IZcq3gAmXzr$6f8LA} zj{$0)C30Ov{7Pi0(0XzmZ(CLW!o=~Bf^P>8HB2bMZ^=AuO}rj{n}h&!dS>$L*SnJv z*6SP<8aQarSobbb3OFkV;3X0Q+$ zIu*vhPYd0c+kZve!S-m!YP8CO7->zKC7OdHl_sdp=&`?MDMd|YzpLgTBb~TpWohY9 z$8~*?06;xlU-~i=b-aRZ(K;m=_}Ihpe_oSYrCxzpZIkw&saCEV{CUA{FxI{$m)z$R zI*7jdfjgIok;%`mw2RX@LnF#22)<1B#P{E|8hxdZmm&V|19bm=062|lC>1nAcWj-y z#9OIyrhK`HwLc8#jc zs=@yKV;N9*nkRVcE4~7S4vI9_@Wq>9|1L)nR-Br&FZLW+j$0*ivhvU3Qoy@RN5eH{ z{c%%x03za!>k~Y<+AZjyT1mISfRSU@h<@8H<0^LHsEKC1Dn(Z;&|6?IStR|(sOY~M zy5Q>|zSZ>KdGP<9_kF8_|44EU%6mhcy8ydu1V|2^dhtJN$Aj?QKv9u4;-(jn+cJFd zRPgtAKZtLgw`m5jH_QW2aO~14Oa9Vp(nmz6#p{4p@KgctvI^9K7MeMry$}uR0#G~C z93YgfB*I+QDs6`0b^x3^CtxQ~|Je?utAKoF`5NfX-Ub(WK-{{<@HkuXp}w-mz1*9i z>p*aMI4|mO&(3Ryy2a`DuOC6Hqt5+b-#;Lo(OQ1fbh>W04H`_kfxPmFt?FpIY}Q%L zzDFx)@^~eZKy1NP{|1%V^Xtk8k+G7>#s^-aTsgYpxc=Zbsu(a#l8X&$Bv>lrpP=^X zJH#)_Q9Y#wapI1HB#Y^c=K&cRC4?7G08J`A#vbLp{JchT(-6U?cBV7bXGO+ng+}R= z4aiUjU8MybKt=2z3kT8Ajsud_-YX*S0Eu9*^PItVkhhD06w(Sa1TkrH7$d6D(NVFv}8TW#Or{!z#!|lrywE-)UWeSwwZUAJ_**$=` zg9S8Ugh48`WqWA7kYGYkP2iRsBvlrshcqqqfnfA=kVEeVjZw^}M|)AA+n33u);!g% z-6YH+7I5yILll-$HiL>85a~5G8`NtAe0&SGlB!wgnIcxUUDK)N(ZQx2k4&A*IxApk z3@tr|TCIRcyG+r?ecferVG^otCBJLs=ymHVYq(y18Tzl+ylDP%~#akFQLl&B0;mj%;@rn3sO710G<DDkOerDDij;-L(+vDq!r>jjJk@)DZMO0i3hz`$nf1 z3bjoZ3&Ri-3E=##6b5pufrvZ(>EOquZ1)2k3zyJf{`*lCV?lc^DOZ`#( ztLjr3UX@+lr~YJfkV1RyVycj);5t$^0Rj4CC`A&VW{d(}mfPom>(>+@Itq<@K_!W0 zwmlTdu>%|?HEp5}pyHUR;Q0uW=%E68z~o$SqfeHVy?J0?pgiP+2k7ilOmm(DnR+Xz zsl(K(x`QF)y524-ZLmNcrOGX{Ibvg#IIm`8WVZq(+_QiPh|I}KVENTY5!#Q7lFg%D&9cgJc$@^xn;*8h9q@WF#$Lr*Gv%9P- zK=Cx-?5>Ru#i!?W*Hzv-|08?!2m={JgF*FIhWtGJ`=#qao;w#uS~4o%z}Csz6p8 zkJ_ZV{eVLG6DPK4+J!0L5w4m|*ojoja`nm&h_1RYlj&60^r{UMtT$y=O$M8>*4*&i z9gxuu*?8Q@Y85k!qLjQ?qy2)9XP}m|Y?h>bCl1sPW~`MTV_qp``8a;9ltrYfZv++f zmVjrPIv@AWX&5dj>w{=~05>l9^T5jo=tQN@!}BoT26A)GT^ee-aKxYUxs41tYy`># zrGQd}pQZajxip`GWObEP!Y5rB-e*o*g|DO|ZB$q3-uNPO<=}$(Z0TDx$#+Xsbra+XuL!wW2IWZRE5pC?LuFdvuF=X;}$8nC`IP2jH`^$iuM9Yw2`V})*uG#j$WXQY5Y zUhLSp_L%_#%RfA^`E`hLLQ#-2>(2MCxP%$^k7)#H?*O6Q2YgA=gzFj-(!AUd=`}UI zM88y86UDEVVOpTztiRIylQ5-=W#Qt{ecI>RzVg zirkmdx@BC&B=Ca-T&kX8FP&r_4>&9Hj=%JG@c2d3i*z6t*1nJJ>+*MPGPN@c?QouT@`iD4h?2=&kjZxBp~VxviWvoR#hUHC$6fmy(K z19j(%j(5(LhswzU114W`3HhGo6pB^odz_B)dJI<|1>7T>cfyUQD>Od3)qRE+2jbv|+^2@C*)BlYLXA)crw*@X?>_g=Z>UaDA44BVlJj&5~Xbm|L5r z;rhfr=%cd9AVB9FOE^bJX@>gsePY7C=5uik0zhGGUnrEO|NTnzwer8AJhfNrz=NcJ zBJs{gtCAp~9sYDAiKBUCz?cMpm;6BT6;JNkRxn1tM)8z?Y3e@*h2gq8?W6cK?tg;t zStt_zZy$`p*ilhbxwi8PV{6Sn=`Ih^#Z`8#yI@-UbFi(+zag|XbRBUnX;gVNB2f_! z$HZ=BY8JjmdabR2PF&anq;v6J|9fk=7haMu$v z!Zx@xHy1WhzhMmy<0blk7YUyUwIn0+&m=>^?UrBl$|^3iHjPxsL$Jn*u$~9p5~@A8 zu-0-4+s_^1e}nx?IBazh#Q#k3+5gX`=x#X(U=EDD=6!rs{fP*L`>q?-XWoFjYaYnh zLuYpVp1JB3Q0Fss1EI6f+9o)7nKNa>VmqU5LFL|cW{S6u;(!%^Fir$?ojO)ESQd`` zxnqw4qA*Jfi*V3pK_(==^syY?9(I!p1c8y++1WidJxKkDjoW{WnL@tgejpkdm93b- z0Chxzsw-jPsS2@dTOx2@%CWjudD^FsKjml@8}e9>-L(W@M`A{q*19msHil+lb$0K7 zZ+brkod}1-{&BC$GxZ?dK@SO*C~SNt$F3lOL=pJz-BWn>?Ae0)HdS1eP%ubc=KAgV zlb{GP_9mG0jG?po79fiXNp_jAgv7$iCuR!%8T6j5Bn_~Wf>!bYv{eiOx9pg&g3;}!!8>9uBA`{H6DCvtQUstd4JN?Yx33Pd#D%kVa> ztgbqCpL99uPwe6vhbkq$Lz96O3?9`h2PIx8o^t}A>PkBZ%m9Q^UEVc%?Tu)afdXzI zI%^)$>+rKR2+~h;>&9vsqHh+CCeX6#4Zzq+CUn*1V1dr))cxfQ?drt0G(wth@F7w+~+$ebmM%hKrJecDwP=6x(^)L7j6%8!$BJrvGbF1h^Hhw&7j^T z2E>=zkicCnxFq9OKgkja9YDv)rN5~1iPN?%Qb+v!vav>m~< zw+qzK=OE4P!b)(8>Bs7rQSKaWf{t~N=VFki14a(#qR0trb#!>Cq`Y$rcsv>lO@bQ# z3NpXqbok&SmMU3&4Zs<@MdVB~K(~L87$$!9M)biSti6vm0kbylch)*=-zUIzW35g| zy1aeC`C)R|=@Deypz9)P(t;dT`%l*emCQIFt$c~ugAh#+M)84-mn9K%e+QVwqI9ZD zh}@smlzvNjg!cz!j%h3y{e;7(V2J_#iWwX#C?xJU_s`mJ+ngamC|d}I^T;++2Yc?% z+D9R;n-0CW{V5TjL)RArJ_r^z`m)AKPY5u63bzRk258n3U$8*mhHN@uPZY@{(S5BQ zMHC;_X5ig%*l{h19>doJyyeKPjEYHkpn3JFpYv1VCk_7d%I=rI!3HQLNYi4fncX_v zR`25lh~EW&`^tfthM4$g!d)M67x;C%@zQK&fb0hfV+h+rMl$4!j;vQP^5D5}@V6w* z8M!;)xr+v`eKEmvvE~%(V3^oU0OAvc9hc_s)^WIe5A_D%-Qoizw^=;tQ-d(EO=Nwx zVrh`N0PZ^l{%|%{OszEA`~3gxA8?9F0XTBty|hjXxDihwpzpwskB?J<_g4Xz&$DQ7 zumIu>iP}1GMc2IJv_K-16qb(7gya z9?$T2ty{w#KH%~?Z{R|P=t76~Of6`qk!d8w1cI9bjjG z)l6srZh>RjpuyEB#c6Oai{->yU`K5`XpKp!Y@0LGwh8RO_^b?Aes+;i!XDA9pT9^m z0To%zzs2K7cO0zRM>68-k2nG;V2ilXSGP^$NyKp Vduv3Fm@+c}fv2mV%Q~loCIIsP)e8Us diff --git a/meta-arm-bsp/documentation/corstone1000/release-notes.rst b/meta-arm-bsp/documentation/corstone1000/release-notes.rst index 501a153e..0cad0266 100644 --- a/meta-arm-bsp/documentation/corstone1000/release-notes.rst +++ b/meta-arm-bsp/documentation/corstone1000/release-notes.rst @@ -1,5 +1,5 @@ .. - # Copyright (c) 2022-2023, Arm Limited. + # Copyright (c) 2022-2024, Arm Limited. # # SPDX-License-Identifier: MIT @@ -19,6 +19,25 @@ intended for safety-critical applications. Should Your Software or Your Hardware prove defective, you assume the entire cost of all necessary servicing, repair or correction. +*********************** +Release notes - 2024.06 +*********************** + +Known Issues or Limitations +--------------------------- + + - Use Ethernet over VirtIO due to lan91c111 Ethernet driver support dropped from U-Boot. + - Due to the performance uplimit of MPS3 FPGA and FVP, some Linux distros like Fedora Rawhide can not boot on Corstone-1000 (i.e. user may experience timeouts or boot hang). + - Corstone-1000 SoC on FVP doesn't have a secure debug peripheral. It does on the MPS3. + - See previous release notes for the known limitations regarding ACS tests. + +Platform Support +----------------- + - This software release is tested on Corstone-1000 FPGA version AN550_v2 + https://developer.arm.com/downloads/-/download-fpga-images + - This software release is tested on Corstone-1000 Fast Model platform (FVP) version 11.23_25 + https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps + *********************** Release notes - 2023.11 *********************** @@ -213,7 +232,7 @@ Support ------- For technical support email: support-subsystem-iot@arm.com -For all security issues, contact Arm by email at arm-security@arm.com. +For all security issues, contact Arm by email at psirt@arm.com. -------------- diff --git a/meta-arm-bsp/documentation/corstone1000/software-architecture.rst b/meta-arm-bsp/documentation/corstone1000/software-architecture.rst index 8de7229f..dbac5105 100644 --- a/meta-arm-bsp/documentation/corstone1000/software-architecture.rst +++ b/meta-arm-bsp/documentation/corstone1000/software-architecture.rst @@ -1,5 +1,5 @@ .. - # Copyright (c) 2022-2023, Arm Limited. + # Copyright (c) 2022-2024, Arm Limited. # # SPDX-License-Identifier: MIT @@ -52,7 +52,7 @@ secure flash. Software running on the Secure Enclave is isolated via hardware for enhanced security. Communication with the Secure Encalve is achieved using Message Handling Units (MHUs) and shared memory. On system power on, the Secure Enclave boots first. Its software -comprises of a ROM code (TF-M BL1), Mcuboot BL2, and +comprises of a ROM code (TF-M BL1), MCUboot BL2, and TrustedFirmware-M(`TF-M`_) as runtime software. The software design on Secure Enclave follows Firmware Framework for M class processor (`FF-M`_) specification. @@ -61,7 +61,7 @@ The Host System is based on ARM Cotex-A35 processor with standardized peripherals to allow for the booting of a Linux OS. The Cortex-A35 has the TrustZone technology that allows secure and non-secure security states in the processor. The software design in the Host System follows -Firmware Framework for A class procseeor (`FF-A`_) specification. +Firmware Framework for A class processor (`FF-A`_) specification. The boot process follows Trusted Boot Base Requirement (`TBBR`_). The Host Subsystem is taken out of reset by the Secure Enclave system during its final stages of the initialization. The Host subsystem runs @@ -70,12 +70,12 @@ FF-A Secure Partitions(based on `Trusted Services`_) and OPTEE-OS linux (`linux repo`_) in the non-secure world. The communication between non-secure and the secure world is performed via FF-A messages. -An external system is intended to implement use-case specific -functionality. The system is based on Cortex-M3 and run RTX RTOS. -Communication between the external system and Host (Cortex-A35) is performed -using MHU as transport mechanism and rpmsg messaging system (the external system -support in Linux is disabled in this release. More info about this change can be found in the -release-notes). +An external system is intended to implement use-case specific functionality. +The system is based on Cortex-M3 and run RTX RTOS. Communication between the +external system and Host (Cortex-A35) can be performed using MHU as transport +mechanism. The current software release supports switching on and off the +external system. Support for OpenAMP-based communication is under +development. Overall, the Corstone-1000 architecture is designed to cover a range of Power, Performance, and Area (PPA) applications, and enable extension @@ -113,11 +113,15 @@ of the device. Authentication of an image involves the steps listed below: In the secure enclave, BL1 authenticates the BL2 and passes the execution control. BL2 authenticates the initial boot loader of the host (Host TF-A BL2) -and TF-M. The execution control is now passed to TF-M. TF-M being the run -time executable of secure enclave which initializes itself and, at the end, +and TF-M. The execution control is now passed to TF-M. TF-M being the runtime +executable of secure enclave which initializes itself and, at the end, brings the host CPU out of rest. The host follows the boot standard defined in the `TBBR`_ to authenticate the secure and non-secure software. +For UEFI Secure Boot, authenticated variables can be accessed from the secure flash. +The feature has been integrated in U-Boot, which authenticates the images as per the UEFI +specification before executing them. + *************** Secure Services *************** @@ -177,7 +181,7 @@ Image (the initramfs bundle). The new images are accepted in the form of a UEFI :width: 690 :alt: ExternalFlash -When Firmware update is triggered, u-boot verifies the capsule by checking the +When Firmware update is triggered, U-Boot verifies the capsule by checking the capsule signature, version number and size. Then it signals the Secure Enclave that can start writing UEFI capsule into the flash. Once this operation finishes ,Secure Enclave resets the entire system. diff --git a/meta-arm-bsp/documentation/corstone1000/user-guide.rst b/meta-arm-bsp/documentation/corstone1000/user-guide.rst index c67fb6b0..9e3b9dfd 100644 --- a/meta-arm-bsp/documentation/corstone1000/user-guide.rst +++ b/meta-arm-bsp/documentation/corstone1000/user-guide.rst @@ -71,7 +71,7 @@ Based on `Trusted Firmware-A /meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend | +----------+-------------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.9.0.bb | +| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.4.bb | +----------+-------------------------------------------------------------------------------------------------+ OP-TEE @@ -79,9 +79,9 @@ OP-TEE Based on `OP-TEE `__ +----------+----------------------------------------------------------------------------------------+ -| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.22.0.bbappend | +| bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_4.%.bbappend | +----------+----------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.22.0.bb | +| Recipe |<_workspace>/meta-arm/meta-arm/recipes-security/optee/optee-os_4.1.0.bb | +----------+----------------------------------------------------------------------------------------+ U-Boot @@ -107,7 +107,7 @@ recipe responsible for building a tiny version of Linux is listed below. +-----------+----------------------------------------------------------------------------------------------+ | bbappend | <_workspace>/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto_%.bbappend | +-----------+----------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/poky/meta/recipes-kernel/linux/linux-yocto_6.5.bb | +| Recipe | <_workspace>/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb | +-----------+----------------------------------------------------------------------------------------------+ | defconfig | <_workspace>/meta-arm/meta-arm-bsp/recipes-kernel/linux/files/corstone1000/defconfig | +-----------+----------------------------------------------------------------------------------------------+ @@ -120,7 +120,7 @@ Based on `Trusted Firmware-M /meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_%.bbappend | +----------+-----------------------------------------------------------------------------------------------------+ -| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb | +| Recipe | <_workspace>/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_2.0.0.bb | +----------+-----------------------------------------------------------------------------------------------------+ ******************************** @@ -158,7 +158,7 @@ In the top directory of the workspace ``<_workspace>``, run: :: - git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2023.11 + git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2024.06 To build a Corstone-1000 image for MPS3 FPGA, run: @@ -396,6 +396,7 @@ running the ACS tests. **Common to FVP and FPGA:** :: + kas build meta-arm/kas/corstone1000-{mps3,fvp}.yml:meta-arm/ci/debug.yml --target corstone1000-esp-image Once the build is successful ``corstone1000-esp-image-corstone1000-{mps3,fvp}.wic`` will be available in either: @@ -411,6 +412,7 @@ confirm). Be cautious here and don't confuse your host machine own hard drive wi USB drive. Run the following commands to prepare the ACS image in USB stick: :: + sudo dd if=corstone1000-esp-image-corstone1000-mps3.wic of=/dev/sdb iflag=direct oflag=direct status=progress bs=512; sync; Now you can plug this USB stick to the board together with ACS test USB stick. @@ -420,6 +422,7 @@ Now you can plug this USB stick to the board together with ACS test USB stick. The ESP disk image once created will be used automatically in the Corstone-1000 FVP as the 2nd MMC card image. :: + kas shell meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml -c "../meta-arm/scripts/runfvp -- -C board.msd_mmc.p_mmc_file="${/ir_acs_live_image.img}" Clean Secure Flash Before Testing (applicable to FPGA only) @@ -432,8 +435,8 @@ boot. Run following commands to build such image. :: cd <_workspace> - git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2023.11 - git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11 + git clone https://git.yoctoproject.org/git/meta-arm -b CORSTONE1000-2024.06 + git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2024.06 cp -f systemready-patch/embedded-a/corstone1000/erase_flash/0001-embedded-a-corstone1000-clean-secure-flash.patch meta-arm cd meta-arm git apply 0001-embedded-a-corstone1000-clean-secure-flash.patch @@ -515,7 +518,7 @@ certifications of SystemReady-IR. To download the repository, run command: git clone https://github.com/ARM-software/arm-systemready.git Once the repository is successfully downloaded, the prebuilt ACS live image can be found in: - - ``<_workspace>/arm-systemready/IR/prebuilt_images/v23.03_2.0.0/ir-acs-live-image-generic-arm64.wic.xz`` + - ``<_workspace>/arm-systemready/IR/prebuilt_images/v23.09_2.1.0/ir-acs-live-image-generic-arm64.wic.xz`` **NOTE**: This prebuilt ACS image includes v5.13 kernel, which doesn't provide USB driver support for Corstone-1000. The ACS image with newer kernel version @@ -529,7 +532,7 @@ USB drive. Run the following commands to prepare the ACS image in USB stick: :: - cd <_workspace>/arm-systemready/IR/prebuilt_images/v23.03_2.0.0 + cd <_workspace>/arm-systemready/IR/prebuilt_images/v23.09_2.1.0 unxz ir-acs-live-image-generic-arm64.wic.xz sudo dd if=ir-acs-live-image-generic-arm64.wic of=/dev/sdb iflag=direct oflag=direct bs=1M status=progress; sync @@ -549,6 +552,7 @@ FVP instructions for ACS image and run ====================================== The FVP has been integrated in the meta-arm-systemready layer so the running of the ACS tests can be handled automatically as follows + :: kas build meta-arm/ci/corstone1000-fvp.yml:meta-arm/ci/debug.yml:kas/arm-systemready-ir-acs.yml @@ -565,7 +569,7 @@ If this happens, please apply the following patch, rebuild the software stack fo :: cd <_workspace> - git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11 + git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2024.06 cp -f systemready-patch/embedded-a/corstone1000/sr_ir_workaround/0001-embedded-a-corstone1000-sr-ir-workaround.patch meta-arm cd meta-arm git am 0001-embedded-a-corstone1000-sr-ir-workaround.patch @@ -605,27 +609,29 @@ Check the "Run SystemReady-IR ACS tests" section above to download and unpack th - ``ir-acs-live-image-generic-arm64.wic.xz`` Download systemready-patch repo under <_workspace>: + :: - git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11 + git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2024.06 ******************* Generating Capsules ******************* A no-partition image is created during the Yocto build. An update capsule is generated using this ``.nopt`` image. -This can be found in ``build/tmp_corstone1000-/deploy/images/corstone1000-/corstone1000-_image.nopt``. +This can be found in ``build/tmp/deploy/images/corstone1000-/corstone1000-_image.nopt``. The capsule's default metadata (name, version, etc.) can be found in ``meta-arm/meta-arm-bsp/recipes-bsp/images/corstone1000-flash-firmware-image.bb`` and ``meta-arm/kas/corstone1000-image-configuration.yml``. FPGA Capsules ============= -The generated capsule can be found in ``build/tmp_corstone1000-mps3/deploy/images/corstone1000-mps3/corstone1000-mps3-v6.uefi.capsule``. +The generated capsule can be found in ``build/tmp/deploy/images/corstone1000-mps3/corstone1000-mps3-v6.uefi.capsule``. If a new capsule has to be generated with different metadata, then it can be done by using the ``u-boot-tools`` and the previously created ``.nopt`` image. For example a capsule for the negative update test scenario, if the host's architecture is x86_64: + :: cd <_workspace> @@ -633,18 +639,19 @@ For example a capsule for the negative update test scenario, if the host's archi ./build/tmp/sysroots-components/x86_64/u-boot-tools-native/usr/bin/mkeficapsule --monotonic-count 1 \ --private-key build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_key.key \ --certificate build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_cert.crt --index 1 --guid df1865d1-90fb-4d59-9c38-c9f2c1bba8cc \ - --fw-version 5 build/tmp_corstone1000-mps3/deploy/images/corstone1000-mps3/corstone1000-mps3_image.nopt corstone1000-mps3-v5.uefi.capsule + --fw-version 5 build/tmp/deploy/images/corstone1000-mps3/corstone1000-mps3_image.nopt corstone1000-mps3-v5.uefi.capsule This command will put the newly generated capsule to the ``<_workspace>`` directory. Generating FVP Capsules ======================= -The generated capsule can be found in ``build/tmp_corstone1000-fvp/deploy/images/corstone1000-fvp/corstone1000-fvp-v6.uefi.capsule``. +The generated capsule can be found in ``build/tmp/deploy/images/corstone1000-fvp/corstone1000-fvp-v6.uefi.capsule``. If a new capsule has to be generated with different metadata, then it can be done by using the ``u-boot-tools`` and the previously created ``.nopt`` image. For example a capsule for the negative update test scenario, if the host's architecture is x86_64: + :: cd <_workspace> @@ -652,7 +659,7 @@ For example a capsule for the negative update test scenario, if the host's archi ./build/tmp/sysroots-components/x86_64/u-boot-tools-native/usr/bin/mkeficapsule --monotonic-count 1 \ --private-key build/tmp/deploy/images/corstone1000-fvp/corstone1000_capsule_key.key \ --certificate build/tmp/deploy/images/corstone1000-fvp/corstone1000_capsule_cert.crt --index 1 --guid 989f3a4e-46e0-4cd0-9877-a25c70c01329 \ - --fw-version 5 build/tmp_corstone1000-fvp/deploy/images/corstone1000-fvp/corstone1000-fvp_image.nopt corstone1000-fvp-v5.uefi.capsule + --fw-version 5 build/tmp/deploy/images/corstone1000-fvp/corstone1000-fvp_image.nopt corstone1000-fvp-v5.uefi.capsule This command will put the newly generated capsule to the ``<_workspace>`` directory. @@ -746,7 +753,7 @@ Run the FVP with the IR prebuilt image: Executing capsule update for FVP and FPGA ========================================= -Reach u-boot then interrupt the boot to reach the EFI shell. +Reach U-Boot then interrupt the boot to reach the EFI shell. :: @@ -787,14 +794,14 @@ Then, reboot manually: FPGA: Select Corstone-1000 Linux kernel boot ============================================ -Remove the USB stick before u-boot is reached so the Corstone-1000 kernel will be detected and used for booting. +Remove the USB stick before U-Boot is reached so the Corstone-1000 kernel will be detected and used for booting. **NOTE:** Otherwise, the execution ends up in the ACS live image. FVP: Select Corstone-1000 Linux kernel boot =========================================== -Interrupt the u-boot shell. +Interrupt the U-Boot shell. :: @@ -944,7 +951,7 @@ provided with the Debian installer image (see below). This bug causes a fatal error when attempting to boot media installer for Debian, and it resets the platform before installation starts. A patch to be applied to the Corstone-1000 stack (only applicable when installing Debian) is provided to -`Skip the Shim `__. +`Skip the Shim `__. This patch makes U-Boot automatically bypass the Shim and run grub and allows the user to proceed with a normal installation. If at the moment of reading this document the problem is solved in the Shim, the user is encouraged to try the @@ -956,18 +963,20 @@ documentation. :: cd <_workspace> - git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2023.11 + git clone https://git.gitlab.arm.com/arm-reference-solutions/systemready-patch.git -b CORSTONE1000-2024.06 cp -f systemready-patch/embedded-a/corstone1000/shim/0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch meta-arm cd meta-arm git am 0001-arm-bsp-u-boot-corstone1000-Skip-the-shim-by-booting.patch cd .. **On FPGA** + :: kas shell meta-arm/kas/corstone1000-mps3.yml:meta-arm/ci/debug.yml -c="bitbake u-boot trusted-firmware-a corstone1000-flash-firmware-image -c cleansstate; bitbake corstone1000-flash-firmware-image" **On FVP** + :: kas shell meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml -c="bitbake u-boot trusted-firmware-a corstone1000-flash-firmware-image -c cleansstate; bitbake corstone1000-flash-firmware-image" @@ -988,8 +997,8 @@ Preparing the Installation Media ************************************************* Download one of following Linux distro images: - - `Debian installer image `__ (Tested on: debian-12.2.0-arm64-DVD-1.iso) - - `OpenSUSE Tumbleweed installer image `__ (Tested on: openSUSE-Tumbleweed-DVD-aarch64-Snapshot20231120-Media.iso) + - `Debian installer image `__ + - `OpenSUSE Tumbleweed installer image `__ (Tested on: openSUSE-Tumbleweed-DVD-aarch64-Snapshot20240516-Media.iso) **NOTE:** For OpenSUSE Tumbleweed, the user should look for a DVD Snapshot like openSUSE-Tumbleweed-DVD-aarch64-Snapshot-Media.iso @@ -1025,7 +1034,7 @@ With a minimum size of 8GB formatted with gpt. :: #Generating mmc2 - dd if=/dev/zero of=<_workspace>/mmc2_file.img bs=1 count=0 seek=8G; sync; + dd if=/dev/zero of=<_workspace>/mmc2_file.img bs=1 count=0 seek=10G; sync; parted -s mmc2_file.img mklabel gpt @@ -1058,7 +1067,7 @@ FVP :: - kas shell meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml -c "../meta-arm/scripts/runfvp --terminals=xterm -- -C board.msd_mmc.p_mmc_file="" -C board.msd_mmc_2.p_mmc_file="<_workspace>/mmc2_file.img" + kas shell meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml -c "../meta-arm/scripts/runfvp --terminals=xterm -- -C board.msd_mmc.p_mmc_file= -C board.msd_mmc_2.p_mmc_file=<_workspace>/mmc2_file.img" The installer should now start. The os will be installed on the second mmc 'mmc2_file.img'. @@ -1119,7 +1128,7 @@ and run this command to boot into the installed OS: :: - kas shell meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml -c "../meta-arm/scripts/runfvp --terminals=xterm -- -C board.msd_mmc.p_mmc_file="" -C board.msd_mmc.p_mmc_file="<_workspace>/mmc2_file.img" + kas shell meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml -c "../meta-arm/scripts/runfvp --terminals=xterm -- -C board.msd_mmc.p_mmc_file= -C board.msd_mmc.p_mmc_file=<_workspace>/mmc2_file.img" Once the FVP begins booting, you will need to quickly change the boot option in grub, to boot into recovery mode. @@ -1196,7 +1205,7 @@ First, load FF-A TEE kernel module: :: - insmod /lib/modules/6.1.32-yocto-standard/extra/arm-tstee.ko + insmod /lib/modules/*-yocto-standard/updates/arm-tstee.ko Then, check whether the FF-A TEE driver is loaded correctly by using the following command: @@ -1219,7 +1228,6 @@ Now, run the PSA API tests in the following order: psa-its-api-test psa-ps-api-test -**NOTE:** The psa-crypto-api-test takes between 30 minutes to 1 hour to run. UEFI Secureboot test -------------------- @@ -1392,17 +1400,38 @@ The above commands will delete the Platform key (PK) and allow the normal system Tests results ------------- -As a reference for the end user, reports for various tests for `Corstone-1000 software (CORSTONE1000-2023.11) `__ +As a reference for the end user, reports for various tests for `Corstone-1000 software (CORSTONE1000-2024.06) `__ can be found `here `__. -Running the software on FVP on Windows or AArch64 Linux ------------------------------------------------------------- -The user should follow the build instructions in this document to build on a Linux host machine. Then, copy the output binaries to the Windows or Aarch64 Linux machine where the FVP is located. Then, launch the FVP binary. +Testing the External System +--------------------------- + +During Linux boot the remoteproc subsystem automatically starts +the external system. + +The external system can be switched on/off on demand with the following commands: + +:: + + echo stop > /sys/class/remoteproc/remoteproc0/state + +:: + + echo start > /sys/class/remoteproc/remoteproc0/state + + +Using FVP on Windows or AArch64 Linux +------------------------------------- + +The user should follow the build instructions in this document to build on a Linux host machine. +Then, copy the output binaries to the Windows or Aarch64 Linux machine where the FVP is located. +Then, launch the FVP binary. Security Issue Reporting ------------------------ -To report any security issues identified with Corstone-1000, please send an email to arm-security@arm.com. + +To report any security issues identified with Corstone-1000, please send an email to psirt@arm.com. --------------