summaryrefslogtreecommitdiff
authorPengguang Zhu <pengguang.zhu@amlogic.com>2017-07-20 06:12:59 (GMT)
committer Pengguang Zhu <pengguang.zhu@amlogic.com>2017-08-31 08:50:54 (GMT)
commit664f48377a1216f3c4f992aeac1e330e8a3a1538 (patch)
treec7196130cc11ab4c0639021fc2fd0a39993d3b64
parentccbb349ae5011f6fdf4fb9723a140155a19bffba (diff)
downloadtdk-664f48377a1216f3c4f992aeac1e330e8a3a1538.zip
tdk-664f48377a1216f3c4f992aeac1e330e8a3a1538.tar.gz
tdk-664f48377a1216f3c4f992aeac1e330e8a3a1538.tar.bz2
update bl32 and ta_export
bl32 commit: 8b7b4c5273ab7f3cface532bc5dd5e35f784971e 1. support load video firmware 2. update TA encrypt/decrypt flow 3. support TA antirollback Change-Id: I022e56b901edb7364274b6a4732873c7ca9adeb3 Signed-off-by: Pengguang Zhu <pengguang.zhu@amlogic.com>
Diffstat
-rw-r--r--secureos/axg/bl32.img1234
-rw-r--r--secureos/gx/bl32.img1168
-rw-r--r--secureos/txlx/bl32.img1234
-rw-r--r--ta_export/host_include/conf.h8
-rw-r--r--ta_export/host_include/conf.mk11
-rw-r--r--ta_export/host_include/hw_keyladder.h26
-rw-r--r--ta_export/host_include/signed_hdr.h3
-rw-r--r--ta_export/host_include/tee_api.h41
-rw-r--r--ta_export/host_include/tee_api_defines.h2
-rw-r--r--ta_export/host_include/utee_type_extensions.h76
-rw-r--r--ta_export/include/hw_keyladder.h26
-rw-r--r--ta_export/include/tee_api.h41
-rw-r--r--ta_export/include/tee_api_defines.h2
-rw-r--r--ta_export/include/utee_type_extensions.h76
-rw-r--r--ta_export/lib/libmpa.a975
-rw-r--r--ta_export/lib/libpng.a2902
-rw-r--r--ta_export/lib/libutee.a3531
-rw-r--r--ta_export/lib/libutils.a4108
-rw-r--r--ta_export/lib/libzlib.a558
-rw-r--r--ta_export/mk/conf.mk2
-rwxr-xr-xta_export/scripts/gen_cert_key.py19
-rwxr-xr-xta_export/scripts/pack_kpub.py2
22 files changed, 8190 insertions, 7855 deletions
diff --git a/secureos/axg/bl32.img b/secureos/axg/bl32.img
index d194375..f3fa6b8 100644
--- a/secureos/axg/bl32.img
+++ b/secureos/axg/bl32.img
@@ -1,44 +1,58 @@
e4'
-o
-
+o"
+
+
+FOzq#
+
+H
+O
+N
#
-#
-
-
-"
-"
-YI
-SI
-۲F
-F FBKhBK
- 4
-G4 F "
-G #
-I#FGF FI
-G F$
+#
+
+
+"
+ v
+"
+ N F
+N{
+kI
+eI
+۲F
+F FTKhTK
+
+*" F
+IGF FIG F%
+
Kka
-KZh*b5`]`HH
+KZh*b5`]`HH
BohXXP
K"
-H@(
-
-;`
-!F2F
-+ F9Fj
+H@(
++(3< 1F"F + BbB1F;FKFa1xa
+
+;`
+!F2F|
++ F9Fj
+3hQFGhKFBaK
+4I" '%0KhOV@F"1%
+
+V "79F%88FAF"%4 ,%L/M
+
Q
Q
-Q
-K Esa#a
+Q
+K Esa#a
-A$# F3`K+`
+A$# F3`K+`
-E
+E
,
-E""@
-CB`V" B3B`pG
-
-p
+E""@
+CB`V" B3B`pG
+
+p
@@ -47,416 +61,422 @@ CB`V" B3B`pG
/
/
/
-/F FF
-Zh:x"p
-Z`
+/F ?FF
+Zh:x"p
+Z`
K SBSL B3S
-FF!30F KBS,BSL:B
-# 'wF? ?K
+FF`/30F KBS,BSL:B
+# 'wF? ?K
P
5
 AF
-
+
PCFSS,
-CCL 
- 
-H@_!J
+CCL 
+ 
+H@b!J
-k@F!hhر
+k@F!hhر
BV8/ "h8XB&`hhzh BhbhyhB4 FF h{`B,
-0`#ah E>
+0`#ah E
i = 'w-? #-??
F3h
@h+-
- JEEE0iB@  L\CCP`L}B``ap
+ JEEE0iB@  L\CCP`L}B``ap
Z B`E E D G `1 ) H3+Ѣkh0
-C`eck"c8PG3-GFFFF
+C`eck"Mc8T3-GFFFF
-kBYCh8FIFh(pk
+kBYCh8FIFhrpk
-kXYZQhFk@F![h@k]hCD
-KB
-
+kXYZQhFk@F![h=@k]hCD
+KB
+
?O
2?#?#P?@j
k@i :_вRB@`
-
-M
-
-K"! H(FbK``cb
-FG
+
+M
+
+K"! H(FK``cb
+FG
Eѝ
-0
-JOq H
+0
+JOq H
-
-#hG8"
-
-hD$F]#DBB3$+
+
+#hG8"
+
K"
-H!
-F(
-F(
-
-F(
+H!
+F(
+F(
+
+F(
-H[
-
-cF(
-8F(I
-@F(
-WK"HOq
-
-FR6K
-Hh
-2\c(2hcE2lca2pcx2tc2c2̈c2Ȉc2c2c 2c 2c52HcL2Dca2@c}2Lc2?K!?J@Hh
-q(`
+H[
+
+mF(
+8F(I
+JF(
+WK"HOq
+
+F6K
+Hh
+(`
(JhK "`JhK`pG 0
-pYp p p
-K
- K
- K
- K
- K
- K
-K
-K
+pYp p p
+ K
+ K
+ K
+ K
+ K
+K
+K
K
-H!
-"!cd"Add p22k F:* K
+H!
+"!cd"Add 922k F:* K
*( 
-@j@h
-K`0FK`Zh"p""?B
+@j@h
+K`0F-K`Zh"p""?B
J``KhB
`"h
dbhJdhdhdL
-"i+J`bi`٣iBJ`iS`k+ ѣl=J`#jbcjcjScjc+6K "` j^5K``jY3K`jT2K`jO0K`k#lak
+"i+J`bi`٣iBJ`iS`k+ ѣl=J`#jbcjcjScjc+6K "` j5K``j3K`j2K`j0K`k#lak
hsl"@rB# `rj
-hsl"@rB# `sj 2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b
- 'O 'O'O@"'BFB /"FFIF"F QF*K
-! !
+hsl"@rB# `sj 2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b
+
+ 'O 'O'O@"'BFB a"FFIF"F QF*K
+! !
O
O
-!FJF
- "h
-K@b
-5
-3o0+pOp ѫ~(F!Cvp(F!
+!FJF
+ "h
+K@b
+5
+3o0+pOp ѫ~(F!Cvp(F!
C##
*)OU1O1!K!J)!KO2` JO2Z`"K)OU1O1`Y`J)h C*C##*`
-K"
-HF@ K" Hb!
-H IF" FH0 F)F"8@8!
-HF HFP0F9 -4*F "O4 F!
-HwAFF:F(F
+K"
+HF@ K" Hc!
+Ho IF" FHf0 F)F"8@ܿ8!
+HLF HHFP0F9 -4*F "O4 F!
+H/AFF:F0F
-
+
-
-`
-+h
+
+`
ca4Kh
a3Kh
-a1Khh B#`C"c.Khh B#`C*Kh B"h"* h+0$Khh B#`C"F
+a1Khh B#`C"c.Khh B#`C*Kh B"h"* h+0$Khh B#`C"F
h
-
-#EGFFOqhCo d!
-` 8OrXO0@
-+0+Op`1F8F(̿0 *
+I
+#EGFFOqhC=o d!
+` ^8OrXO0@
++0+Op`1EF8FA(̿0 *
1+l"F+F
0w6pEڴF
-3@P2@o(F<#(Fkheb
-HI+h3K`Kh2`KhBє,0 %ei
+3@P2@o(F<#(F
+HI+h3K`Kh2`KhBє,0 %ei
HF3h+`'x F 0 F :FhGFHFeMO
- ` F
-J
-F)Fhh$iG8[38FK
-F)FhhdiG8[3KXh
-
+ ` F
+J
+F)Fhh$iG8i38FK
+F)FhhdiG8i3KXh
+
FB! <B
@@#
-
+
"FHF
-1F 
-
+;1F 
+

- O 
-
-kGFx@FeF 5F
+ O 
+
+kGFx@FeF 5F
OF9(F!F
KFG
-
-=F O=F O
+
+=F O=F O
?(F 1FG
-@#G`*$
-JF%OD%E 
-IF F F
-
-
- @
+@#G`*$
+JF$%OD%E 
+IF F F
+
+
+ @

*
-O 0 !XFF
+O 0 !XFF
*
-+++h0Fй`
++++h0Fй`
, #iˎ
-SF
+SF
- FY
-6FEKFK
+ FY
+6FEKFK
-K KF
-GKGHhZh #B%
-FF #FF$eF4 aF ]F
-@+"i  QF
+K KF
+GKGHhZh #B%
+FF #FF$F4 F F
+@+"i QF
h 
+ E  D 3BO
O F#
-1FX
+1FX

E B
-FFFFUFWF6"h#KB/FAF
+FFFFUFWF6"h#KB/FAF

- 4Eѳh JB2Bѥb
+ 4Eѳh JB2Bѥb
-
-h FChB10+h
-OO h34ڈj rRiGzBӽ2-CFjӱhF
-OO h34ڈj riGzBӽ2
+
+h FChB10+h
+OO h34ڈj rRiGzBӽ2-CFjӱhF
+OO h34ڈj riGzBӽ2
Hh!
-3ڈj9F BFG04zBH
+3ڈj9F BFG04zBH
O hj
3ڈj @YiG
-)KB
-8(
-K[nKnKoK[o{)FGO3`5a
-
-
+)KB
+8(
+K[nKnKoK[o{)FGO3`5a
+
+
+3
-3CEрLYF
-t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FzLL
-
-L L )FF
-
-**JhiGiipjj JjkLhihGH
+3CEрLYF
+t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FLL
+
+L L )FF
+
+**JhiGiipj JjkLhihGH
**
-Ji JVkFi*F#FGFH
+Ji JVkFi*F#FGFH
FFFF
-1hiaF
-uAF(FJF#FF
+1hiaF
+uAF(FJF#F;F
RB@7! OqOq@ !
- jGF`YF O@B
+ jGF`YF O@B
 2h+<

-2hF YF
-
-AF"nF
-p8F
+2hF YF
+
+AF"F
+pDF
KB
-"h
-F
-AF
- F ,GF)@;Iph+z9F2F(F5KFp
-@ F,CF0(XB3+I
- F
- 
-
-F
-XF
+"
++F
+AF
+ F ,GF)@5Iph+~9F2F(F/KFp
+@ F,CFf(XB3%I
+ F
+ 
+
+F
N
N
-N(F:N
-
-F
+N(FN
+
+F
` bF
-L
-F/#;F"#"
+L
+F/#;F"#"[
KB
-E)F
+E)F
L
-L
-
-F
-O
-F
-!i$#c ai.Kh $# jk
-N  F N
-$h
-. *F
-"`+`
-0F
+L
+
+F
+O
+F
+!i$#c ai.Kh $# jk
+N  F N
+$h
+. *F
+"`+`
+0F
!h+1
!h[
1!+i[h1! !
-!ii!p"iڱ
+!ii!p"\iڱ
Kh:F3F*F
-
-#
-K!O
+
+#
+K!O
!"0#F"jF
-L#LK"h@ > F&p[32
-L
-
+LcLK"h@ > F&pj32
+L
+

PO
3E
-[k=
+[k
03CD
-0 F
-!"` 0*SFF
-FFF&
-O
-TPH
-
-LH:(F F L3[3
-+FIFS :F@D
-IFh
+0 F
+!"` 0*SFF
+FFF&
+O
+TPH
+
+LHSt(F5 F Z3 j3
++FIFS :F@D
+IFh
W(h
-
-
-7O*9_D?% _4]FOU _IF"FU
-FP8FI"F#F
+
+
+7O*9_D?% _4]FOU _IF"FU
V!F(hJF3FF
-
-(,D#2`!F!B{"(Fw!c>#XCC7B#7`
-A
+
+(,D#2`!F!B"(Fw!>#XCC7B#7`
+A
#F
-l0F!F8hBI0F!*FKFnh5QFB"00B)L+F
-
+l0F!FxhBI0F!*FKFnh5QFB"00B)L+F
+
"
-# 
-# 
-E
+# 
+# 
+E
$
-E EF@_@F5q)FF@#@Fspd
-GF0k0FI:F #GF0FL
-[F
-#GF0eiPF9I #GFPF
-iI)GFPF
- ",0, B
-
+E F@_@F5)FF@#@Fpd
+GF0k0FI:F #GF0FgL
+[F
+#GF0eiPF9I #GFPF]
+F#(
+iI)GFPF
+ "0, B
+
+
+
+
+
+
+
+
+
+
+
+
Oc@DcOHsOhs `
KB OsOss `
-
- h ch #ihMKBSBSB@0@@F
+
+ h ch #ihMKBSBSB@0@@dF
@FlG
-@FyG
-"KB "KB !H!H!H!H!H
-
-F
-lGB.(FFPK"H@Q
-
-
-
-h ch `Hh #iciii-KBS(F5
-L F"0(
-h kh `Hh +ikiii>KB"أ@SBЌ:K
-kh F
-+K lG+h(`B(LH0FZF
- K"LOa
-H M F
- (ر(( "J@AAH
-* I"F
-3h2`BL!)F(F
-K L"
-KL"
-p#3M3
-Gih Gi)i G0F 8F
-
-pM3
-
-pM3
-Gii G0Fo8F
-KBsB HH
-
-
+@FyG
+&KB &KB %H%H%H%H%H
+
+F
+lGB.(FFPK"H@Q
+
+
+
+h ch `Hh #iciii-KBS(F#
+L F"0(
+h kh `Hh +ikiiiDKB.أCB)أ
+kh F
++K lG+h(`B(LH0F,F
+ K"L@A
+H S F
+ (ر(( "J@DAH
+* I"F
+3h2`BL!)F(F
+K L"
+KL"
+p013\[3
+Gih Gi)i G0F+8F
+
+p\[3
+
+p\[3
+Gii G0F8F
+KBsB HH
+
+
- -KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*3')F2F#F  )F2F#F&O4c
- A
-
-*hiFK@F`jh[m"aJFGhQF:Fz>hFh' I
- 
-L(+
+ -KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*3')F2F#F  )F2F#F&o4c
+ A
+
+*hiFK@F`jh[m"aJFGhQF:FL>hFh' I
+L(+
F,
-FFKBsB%
-
+FFKBsB%
+
(F'
--KBPJF*F#
+-KBPJF*F#
KB%PAq)KB3B3B F@O@@
-F(
-
-2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O
-
-
+F(
+
+2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O
+
+
@FlG
-@FqG
-
-o?L
-khh
-5LT
-a H@^K"
-U@F9F2F F`K@f H"
-@L
- B1
+@FqG
+
+o?L
+khh
+5LT
+g H@eK"
+[@F9F2F F`K@m H"
+FL
+ B1
zOj

O
-O x2xixBH
+O x2xixBH
zOj

O
-O x3xixBHFȱ 1"9F#O  FCF0F"
+O x3xixBHFȱ 1"9F#O  FCFk0F"
zOj

O
-O x3xixBH\IF
-hDzXFQF"(HFQF"#HFa"#)F#
-D HFQF:F Fq]
- J@qUZU5-<
-
-
+O x3xixBH0IF
+D HFQF:F &Fq]
+ J@qUZU5-<
+
+
03
-"F
+"F
CC<#
-҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3
-JOp3FR#0"FiG
-l#c\2 l# \32l# #* #OpFY" i"FG  #52< #
+҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3
+JOp3FR#0"FiG
+l#c\2 l# \32l# #* #OpFY" i"FG  #52< #
' '
7''7' 
' '
-3F'
-T'5J@ 3+:hB;`0Fa F04-GFFF
-%DOS
+3F'
+T'5J@ 3+:hB;`0Fa F85-GFFF
+%DOS
F
F @ H @q@ T@L Z#@ LLD]3+ hFDF
F!F 
@ H   T@LDY#@\D7L3 +  f .F
F!F4FZ#`  ^D H u ` 3V@l0+  5De F&D!F4F.Fdd P Hf  U@\DZ#PMD8 P3@+ b
-F5D
+F5D
K
F*F#F8LOe,M@e
@@ -475,7 +495,7 @@ J 
 p6P.WDO
D*FF
- ODaED[D``aDa
+ ODaED[D``aDa
Kb`
K`
Ka
@@ -483,10 +503,10 @@ KCa
Ka
Ka
Kb
-KCbFpG pG
+KCbFpG pG

FF;FZFOU pU
-
+
Kb`
K`
Ka
@@ -494,7 +514,7 @@ KCa
Ka
Ka
Kb
-KCbFpG pG
+KCbFpG pG
y Okqx0  #JK CxJ$ E C4y)Cx$ #ECC Cty)C$y6#fE@
2O@ p#
 A;
@@ -508,118 +528,121 @@ CckCs{Cs#O OHEh A 
OBj JOCjJ
 Eg
G 
-E 
-HFLI
+E 
+HFLI
O
-PF
- KS&0h FF
+PF
+ KS&0h FF
O
-viHFYF
-_J@ !
-
- 
+viHFYF
+_J@ !
+
+ 
4 , J
-KC$PH 4 ,HO4
+KC$PH 4 ,HO4
4 , J
-KC$PH 4 ,HO4
+KC$PH 4 ,HO4
4 , J
-KC$PH 4 ,HO4
-J
-ah
-G
-
-
-IQ" )FjFG
-
+KC$PH 4 ,HO4
+J
+ah
+G
+
+
+IQ" )FjFG
+

-Eѻ
-IQ" )FiFGFPF\\J@T3+0F Fp04-OFFFF {
-AF"6? ( i@FYFG
+Eѻ
+IQ" )FiFGFPF\\J@T3+0F Fp85-OFFFF {
+AF"6? ( i@FYFG

JAFR#0FrjG!8F
+FoйF;|\#T34tLE\U4,1F
-+FW
++FW
i  bi
- 1F >d
-hi
- iIF ci "3F@FF
- ci 3F&`F;#iO
-l iGch
+ 1F Dd
+hi
+ iIF ci "3F@FF
+F
+ ci 3F&`F;#iO
+l iGch
qH
0
--F
-& F
-  .F
-!CZF"
- .i  nii.ji#F"uF@T KhkG
-l5m FG9 FADGF
-i IF8FCFF[i GG#40!hGh"ah8F
+-F
+& F
+  4F
+!CZF"
+ .i  nii.ji#F"{F@T KhkG
+.l5m FG9 FADGF
+i IF8FCFF[i GG#40!hGh"ah8F
lF
-QFZFKFF
+QFZFKFF
GF
-G
+G
GF
G
GF
FGF
GF
*jGF0iGFpi)iGF@iiiGF#+`+j
-
-T 8FIFBF(
+
+t 8FIFBF(
m
O 
- < d ! "()+ ,lxhG F
-
-Sh
-J+@XFF
-F
--FB?P{B?LXF04M3F@h K[iG
- @:F
-4JUmFGF
-
+ < d ! "()+ ,lxhG F
+
+sh
+J+@XFF
+F
+-FB?P{B?LXF85\[3F@h K[iG
+ @:F
+4JUmFGF
+
GF
 GF
- GF
- F
-Qi"GF
-L lGF#m GF
-(`h` .0;@<EAF``,u,a(bke cg*clc0
-<@c0PeBed@,fx@@@ @@@
-y # c
-F
-PFC
+ GF
+ F
+Qi"GF
+L lGF#m GF
+F
+(`h` .0;@<EAF``,u,a(bke cg*clc0
+<@c0PeBed@,fx@@@ @@@
+h@$[n c
+ F
+PFC
 
-
-  $Ꭽ!#)``b:+c
- `,u,ablc<@cȃCD
-
+
+  $Ꭽ!#)``b:+c
+ `,u,ablc<@cȃCD
+

- 
-2`"bB"b5k`F`*cbOcje"
+ 
+2`"bB"b5k`F`*cbOcje"
-
-j`FbObbB#`+cke#e0tc<@c
+
+j`FbObbB#`+cke#e0tc<@c
-sF
-
-'
-
-x F)F( F!F*F;h cXhF!F8F
+F
+
+A
+
+ F)F
+( F!F*F;h }XhF!F8F
Kh+F
-? F
-@
+Y F
+Z
OepS%`%UiF u@FS&`u@&S&`Fu@.qq. Nq.
=qS%`_*%iF u@FS&`
'Prih@P@S$ P@S* B
s sJs
-s
+s
OepS%`%eiF u@FS&`u@&S&`Fu@.qq. Nq.
=GqS%`ղ%iF u@FS&`*u@&S&`Fu@.rr. Nr.
S"P rE
s sJs
-s
+s
? ? \'pX+'FMOW+pGFIOjW+pEOW*
'V'p GU'pi T)p h 3h1_@?
X*
@@ -629,217 +652,214 @@ X*
BU" gT'p
$J'R'p"J
GR'piJ
-R)pBOr1K@J@Os$b@$33Z@AK@A2S@C``
+R)pBOr1K@J@Os$b@$33Z@AK@A2S@C``
@% @$  
 2*
 7
 28*
@$?~p?P%`Q"pG
-@%2*3+
-
-
+@%2*3+
+
+
40 F9FG8O
B80 FGC6F.O+pnp.؁#pkp5?҂#pkp3
p5
҃#.qkp3 p3
p5
F
-GFk F  GEѳk FGFNAF3lG K[iG!FmFG
-3
+GFk F  GEѳk FGFNAF3lG K[iG!FmFG
+3
u
-a(1"0F
+a(1"0F
V <VṾ+M
-@]J@BP1` 6%u%a(4$ #8F
-Xcx
-:F
- 
+@]J@BP1` 6%u%a(4$ #8F
+:F
+ 

E0F
- F
-OO @FU208 (KVpGd pG
-!(h
-! p\
-!p(h p\
-!phh
-! p\
-! qhh p\
-!`qh
-! p\
-!qh p\
-!qh
-! p\
-! rh p\
-!`r(i x
-! p\
-!r(i ~p\
-!rhi e
-! sp\
-! shi kp\x`s+j iiN
-!si E
-! Sp\`
-!si Kp\X
-! t(j 2
-! @p\M
-!`t(j 8p\E#tZ ?#sbp
+ F
+OO @Fa208 (KVpGd pG
+!(h
+! p\
+!p(h p\
+!phh
+! p\
+! qhh p\
+!`qh
+! p\
+!qh p\
+!qh
+! p\
+! rh p\
+!`r(i
+! p\
+!r(i p\
+!rhi 
+! p\
+! shi p\x`s+j iiN
+!si _
+! mp\`
+!si ep\X
+! t(j L
+! Zp\M
+!`t(j Rp\E#tZ ?#sbp
$p҃#,qkp# p#
-$pV 8(O
-FFHF
-BF F
->F%h(F
-K8F
-G
-AYF"F 8
+$pV 8(O
+`FHF
+\F F
+XF%h(F
+e8F
+a
+[YF"F 8
O
-aBFYD(F
-
+!aBFYD(F
+
+]b
`i
-#`O 0FF
-8F
-(F
-O
+#`O 0FF
+8F
+(F
+O
O
O
-PF
+PF

E
-?F0F
-;F@F
-7F$h F
-D8F
-@
-:Cm
+YF0F
+UF@F
+QF$h F
+^8F
+Z
+TCm
-#
+3#
0D
-
+
(F:KAFS"0[iG@EFQ!FZF ;F 9
hB`#
-!F
-D2
+!F
+D2
`
-8F
- F
-##
-IF0F
-EF0F
-A0F
-= F4 F
-F(F
-BF
-=
-6 <+# F:RFYF
-@F
+8F
+ F
+##
+cF0F
+_F0F
+[0F
+W F4 F
+`(F
+\F
+W
+P <+# F:RFYF
+@F
JF
-
+

BoR

E
-`.['0[mGF
+`.['0[mGF
aRmGF['0)FmGFH(FAFJF
-U`@F
-
-(F
- F
-#
-4F(F
-0(F
-,F(F
-(FF
-1F
-,
-&
-
-[' RmGF
+U`@F
+
+(F
+ F
+#
+NF(F
+J(F
+FF(F
+BFF
+KF
+F
+@
+9
+[' RmGF
1Fm"GF
m GF
IFmBFGF
QFmGF
-" IFX 0BF
-8FQFoFD
-pWQF
-jW"U
+" IFX 0BF
+8FQFoFD
+WQF
+W"U
x@X p`
-|HF
-y
-v0F
-s$$
-# BTPF[
-
-
+HF
+
+0F
+$$
+# BTPFU
+
+
0GF
0F8ZF
0F
HFZF
HF
- Y
+ Y
PFQFZF
PFQFZF
PF[FR@RFPGF
FFJ RiGJ
- G
+ G
FGF
FGF
FnGF
FGF
FGF
OFFmGF
-!F KFmGF
+!F KFmGF
OF;nGF
~OFFmGF
qOFmGF
-NF3nGF
+NF3nGF
QO!hFmGF
CO
FnGF
-OmFGF
+OmFGF
uOFmGF
-`h)FmFGF
+`h)FmFGF
i AF "0F#`
- 0F
-K(F*F@KFGF
-7pZ( RmG
-FGF
-(F)FOIX(F)F2F#F*F)F3F@F
-MgI0F_z1F O  #F {O O
+ 0F
+K(F*F@KFGF
+7pZ( RmG
+FGF
+ggI0F_z1F O  #F {O O
-!^F
- 27OE
-
-!F !F !F
-ch"
-F>KFFF;F
-:/FF
-@6K FLF
-+I*H
-x0F
-Jh0`JBZ`
-F J`Y`h```h`KhQ` F)F
-Q2$
-زBؕBشB3B
+!xF
+ L7OE
+
+!F !F !F
+ch"
+FXKFFF;F
+:/FF
+@6K FfF
++I*H
+x0F
+Jh0`JBZ`
+F J`Y`h```h`KhQ` F)F
+Q2$
+زBؕBشB3B
ȿ$,($+U
-+,
-232//-O@EFFF
++,
; 
ܸ#fи*fи @X.jи0и-@_U
3h6C{j

-`H`"
-F O
+`H`"
+F O

AEq0
"
" Fx<F F "
#x( ! AqF FT  ZF
-3 333H1@@8@Bddhl
+r-3-3k-3Z-3H1@@8@Bddhl
;<
E
պ
@@ -849,98 +869,100 @@ Jh0`JBZ`
 :
 2ZE{ #a
-;9
+;9
-Xn`vh`mh`42, 8Q8Fi#U<[j `kG#ij+U<iG8@"-CFFFF FiF#F#;`#AF;`Y<pk"hjkFG!FFhF
-
+Xn`vh`mh`42, 8k8Fi)U<[j `kG#ij+U<iG8@(-CFFFF FiFF#;`#AF;`Y<pk"hjkFG!FFhF(F -AFF Fi
+
(F!F:Fsih4
-oF  FFOhF
-8
-)
-
-
-C
-`
+oF  FFOhF
+8
+)
+
+
+C
+#FhC/
+`
FFFs i[i
-:*+$$**V<hFIhp`2`h
+:*+$$**V<hFChp`2`h
zhh

- 7
-!iF
+ 7
+!cF
"
-cj ##jFpFF OqF85
-F FF
-F FQ8Fh\ F ah
-h!q2FQ@BF
+cj ##jFepFF OqF85
+F FmF
+F F8Fh\ Fah
+h!q2FQ@BF
+#""
p hp
qCqˈ
-qˈ1q0мKx
+qˈ1q0Kx
xCcxCxC#`
-yKyC#yy1C#"À0
-i 9F2F
+yKyC#yy1C#"À0ʼ
+i 9F2F
 pG
 pG
z pG
-B pG-AFFFF{k)F@p"(F9F2F#FA -AFFFF۱P)F@p")FBp")FDp"(F9F2F#FA F
-
+B pG-AFFFF{)F@p"(F9F2F#FA -AFFFF۱)F@p")FBp")FDp"(F9F2F#FA F
+
' '
'T74',T7

Tu8F)F
7 3T+7T8FYF
-
-O
-wa
+
+O
+wa
wa
YW  V 
-U )F
+U )F
Z \  ] 
-^ )F
-pbJphO"php
+^ )F
+pbJphO"php
f,h  i 
-j w)F
-pbJphO"php
+j W)F
+pbJphO"php
L  
- 4s)F
+ 4S)F
pJpbhO"pbhpx
-qbJq"hO"qT+q
-` 8kh
--GFFF
-萇Fpi
-FBO
--GFFFF@:7.
-7 !.Fp
+qbJq"hO"qT+q
+` 8kh
+-GFFF
+萇Fpi
+FBO
+-GFFFF@:7.
+7 !.Fp
+3a h?+ VF 
-86
-%D iF
- BFIF0F Fm
-(BF0F FdHF !
-8
-*)(F"F
-*4..2 F*F
+86
+%D iF
+ BFIF0F Fm
+(BF0Fv FdHF !
+8
+*)(F"F
+*4..2 F*F
pq"q bq
-q
+q
pq"q bq
-q
+q
pq"q bq
-q
+q
pq"q bq
-q
-FFUFZ
+q
+FFUFZ

( EѨ - ?+߀k"hB#` +1#0#-3pOup#-؁#psp#?҂#psp+
p#
҃#5qsp+ p+
p#"h
-#`;hhxh
- 
+#`;hhxh
+ 
"FF
-3
-%F
+3
+%F
- a
-%amF
-+8(x0lxвB$
+ a
+%aSF
++8(x0lxвB$
?҂"pbp*
p"
?҂"pbp*
@@ -952,15 +974,15 @@ Z O
O
L ɲѡT2
-D
+D
&p҃#%qcp+ &p+
-p
+p
=F<F C
p#(!rh 3h ;#*FFO
p҃#,qkp# !p#
-p\T2Bъ2`(0 (0?00`
+p\T2Bъ2`(0 (0?00`
&p҃#%qcp+ &p+
-p
+p
Jh01
F
  B FAF h
@@ -1008,7 +1030,7 @@ B
1
FFF!F9FBF#F1F
FFF!F9FBF#F}1F
-FFF!F9FBF#FN1F
+FFF!F9FBF#FN1F
ڰG
Z6:h
8X'O (F OI  
@@ -1020,35 +1042,40 @@ h `:`9F"F3F""?GE
3FE !FXF

-Fx1BxFF3x
-
+Fx1BxFF3x
+
GoQcpn
g))/F
'&&\8!.*Zm,M߳ 8ScTs
ew<
jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų 9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c
?G5 q}#w($@{2
-<L gCB>˾L*~e)Y:o_XGJDl{2e2A2u10292 222
-
-
-
-
+<L gCB>˾L*~e)Y:o_XGJDls2]29210212 222
+
+
+
+
'8!.m,M 8STs
e
-jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxq2
-
-
-
-3l
-3
-3
-3x 3 3
-3. 3k 3 3
-
-
-
-
-
+jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxqơ3
+38
+3Y
+3
+3
+3
+3
+3
+3* 3S 3
+
+3
+33F33F3w33
+
+
+
+
+
+
+
|B|
!\hT[:.6$g
WҖO aiKwZ
@@ -1098,9 +1125,12 @@ o/Dyeڜ
+
+
+
-
+
@@ -1109,7 +1139,7 @@ o/Dyeڜ
FSR 0x%x PC 0x%x TTBR0 0x%X CONTEXIDR 0x%X
-CPUID 0x%x CPSR 0x%x (read from SPSR)
+CPUID 0x%x CPSR 0x%x (read from SPSR)
@@ -1163,19 +1193,21 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+
-
+
-
+
+
+
@@ -1198,14 +1230,14 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+
-
+
@@ -1220,7 +1252,7 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+

    
@@ -1231,4 +1263,4 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
aml-sha1
;3+#>6.&=5-% <4,$   

- 
+ 
diff --git a/secureos/gx/bl32.img b/secureos/gx/bl32.img
index 7802d27..1c6fb9c 100644
--- a/secureos/gx/bl32.img
+++ b/secureos/gx/bl32.img
@@ -1,46 +1,58 @@
e4'
-o-
-
+oZ
+
+
+FOzq#
+
+H
+O
+N
#
-#
-
-
-"
-"
-YI
-SI
-۲F
-F FlBKhBK
- 4
-G4 F "
-G #
-I#FGF FI
-G F$
+#
+
+
+"
+
+"
+1N F
+N{
+kI
+eI
+۲F
+F FTKhTK
+
+*" F
+IGF FIG F$
+
Kka
-KZh*b5`]`HH
+KZh*b5`]`HH
BohXXP
K"
-H@(
-
-;`
-!F2Ft
-+ F9Fj
+H@(
+
+;`
+!F2F
++ F9Fj
+3hQFGhKFBaK
+4I" '$0KhOV@F"1$
+
+V "79F$88FAF"$4 ,%L/M
+
Q
Q
-Q
-K Esa#a
+Q
+K Esa#a
-A#`# F3`K+`
-)KO4r-
+A#P# F3`K+`
-E
-KhFh
+E
,
-E""@
-CB`V" B3B`pG
-
-p
+E""@
+CB`V" B3B`pG
+
+2R2r2z222282m2hp*KI* F
+p
@@ -49,354 +61,368 @@ CB`V" B3B`pG
/
/
/
-/F FEF
-Zh:x"p
-Z`
+/F cFF
+Zh:x"p
+Z`
K SBSL B3S
-FF30F KBS,BSL:B
-# 'wF? ?K
+FF@ 30F KBS,BSL:B
+# 'wF? ?K
P
5
 AF
-
+
PCFSS,
-CCL 
- 
-H@_!J
+CCL 
+ 
+H@b!J
-k@F!hhر
+k@F!hhzر
BV8/ "h8XB&`hhzh BhbhyhB4 FF h{`B,
-0`#ah E(
+0`#ah E
i = 'w-? #-??
F3h
@h+-
- JEEE0iB@  L\CCP`L}B``ap
+ JEEE0iB@  L\CCP`L}B``ap
Z B`E E D G `1 ) H3+Ѣkh0
-C`eck!c8 93-GFFFF
+C`eck"c8E3-GFFFF
-kBYCh8FIFhpk
+kBYCh8FIFhpk
-kXYZQhFk@F![h@k]hCD
-KYB
-
+kXYZQhFk@F![h@k]hCD
+K%B
+
?O
-2?#?#P?@j
+2?#?#P?@j
k@i :_вRB@`
-
-M
-
-K"! H(FK``cb
-FG
+
+M
+
+K"! H(FK``cb
+FG
Eѝ
-0
-JOq H
-2,93
+0
+JOq H
-
-#hG8"
-
-hD$F]#DBB3$+
+
+#hG8"
+
+OaOPFO` O
+hD$F]#DBB3$+
K"
-H!
-9F(
+H!
+%F(
+HF(
+
+F(
-H[
-
-F6K
-Hh
- (`
+H[
+
+F6K
+QK!QJHh
+Hh
+(`
+ `@ݼ
(JhK "`JhK`pGJKh
-pYp p p
-K
- K
- K
- K
- K
- K
-K
-K
+pYp p p
+ K
+ K
+ K
+ K
+ K
+K
+K
K
-H!
-"!cd"Addy 22k F:* K
+H!
+"!cd"Add3 y22k F:* K
+P{ +k+ ZF +m
*( 
-@j@h
-K`0FK`Zh"p""?B
+@j@h
+K`0FK`Zh"p""?B
J``KhB
`"h
dbhJdhdhdL
-"i+J`bi`٣iBJ`iS`k+ ѣl=J`#jbcjcjScjc+6K "` j:5K``j53K`j02K`j+0K`k#lak
-! !
-K@b
-5
+"i+J`bi`٣iBJ`iS`k+ ѣl=J`#jbcjcjScjc+6K "` j5K``j3K`j2K`j0K`k#lak
+! !
+K@b
+5
C##
*)OU1O1!K!J)!KO2` JO2Z`"K)OU1O1`Y`J)h C*C##*`
-K"
-HmF@ K" Hc!
-HI IF" FwH@0 F)F"8@l8!
-H&F H"FP0F9 -4*F "LO4 F!
-H AFF:F0F
+K"
+HF@ K" Hc!
+H IF" FH0 F)F"8@8!
+HfF HbFP0F9 -4*F "O4 F!
+HIAFF:F0F
-
+
-
-`
-JF
+
+`
+JF
ca4Kh
a3Kh
-a1Khh B#`C"c.Khh B#`C*Kh B"h"* h+0$Khh B#`C"F
+a1Khh B#`C"c.Khh B#`C*Kh B"h"* h+0$Khh B#`C"F
h
-
-#EGFFOqhCo d!
-` 8OrXO0@
-+0x+Op`1F8F(̿0 *
+
+#EGFFOqhCo d!
+` 8OrXO0@
++0x+Op`1F8F(̿0 *
1+Bo"F+F
0w6pEڴF
-3@P2@o(F(F
-HI+h3K`Kh2`KhBє,0 %ei
+3@P2@o(F(F
+HI+h3K`Kh2`KhzBє,0 %ei
HF3h+`'x F 0 F :FhGFHFeMO
- ` F
-J
-#i FhG02}2{222F FFFVMK" F!F
-F)Fhh$iG8TJ38FK
-F)FhhdiG8TJ3KXh
-
+ ` F
+J
+F)Fhh$iG8W38FK
+F)FhhdiG8W3KXh
+
FB! <B
@@#
-
+
"FHF
-1F 
-
+1F 
+

- O 
-
-kGFx@FeF 5F
+ O 
+
+kGFx@FeF 5F
OF9(F!F
KFG
-
-=F O=F O
+
+=F O=F O
?(F 1FG
-@#G`*$
-JF%OD%E 
-IF F F
-
-
- @
+@#G`*$
+JF%OD%E 
+IF F F
+
+
+ @

*
-O 0 !XFF
+O 0 !XFF
*
-+++h0Fй`
++++h0Fй`
, #iˎ
-SF
+SF
- FY
-6FEKFK
+ FY
+6FEKFK
-K KF
-GKGHhZh #B%
-FF #FF$F4 F F
-@+"iP QF
+K KF
+GKGHhZh #B%
+FF #FF$F4 F F
+@+"iJ QF
h 
+ E  D 3BO
O F#
-1FX
+1FX

E B
-FFFFUFWF6"h#KB/FAF
+FFFFUFWF6"h#KB/FAF

- 4Eѳh JB2Bѥb
+ 4Eѳh JB2Bѥb
-
-h FChB10+h
-OO h34ڈj rRiGzBӽ2-CFjӱhF
-OO h34ڈj riGzBӽ2
+
+h FChB10+h
+OO h34ڈj rRiGzBӽt2-CFjӱhF
+OO h34ڈj riGzBӽt2
Hh!
-3ڈj9F BFG04zBH
+3ڈj9F BFG04zBH
O hj
3ڈj @YiG
-)KB
-8(
-K[nKnKoK[o{)FGO3`5a
-
-
+)KB
+8(
+K[nKnKoK[o{)FGO3`5a
+
+
-3CEрLYF
-t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FLL
-
-L L )FF
-
-**JhiGiipj JjkLhihGH
+3CEрLYF
+t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FLL
+
+L L )FF
+
+**JhiGiipj JjkLhihGH
**
-Ji JVkFi*F#FGFH
+Ji JVkFi*F#FGFH
FFFF
-1hiaF
-uAF(FJF#FKF
+1hiaF
+uAF(FJF#F1F
RB@7! OqOq@ !
- jGF`YF O@B
+ jGF`YF O@B
 2h+<

-2hF YF
-
-AF"F
-pF
+2hF YF
+
+AF"F
+pF
KB
-"
-F
+"
+F
AF
 F ,GF)@5Iph+~9F2F(F/KFp
-@ F,CFf(XB3%I
- F
- 
-
-rF
+@ F,CFf(XB3%I
+ F
+ 
+
+lF
N
N
-N(FTN
-
-F
+N(FNN
+
+F
` bF
-L
-F/#;F"#"k
+L
+F/#;F"#"Q
KB
-E)F
+E)F
L
-L
+L
F
-O
+O
F
-!i$#c ai.Kh $# jk
-N  F N
-$h
-. *F
-"`+`
-0F
+!i$#c ai.Kh $# jk
+N  F N
+$h
+. *F
+"`+`
+0F
!h+1
!h[
1!+i[h1! !
-!ii!p""iڱ
+!ii!p"iڱ
Kh:F3F*F
-
-#
-K!O
+
+#
+K!O
!"0#F"jF
-LsLK"h@ > F&pJ3 2
-L
-
+LYLK"h@ > F&pW32
+L
+

PO
3E
-[kW
+[kQ
03CD
-0 F
-!"` 0*SFF
-FFF&
-O
-TPH
-
-LH<(F F ;3|J3
-+FIFS :F@D
-IFh
+0 F
+!"` 0*SFF
+FFF&
+O
+TPHl
+
+LH(F F |H3W3
++FIFS :F@D
+IFh
W(h
-
-
-7O*9_D?% _4]FOU _IF"FU
+
+
+7O*9_D?% _4]FOU _IF"FU
V!F(hJF3FF
-
-(,D#2`!F!B"(Fw!}>#XCC7B#7`
-A
+
+(,D#2`!F!B"(Fw!w>#XCC7B#7`
+A
#F
-l0F!FhBI0F!*FKFnh5QFB"00B)L+F
-
+l0F!FnhBI0F!*FKFnh5QFB"00B)L+F
+
"
-# 
-# 
-E
+# 
+# 
+E
$
-E F@_@F5)FF@#@Fpd
-GF0k0FI:F #GF0F-L
-[F
-#GF0eiPF9I #GFPF#
-iI)GFPF
- "F0, B
-
+E {F@_@F5)FF@#@Fpd
+GF0k0FI:F #GF0F'L
+[F
+#GF0eiPF9I #GFPF
+iI)GFPF
+ "@0, B
+
+
+
+
+
+
+
+
+
+
+
+
Oc@DcOHsOhs `
KB OsOss `
-
- h ch #ihMKBSBSB@0@@DF
+
+H 
+ h ch #ihMKBSBSB@0@@dF
@FlG
-@FyG
-&KB &KB %H%H%H%H%H
-
-F
-lGB.(FFPK"H@Q
-
-
-
-h ch `Hh #iciii-KBS(F#
-L F"0(
-h kh `Hh +ikiiiDKB.أCB)أ
-kh F
+@FyG
+&KB &KB %H%H%H%H%H
+
+F
+lGB.(FFPK"H@Q
+
+
+
+h ch `Hh #iciii-KBS(F#
+L F"0(
+h kh `Hh +ikiiiDKB.أCB)أ
+kh F
+K lG+h(`B(LH0F,F
K"L@A
-H F
+H F
 N(ر(( "J@DAH
* I"F
-3h2`BL!)F(F
-K L"
-KL"
-p`3X<3
-Gih Gi)i G0F8F
-
-pX<3
-
-pX<3
-Gii G0F58F
-KBsB HH
-
-
+3h2`BL!)F(F
+K L"
+KL"
+p"3<I3
+Gih Gi)i G0F8F
+
+p<I3
+
+p<I3
+Gii G0FO8F
+KBsB HH
+
+
- -KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#FB*')F2F#F. )F2F#F4c
-A
-
-I*hiFK@F`jh[m"aJFGhQF:FL>hFh' I
-`hhh
-L(+
+ -KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#FB*')F2F#F. )F2F#F/4c
+A
+
+c*hiFK@F`jh[m"aJFGhQF:FL>hFh' I
+L(+
F,
-FFKBsB%
-
+FFKBsB%
+
(F
--KBPJF*F!
+-KBPJF*F!
KB%PAq)KB3B3B F@@𝻽@?
-F(s
-
-)H>(H;(H8'He'Hb&H_&H\%HY%HV$HhhF0V3xO
-
-
+F(
+
+)H>(H;(H8'He'Hb&H_&H\%HY%HV$HhhF0V3xO
+
+
@FlG
-@FqG
+@FqG

po?L
khh
U5LT
' H@eK"
@F9F2F PF`K@m H"
-L
-2-2Q2j2
+L
 B1
@@ -404,44 +430,44 @@ F(s

O
-O x2xixBH3
+O x2xixBHy
zOj

O
-O x3xixBHFȱ 1"9F#O  FCF0F"m
+O x3xixBHFȱ 1"9F#O  FCF0F"
zOj

O
-O x3xixBH|IF
-D HFQF:F Fq]
- J@qUZU5-<
-
-
+O x3xixBHIF
+D HFQF:F 4Fq]
+ J@qUZU5-<
+
+
03
-"F
+"F
CC<#
-҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3
-JOp3FR#0"FiG
-l#c\2 l# \32l# #* #OpFY" i"FG  #52< #
+҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3
+JOp3FR#0"FiG
+l#c\2 l# \32l# #* #OpFY" i"FG  #52< #
' '
7''7' 
' '
-3F'
-T'5J@ 3+:hB;`0F! F
-%DOS
+3F'
+T'5J@ 3+:hB;`0F! F4-GFFF
+%DOS
F
F @ H @q@ T@L Z#@ LLD]3+ hFDF
F!F 
@ H   T@LDY#@\D7L3 +  f .F
F!F4FZ#`  ^D H u ` 3V@l0+  5De F&D!F4F.Fdd P Hf  U@\DZ#PMD8 P3@+ b
-F5D
+F5D
K
F*F#F8LOe,M@e
@@ -471,7 +497,7 @@ Kb
KCbFpG pG

FF;FZFOU pU
-
+
Kb`
K`
Ka
@@ -493,51 +519,50 @@ CckCs{Cs#O OHEh A 
OBj JOCjJ
 Eg
G 
-E 
-2BE
+E 
+2BE
O
-viHFYF
-_J@ !
-
- 
+viHFYF
+_J@ !
+
+ 
4 , J
-KC$PH 4 ,HO4
+KC$PH 4 ,HO4
4 , J
-KC$PH 4 ,HO4
+KC$PH 4 ,HO4
4 , J
-KC$PH n 4 ,HO4 e
-F
-ah
-G
-
-
-IQ" )FjFG
-
+KC$PH n 4 ,HO4 e
+ah
+G
+
+
+IQ" )FjFG
+

-Eѻ
-IQ" )FiFGFPF\\J@T3+0F Fp
-AF"6? ( i@FYFG
+Eѻ
+IQ" )FiFGFPF\\J@T3+0F Fp4-OFFFF {
+AF"6?  ( i@FYFG

JAFR#0FrjG!8F
+FoйF;|\#T34tLE\U4,1F
-+FW
++FW
i  bi
- 1F Dd
-hi
+ 1F Dd
+hi
iIF ci "3F@FF
F
- ci 3F&`F;#iO
-l iGch
+ ci 3F&`F;#iO
+l iGch
qH
0
-QF
-& F
-  4F
-!CZF"
- .i  nii.ji#F"{F@T KhkG
-,l5m FG9 FADGF
-i IF8FCFF[i GG#40!hGh"ah8F
+QF
+& F
+  4F
+!CZF"
+ .i  nii.ji#F"{F@T KhkG
+Fl5m FG9 FADGF
+i IF8FCFF[i GG#40!hGh"ah8F
F
QFZFKFF
GF
@@ -548,62 +573,62 @@ IQ" )FiFGFPF\\J@T3+0F Fp
FGF
GF
*jGF0iGFpi)iGF@iiiGF#+`+j
-
-r 8FIFBF(
+
+ 8FIFBF(
m
O 
- < d ! "()+ ,lxhG F
-F8F!h2SFB
-
-J+@XFF
-F
--FB?P{B?LXF
- @:F
-4JUmFGF
-
+ < d ! "()+ ,lxhG F
+F8F!h2SFB
+
+J+@XFF
+F
+-FB?P{B?LXF4<I3F@h K[iG
+ @:F
+4JUmFGF
+
GF
 GF
- GF
+ GF
F
-Qi"GF
+Qi"GF
L lGF#m GF
F
(`h` .0;@<EAF``,u,a(bke cg*clc0
-<@c0PeBed@,fx@@@ @@@
- F
-PFC
+<@c0PeBed@,fx@@@ @@@
+#F
+PFC
 
-
-  $Ꭽ!#)``b:+c
- `,u,ablc<@cȃCD
-
- $ $
+
+  $Ꭽ!#)``b:+c
+ `,u,ablc<@cȃCD
+
+ $ $

- 
-2`"bB"b5k`F`*cbOcje"
+ 
+2`"bB"b5k`F`*cbOcje"
-
-j`FbObbB#`+cke#e0tc<@c
+
+j`FbObbB#`+cke#e0tc<@c
-
-
-?
-o
-
- F)F( F!F*F;h {XhF!F8F
+
+
+Y
+
+
+ F)F"( F!F*F;h XhF!F8F
Kh+F
-W F
-X
+q F
+r
OepS%`%UiF u@FS&`u@&S&`Fu@.qq. Nq.
=qS%`_*%iF u@FS&`
'Prih@P@S$ P@S* B
s sJs
-s
+s
OepS%`%eiF u@FS&`u@&S&`Fu@.qq. Nq.
=GqS%`ղ%iF u@FS&`*u@&S&`Fu@.rr. Nr.
S"P rE
s sJs
-s
+s
? ? \'pX+'FMOW+pGFIOjW+pEOW*
'V'p GU'pi T)p h 3h1_@?
X*
@@ -613,224 +638,224 @@ X*
BU" gT'p
$J'R'p"J
GR'piJ
-R)pBOr1K@J@Os$b@$33Z@AK@A2S@C``
+R)pBOr1K@J@Os$b@$33Z@AK@A2S@C``
@% @$  
 2*
 7
 28*
@$?~p?P%`Q"pG
-@%2*3+
-
-
+@%2*3+
+
+
40 F9FG8O
B80 FGC6F.O+pnp.؁#pkp5?҂#pkp3
p5
҃#.qkp3 p3
p5
F
-GFk F  GEѳk FGFNAF3lG K[iG!FmFG
-3
+GFk F  GEѳk FGFNAF3lG K[iG!FmFG
+3
u
-a(1"0F
-F
+a(1"0F
+F
V <VṾ+M
-@]J@BP1` 6%u%a(4$ #8F
-$$
-uFXFF
-#8F
-:
-*F
-F F
-Xcx
-QXF!F5FO
-:F
- 
+@]J@BP1` 6%u%a(4$ #8F
+$$
+FXFF
+#8F
+T
+DF
+2F F
+Xcx
+kXF!F5FO
+:F
+ 

E0F
- F
-OO @FH208 (KVpGd pG
-!(h
-! p\
-!p(h p\
-!phh
-! p\
-! qhh p\
-!`qh
-! p\
-!qh p\
-!qh
-! p\
-! rh p\
-!`r(i
-! p\
-!r(i p\
-!rhi }
-! p\
-! shi p\x`s+j iiN
-!si ]
-! kp\`
-!si cp\X
-! t(j J
-! Xp\M
-!`t(j Pp\E#tZ ?#sbp
+ F
+OO @F)T208 (KVpGd pG
+!(h
+! p\
+!p(h p\
+!phh
+! p\
+! qhh p\
+!`qh
+! p\
+!qh p\
+!qh
+! p\
+! rh p\
+!`r(i
+! p\
+!r(i p\
+!rhi
+! p\
+! shi p\x`s+j iiN
+!si w
+! p\`
+!si }p\X
+! t(j d
+! rp\M
+!`t(j jp\E#tZ ?#sbp
$p҃#,qkp# p#
-$pV 8(O
-^FHF
-ZF F
-VF%h(F
-c8F
-_
-YYF"F 8
+$pV 8(O
+xFHF
+tF F
+pF%h(F
+}8F
+y
+sYF"F 8
O
-aBFYD(F
-
-
+9aBFYD(F
+3
+
+]b
`i
-#`O 0FF
-8F
-(F
-O
+#`O 0FF
+8F
+(F
+O
O
O
-PF
+PF

E
-WF0F
-SF@F
-OF$h F
-\8F
-X
-RCm
+qF0F
+mF@F
+iF$h F
+v8F
+r
+lCm
-1#
+K#
0D
-
+
(F:KAFS"0[iG@EFQ!FZF ;F 9
hB`#
-!F
-D2
+!F
+D2
`
-8F
- F
-##
-aF0F
-]F0F
-Y0F
-U F4 F
-^(F
-ZF
-U
-N <+# F:RFYF
-@F
+8F
+ F
+##
+{F0F
+wF0F
+s0F
+o F4 F
+x(F
+tF
+o
+h <+# F:RFYF
++@F
JF
-
+%

BoR

E
-`.['0[mGF
+`.['0[mGF
aRmGF['0)FmGFH(FAFJF
-U`@F
-
-(F
- F
-#
-LF(F
-H(F
-DF(F
-@FF
-IF
-D
->
-7
-[' RmGF
+U`@F
+
+(F
+ F
+#
+fF(F
+b(F
+^F(F
+ZFF
+cF
+^
+X
+Q
+[' RmGF
1Fm"GF
m GF
IFmBFGF
QFmGF
-" IFX 0BF
-8FQFoFD
-WQF
-W"U
+" IFX 0BF
+8FQFoFD
+WQF
+W"U
x@X p`
-HF
-
-0F
-$$
+HF
+
+0F
+$$
# BTPFy
-
-
+2
+
0GF
0F8ZF
0F
HFZF
HF
- Y
+ Y
PFQFZF
PFQFZF
PF[FR@RFPGF
FFJ RiGJ
- G
+ G
FGF
FGF
FnGF
FGF
FGF
OFFmGF
-!F KFmGF
+!F KFmGF
OF;nGF
~OFFmGF
qOFmGF
-NF3nGF
+NF3nGF
QO!hFmGF
CO
FnGF
-OmFGF
+OmFGF
uOFmGF
-`h)FmFGF
+`h)FmFGF
i AF "0F#`
- 0F
-K(F*F@KFGF
-7pZ( RmG
-FGF
-egI0F_z1F O  #F {O O
+ 0F
+K(F*F@KFGF
+7pZ( RmG
+FGF
+gI0F_z1F O  #F {O O
-!vF
- J7OE
-
-!F !F !F
-ch"
-FVKFFF;F
-:/FF
-@6K FdF
-+I*H
-x0F
-Jh0`JBZ`
-F J`Y`h```h`KhQ` F)F
-Q2$
-زBؕBشB3B
+!F
+ d7OE
+
+!F !F !F
+ch"
+FpKFFF;F
+:/FF
+@6K F~F
++I*H
+x0F
+Jh0`JBZ`
+F J`Y`h```h`KhQ` F)F
+Q2$
+زBؕBشB3B
ȿ$,($+U
-+,
++,
; 
ܸ#fи*fи @X.jи0и-@_U
3h6C{j

-`H`"
-F O
+`H`"
+F O

AEq0
"
" Fx<F F "
#x( ! AqF FT  ZF
-3333H1@@8@Bddhl
+P33I383H1@@8@Bddhl
;<
E
պ
@@ -840,98 +865,99 @@ Jh0`JBZ`
 :
 2ZE{ #a
-;9
+;9
-Xn`vh`mh`42, 8i8Fi
-
+Xn`vh`mh`42, 88Fi
+
(F!F:Fsih4
-oF  FFOhF
-8
-)
-
-
-C
-`
+oF  FFOhF
+8
+)
+
+
+C
+`
FFFs i[i
-:*+$$**V<hFhp`2`h
+:*+$$**V<hFhp`2`h
zhh

- 7
-!F
+ 7
+!F
"
-cj ##jFpFF OqdF85
-F F]F
-F F8Fh\ Fah
-h!q2FQ@BF
+cj ##jFpFF OqxF85
+F FwF
+F F8Fh\ Fah
+h!q2FQ@BF
p hp
qCqˈ
-qˈ1q0Kx
+qˈ1q0Kx
xCcxCxC#`
-yKyC#yy1C#"À0D
-i 9F2F
+yKyC#yy1C#"À0
+i 9F2F
ü pG
} pG
D pG
-  pG-AFFFF{)F@p"~(F9F2F#FA -AFFFF۱f)F@p"c)FBp"])FDp"W(F9F2F#FAj F
-
+  pG-AFFFF{)F@p"~(F9F2F#FA -AFFFF۱)F@p"c)FBp"])FDp"W(F9F2F#FAj F
+
' '
'T74',T7

Tu8F)F
7 3T+7T8FYF
-
-O
-wa
+
+O
+wa
wa
YW  V 
-U )F
+U )F
Z \  ] 
-^ )F
-pbJphO"php
+^ )F
+pbJphO"php
f,h  i 
-j W)F
-pbJphO"php
+j =)F
+pbJphO"php
L  
- 4M)F
+ 43)F
pJpbhO"pbhpx
-qbJq"hO"qT+q
-` 8kh
--GFFF
-萇Fpi
-FBO
--GFFFF@:7.
-7 !.Fp
+qbJq"hO"qT+q
+` 8kh
+-GFFF
+萇Fpi
+FBO
+-GFFFF@:7.
+7 !.Fp
+3a h?+ VF 
-86
-%D iF
- BFIF0F Fm
-(BF0Fx FdHF !
-8
-*)(F"F
-*4..2 F*F
+86
+%D iF
+ BFIF0Fg Fm
+(BF0F^ FdHF !
+8
+*)(F"F
+*4..2 F*F
pq"q bq
-q
+q
pq"q bq
-q
+q
+hFq
pq"q bq
-q
+q
pq"q bq
-q
-FFUFZ
+q
+FFUFZ

( EѨ - ?+߀k"hB#` +1#0#-3pOup#-؁#psp#?҂#psp+
p#
҃#5qsp+ p+
p#"h
-#`;hhxh
- 
+#`;hhxh
+ 
"FF
-3
-%F
+3
+%F
- a
-%aUF
-+8(x0lxвB$
+ a
+%a;F
++8(x0lxвB$
?҂"pbp*
p"
?҂"pbp*
@@ -943,15 +969,15 @@ Z O
O
L ɲѡT2
-D
+D
&p҃#%qcp+ &p+
-p
+p
=F<F C
p#(!rh 3h ;#*FFO
p҃#,qkp# !p#
-p\T2Bъ2`(0 (0?00`
+p\T2Bъ2`(0 (0?00`
&p҃#%qcp+ &p+
-p
+p
Jh01
F
  B FAF h
@@ -999,7 +1025,7 @@ B
1
FFF!F9FBF#F1F
FFF!F9FBF#F}1F
-FFF!F9FBF#FN1F
+FFF!F9FBF#FN1F
ڰG
Z6:h
8X'O (F OI  
@@ -1011,33 +1037,36 @@ h `:`9F"F3F""?GE
3FE !FXF

-Fx1BxFF3x
-
+Fx1BxFF3x
+
GoQcpn
g))/F
'&&\8!.*Zm,M߳ 8ScTs
ew<
jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų 9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c
?G5 q}#w($@{2
-<L gCB>˾L*~e)Y:o_XGJDl22y2u102q2C 222
-
-1 11=1 0[2
-
-
+<L gCB>˾L*~e)Y:o_XGJDl222102y2K222
+
+1U0o)2
+
+
'8!.m,M 8STs
e
-jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxq\2
-
-
-
-
-
-
-
-3
-3
-3 3 3 3 3
-
+jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxq2
+232
+
+
+
+3
+33#3^
+3
+3
+3 3
+
+
+
+
+
|B|
!\hT[:.6$g
WҖO aiKwZ
@@ -1087,9 +1116,12 @@ o/Dyeڜ
+
+
+
-
+
@@ -1098,7 +1130,7 @@ o/Dyeڜ
FSR 0x%x PC 0x%x TTBR0 0x%X CONTEXIDR 0x%X
-CPUID 0x%x CPSR 0x%x (read from SPSR)
+CPUID 0x%x CPSR 0x%x (read from SPSR)
@@ -1152,19 +1184,21 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+
-
+
-
+
+
+
@@ -1187,14 +1221,14 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+
-
+
@@ -1220,4 +1254,4 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
SECP112R1
;3+#>6.&=5-% <4,$   

- 
+ 
diff --git a/secureos/txlx/bl32.img b/secureos/txlx/bl32.img
index d194375..f3fa6b8 100644
--- a/secureos/txlx/bl32.img
+++ b/secureos/txlx/bl32.img
@@ -1,44 +1,58 @@
e4'
-o
-
+o"
+
+
+FOzq#
+
+H
+O
+N
#
-#
-
-
-"
-"
-YI
-SI
-۲F
-F FBKhBK
- 4
-G4 F "
-G #
-I#FGF FI
-G F$
+#
+
+
+"
+ v
+"
+ N F
+N{
+kI
+eI
+۲F
+F FTKhTK
+
+*" F
+IGF FIG F%
+
Kka
-KZh*b5`]`HH
+KZh*b5`]`HH
BohXXP
K"
-H@(
-
-;`
-!F2F
-+ F9Fj
+H@(
++(3< 1F"F + BbB1F;FKFa1xa
+
+;`
+!F2F|
++ F9Fj
+3hQFGhKFBaK
+4I" '%0KhOV@F"1%
+
+V "79F%88FAF"%4 ,%L/M
+
Q
Q
-Q
-K Esa#a
+Q
+K Esa#a
-A$# F3`K+`
+A$# F3`K+`
-E
+E
,
-E""@
-CB`V" B3B`pG
-
-p
+E""@
+CB`V" B3B`pG
+
+p
@@ -47,416 +61,422 @@ CB`V" B3B`pG
/
/
/
-/F FF
-Zh:x"p
-Z`
+/F ?FF
+Zh:x"p
+Z`
K SBSL B3S
-FF!30F KBS,BSL:B
-# 'wF? ?K
+FF`/30F KBS,BSL:B
+# 'wF? ?K
P
5
 AF
-
+
PCFSS,
-CCL 
- 
-H@_!J
+CCL 
+ 
+H@b!J
-k@F!hhر
+k@F!hhر
BV8/ "h8XB&`hhzh BhbhyhB4 FF h{`B,
-0`#ah E>
+0`#ah E
i = 'w-? #-??
F3h
@h+-
- JEEE0iB@  L\CCP`L}B``ap
+ JEEE0iB@  L\CCP`L}B``ap
Z B`E E D G `1 ) H3+Ѣkh0
-C`eck"c8PG3-GFFFF
+C`eck"Mc8T3-GFFFF
-kBYCh8FIFh(pk
+kBYCh8FIFhrpk
-kXYZQhFk@F![h@k]hCD
-KB
-
+kXYZQhFk@F![h=@k]hCD
+KB
+
?O
2?#?#P?@j
k@i :_вRB@`
-
-M
-
-K"! H(FbK``cb
-FG
+
+M
+
+K"! H(FK``cb
+FG
Eѝ
-0
-JOq H
+0
+JOq H
-
-#hG8"
-
-hD$F]#DBB3$+
+
+#hG8"
+
K"
-H!
-F(
-F(
-
-F(
+H!
+F(
+F(
+
+F(
-H[
-
-cF(
-8F(I
-@F(
-WK"HOq
-
-FR6K
-Hh
-2\c(2hcE2lca2pcx2tc2c2̈c2Ȉc2c2c 2c 2c52HcL2Dca2@c}2Lc2?K!?J@Hh
-q(`
+H[
+
+mF(
+8F(I
+JF(
+WK"HOq
+
+F6K
+Hh
+(`
(JhK "`JhK`pG 0
-pYp p p
-K
- K
- K
- K
- K
- K
-K
-K
+pYp p p
+ K
+ K
+ K
+ K
+ K
+K
+K
K
-H!
-"!cd"Add p22k F:* K
+H!
+"!cd"Add 922k F:* K
*( 
-@j@h
-K`0FK`Zh"p""?B
+@j@h
+K`0F-K`Zh"p""?B
J``KhB
`"h
dbhJdhdhdL
-"i+J`bi`٣iBJ`iS`k+ ѣl=J`#jbcjcjScjc+6K "` j^5K``jY3K`jT2K`jO0K`k#lak
+"i+J`bi`٣iBJ`iS`k+ ѣl=J`#jbcjcjScjc+6K "` j5K``j3K`j2K`j0K`k#lak
hsl"@rB# `rj
-hsl"@rB# `sj 2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b
- 'O 'O'O@"'BFB /"FFIF"F QF*K
-! !
+hsl"@rB# `sj 2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b
+
+ 'O 'O'O@"'BFB a"FFIF"F QF*K
+! !
O
O
-!FJF
- "h
-K@b
-5
-3o0+pOp ѫ~(F!Cvp(F!
+!FJF
+ "h
+K@b
+5
+3o0+pOp ѫ~(F!Cvp(F!
C##
*)OU1O1!K!J)!KO2` JO2Z`"K)OU1O1`Y`J)h C*C##*`
-K"
-HF@ K" Hb!
-H IF" FH0 F)F"8@8!
-HF HFP0F9 -4*F "O4 F!
-HwAFF:F(F
+K"
+HF@ K" Hc!
+Ho IF" FHf0 F)F"8@ܿ8!
+HLF HHFP0F9 -4*F "O4 F!
+H/AFF:F0F
-
+
-
-`
-+h
+
+`
ca4Kh
a3Kh
-a1Khh B#`C"c.Khh B#`C*Kh B"h"* h+0$Khh B#`C"F
+a1Khh B#`C"c.Khh B#`C*Kh B"h"* h+0$Khh B#`C"F
h
-
-#EGFFOqhCo d!
-` 8OrXO0@
-+0+Op`1F8F(̿0 *
+I
+#EGFFOqhC=o d!
+` ^8OrXO0@
++0+Op`1EF8FA(̿0 *
1+l"F+F
0w6pEڴF
-3@P2@o(F<#(Fkheb
-HI+h3K`Kh2`KhBє,0 %ei
+3@P2@o(F<#(F
+HI+h3K`Kh2`KhBє,0 %ei
HF3h+`'x F 0 F :FhGFHFeMO
- ` F
-J
-F)Fhh$iG8[38FK
-F)FhhdiG8[3KXh
-
+ ` F
+J
+F)Fhh$iG8i38FK
+F)FhhdiG8i3KXh
+
FB! <B
@@#
-
+
"FHF
-1F 
-
+;1F 
+

- O 
-
-kGFx@FeF 5F
+ O 
+
+kGFx@FeF 5F
OF9(F!F
KFG
-
-=F O=F O
+
+=F O=F O
?(F 1FG
-@#G`*$
-JF%OD%E 
-IF F F
-
-
- @
+@#G`*$
+JF$%OD%E 
+IF F F
+
+
+ @

*
-O 0 !XFF
+O 0 !XFF
*
-+++h0Fй`
++++h0Fй`
, #iˎ
-SF
+SF
- FY
-6FEKFK
+ FY
+6FEKFK
-K KF
-GKGHhZh #B%
-FF #FF$eF4 aF ]F
-@+"i  QF
+K KF
+GKGHhZh #B%
+FF #FF$F4 F F
+@+"i QF
h 
+ E  D 3BO
O F#
-1FX
+1FX

E B
-FFFFUFWF6"h#KB/FAF
+FFFFUFWF6"h#KB/FAF

- 4Eѳh JB2Bѥb
+ 4Eѳh JB2Bѥb
-
-h FChB10+h
-OO h34ڈj rRiGzBӽ2-CFjӱhF
-OO h34ڈj riGzBӽ2
+
+h FChB10+h
+OO h34ڈj rRiGzBӽ2-CFjӱhF
+OO h34ڈj riGzBӽ2
Hh!
-3ڈj9F BFG04zBH
+3ڈj9F BFG04zBH
O hj
3ڈj @YiG
-)KB
-8(
-K[nKnKoK[o{)FGO3`5a
-
-
+)KB
+8(
+K[nKnKoK[o{)FGO3`5a
+
+
+3
-3CEрLYF
-t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FzLL
-
-L L )FF
-
-**JhiGiipjj JjkLhihGH
+3CEрLYF
+t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FLL
+
+L L )FF
+
+**JhiGiipj JjkLhihGH
**
-Ji JVkFi*F#FGFH
+Ji JVkFi*F#FGFH
FFFF
-1hiaF
-uAF(FJF#FF
+1hiaF
+uAF(FJF#F;F
RB@7! OqOq@ !
- jGF`YF O@B
+ jGF`YF O@B
 2h+<

-2hF YF
-
-AF"nF
-p8F
+2hF YF
+
+AF"F
+pDF
KB
-"h
-F
-AF
- F ,GF)@;Iph+z9F2F(F5KFp
-@ F,CF0(XB3+I
- F
- 
-
-F
-XF
+"
++F
+AF
+ F ,GF)@5Iph+~9F2F(F/KFp
+@ F,CFf(XB3%I
+ F
+ 
+
+F
N
N
-N(F:N
-
-F
+N(FN
+
+F
` bF
-L
-F/#;F"#"
+L
+F/#;F"#"[
KB
-E)F
+E)F
L
-L
-
-F
-O
-F
-!i$#c ai.Kh $# jk
-N  F N
-$h
-. *F
-"`+`
-0F
+L
+
+F
+O
+F
+!i$#c ai.Kh $# jk
+N  F N
+$h
+. *F
+"`+`
+0F
!h+1
!h[
1!+i[h1! !
-!ii!p"iڱ
+!ii!p"\iڱ
Kh:F3F*F
-
-#
-K!O
+
+#
+K!O
!"0#F"jF
-L#LK"h@ > F&p[32
-L
-
+LcLK"h@ > F&pj32
+L
+

PO
3E
-[k=
+[k
03CD
-0 F
-!"` 0*SFF
-FFF&
-O
-TPH
-
-LH:(F F L3[3
-+FIFS :F@D
-IFh
+0 F
+!"` 0*SFF
+FFF&
+O
+TPH
+
+LHSt(F5 F Z3 j3
++FIFS :F@D
+IFh
W(h
-
-
-7O*9_D?% _4]FOU _IF"FU
-FP8FI"F#F
+
+
+7O*9_D?% _4]FOU _IF"FU
V!F(hJF3FF
-
-(,D#2`!F!B{"(Fw!c>#XCC7B#7`
-A
+
+(,D#2`!F!B"(Fw!>#XCC7B#7`
+A
#F
-l0F!F8hBI0F!*FKFnh5QFB"00B)L+F
-
+l0F!FxhBI0F!*FKFnh5QFB"00B)L+F
+
"
-# 
-# 
-E
+# 
+# 
+E
$
-E EF@_@F5q)FF@#@Fspd
-GF0k0FI:F #GF0FL
-[F
-#GF0eiPF9I #GFPF
-iI)GFPF
- ",0, B
-
+E F@_@F5)FF@#@Fpd
+GF0k0FI:F #GF0FgL
+[F
+#GF0eiPF9I #GFPF]
+F#(
+iI)GFPF
+ "0, B
+
+
+
+
+
+
+
+
+
+
+
+
Oc@DcOHsOhs `
KB OsOss `
-
- h ch #ihMKBSBSB@0@@F
+
+ h ch #ihMKBSBSB@0@@dF
@FlG
-@FyG
-"KB "KB !H!H!H!H!H
-
-F
-lGB.(FFPK"H@Q
-
-
-
-h ch `Hh #iciii-KBS(F5
-L F"0(
-h kh `Hh +ikiii>KB"أ@SBЌ:K
-kh F
-+K lG+h(`B(LH0FZF
- K"LOa
-H M F
- (ر(( "J@AAH
-* I"F
-3h2`BL!)F(F
-K L"
-KL"
-p#3M3
-Gih Gi)i G0F 8F
-
-pM3
-
-pM3
-Gii G0Fo8F
-KBsB HH
-
-
+@FyG
+&KB &KB %H%H%H%H%H
+
+F
+lGB.(FFPK"H@Q
+
+
+
+h ch `Hh #iciii-KBS(F#
+L F"0(
+h kh `Hh +ikiiiDKB.أCB)أ
+kh F
++K lG+h(`B(LH0F,F
+ K"L@A
+H S F
+ (ر(( "J@DAH
+* I"F
+3h2`BL!)F(F
+K L"
+KL"
+p013\[3
+Gih Gi)i G0F+8F
+
+p\[3
+
+p\[3
+Gii G0F8F
+KBsB HH
+
+
- -KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*3')F2F#F  )F2F#F&O4c
- A
-
-*hiFK@F`jh[m"aJFGhQF:Fz>hFh' I
- 
-L(+
+ -KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*3')F2F#F  )F2F#F&o4c
+ A
+
+*hiFK@F`jh[m"aJFGhQF:FL>hFh' I
+L(+
F,
-FFKBsB%
-
+FFKBsB%
+
(F'
--KBPJF*F#
+-KBPJF*F#
KB%PAq)KB3B3B F@O@@
-F(
-
-2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O
-
-
+F(
+
+2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O
+
+
@FlG
-@FqG
-
-o?L
-khh
-5LT
-a H@^K"
-U@F9F2F F`K@f H"
-@L
- B1
+@FqG
+
+o?L
+khh
+5LT
+g H@eK"
+[@F9F2F F`K@m H"
+FL
+ B1
zOj

O
-O x2xixBH
+O x2xixBH
zOj

O
-O x3xixBHFȱ 1"9F#O  FCF0F"
+O x3xixBHFȱ 1"9F#O  FCFk0F"
zOj

O
-O x3xixBH\IF
-hDzXFQF"(HFQF"#HFa"#)F#
-D HFQF:F Fq]
- J@qUZU5-<
-
-
+O x3xixBH0IF
+D HFQF:F &Fq]
+ J@qUZU5-<
+
+
03
-"F
+"F
CC<#
-҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3
-JOp3FR#0"FiG
-l#c\2 l# \32l# #* #OpFY" i"FG  #52< #
+҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3
+JOp3FR#0"FiG
+l#c\2 l# \32l# #* #OpFY" i"FG  #52< #
' '
7''7' 
' '
-3F'
-T'5J@ 3+:hB;`0Fa F04-GFFF
-%DOS
+3F'
+T'5J@ 3+:hB;`0Fa F85-GFFF
+%DOS
F
F @ H @q@ T@L Z#@ LLD]3+ hFDF
F!F 
@ H   T@LDY#@\D7L3 +  f .F
F!F4FZ#`  ^D H u ` 3V@l0+  5De F&D!F4F.Fdd P Hf  U@\DZ#PMD8 P3@+ b
-F5D
+F5D
K
F*F#F8LOe,M@e
@@ -475,7 +495,7 @@ J 
 p6P.WDO
D*FF
- ODaED[D``aDa
+ ODaED[D``aDa
Kb`
K`
Ka
@@ -483,10 +503,10 @@ KCa
Ka
Ka
Kb
-KCbFpG pG
+KCbFpG pG

FF;FZFOU pU
-
+
Kb`
K`
Ka
@@ -494,7 +514,7 @@ KCa
Ka
Ka
Kb
-KCbFpG pG
+KCbFpG pG
y Okqx0  #JK CxJ$ E C4y)Cx$ #ECC Cty)C$y6#fE@
2O@ p#
 A;
@@ -508,118 +528,121 @@ CckCs{Cs#O OHEh A 
OBj JOCjJ
 Eg
G 
-E 
-HFLI
+E 
+HFLI
O
-PF
- KS&0h FF
+PF
+ KS&0h FF
O
-viHFYF
-_J@ !
-
- 
+viHFYF
+_J@ !
+
+ 
4 , J
-KC$PH 4 ,HO4
+KC$PH 4 ,HO4
4 , J
-KC$PH 4 ,HO4
+KC$PH 4 ,HO4
4 , J
-KC$PH 4 ,HO4
-J
-ah
-G
-
-
-IQ" )FjFG
-
+KC$PH 4 ,HO4
+J
+ah
+G
+
+
+IQ" )FjFG
+

-Eѻ
-IQ" )FiFGFPF\\J@T3+0F Fp04-OFFFF {
-AF"6? ( i@FYFG
+Eѻ
+IQ" )FiFGFPF\\J@T3+0F Fp85-OFFFF {
+AF"6? ( i@FYFG

JAFR#0FrjG!8F
+FoйF;|\#T34tLE\U4,1F
-+FW
++FW
i  bi
- 1F >d
-hi
- iIF ci "3F@FF
- ci 3F&`F;#iO
-l iGch
+ 1F Dd
+hi
+ iIF ci "3F@FF
+F
+ ci 3F&`F;#iO
+l iGch
qH
0
--F
-& F
-  .F
-!CZF"
- .i  nii.ji#F"uF@T KhkG
-l5m FG9 FADGF
-i IF8FCFF[i GG#40!hGh"ah8F
+-F
+& F
+  4F
+!CZF"
+ .i  nii.ji#F"{F@T KhkG
+.l5m FG9 FADGF
+i IF8FCFF[i GG#40!hGh"ah8F
lF
-QFZFKFF
+QFZFKFF
GF
-G
+G
GF
G
GF
FGF
GF
*jGF0iGFpi)iGF@iiiGF#+`+j
-
-T 8FIFBF(
+
+t 8FIFBF(
m
O 
- < d ! "()+ ,lxhG F
-
-Sh
-J+@XFF
-F
--FB?P{B?LXF04M3F@h K[iG
- @:F
-4JUmFGF
-
+ < d ! "()+ ,lxhG F
+
+sh
+J+@XFF
+F
+-FB?P{B?LXF85\[3F@h K[iG
+ @:F
+4JUmFGF
+
GF
 GF
- GF
- F
-Qi"GF
-L lGF#m GF
-(`h` .0;@<EAF``,u,a(bke cg*clc0
-<@c0PeBed@,fx@@@ @@@
-y # c
-F
-PFC
+ GF
+ F
+Qi"GF
+L lGF#m GF
+F
+(`h` .0;@<EAF``,u,a(bke cg*clc0
+<@c0PeBed@,fx@@@ @@@
+h@$[n c
+ F
+PFC
 
-
-  $Ꭽ!#)``b:+c
- `,u,ablc<@cȃCD
-
+
+  $Ꭽ!#)``b:+c
+ `,u,ablc<@cȃCD
+

- 
-2`"bB"b5k`F`*cbOcje"
+ 
+2`"bB"b5k`F`*cbOcje"
-
-j`FbObbB#`+cke#e0tc<@c
+
+j`FbObbB#`+cke#e0tc<@c
-sF
-
-'
-
-x F)F( F!F*F;h cXhF!F8F
+F
+
+A
+
+ F)F
+( F!F*F;h }XhF!F8F
Kh+F
-? F
-@
+Y F
+Z
OepS%`%UiF u@FS&`u@&S&`Fu@.qq. Nq.
=qS%`_*%iF u@FS&`
'Prih@P@S$ P@S* B
s sJs
-s
+s
OepS%`%eiF u@FS&`u@&S&`Fu@.qq. Nq.
=GqS%`ղ%iF u@FS&`*u@&S&`Fu@.rr. Nr.
S"P rE
s sJs
-s
+s
? ? \'pX+'FMOW+pGFIOjW+pEOW*
'V'p GU'pi T)p h 3h1_@?
X*
@@ -629,217 +652,214 @@ X*
BU" gT'p
$J'R'p"J
GR'piJ
-R)pBOr1K@J@Os$b@$33Z@AK@A2S@C``
+R)pBOr1K@J@Os$b@$33Z@AK@A2S@C``
@% @$  
 2*
 7
 28*
@$?~p?P%`Q"pG
-@%2*3+
-
-
+@%2*3+
+
+
40 F9FG8O
B80 FGC6F.O+pnp.؁#pkp5?҂#pkp3
p5
҃#.qkp3 p3
p5
F
-GFk F  GEѳk FGFNAF3lG K[iG!FmFG
-3
+GFk F  GEѳk FGFNAF3lG K[iG!FmFG
+3
u
-a(1"0F
+a(1"0F
V <VṾ+M
-@]J@BP1` 6%u%a(4$ #8F
-Xcx
-:F
- 
+@]J@BP1` 6%u%a(4$ #8F
+:F
+ 

E0F
- F
-OO @FU208 (KVpGd pG
-!(h
-! p\
-!p(h p\
-!phh
-! p\
-! qhh p\
-!`qh
-! p\
-!qh p\
-!qh
-! p\
-! rh p\
-!`r(i x
-! p\
-!r(i ~p\
-!rhi e
-! sp\
-! shi kp\x`s+j iiN
-!si E
-! Sp\`
-!si Kp\X
-! t(j 2
-! @p\M
-!`t(j 8p\E#tZ ?#sbp
+ F
+OO @Fa208 (KVpGd pG
+!(h
+! p\
+!p(h p\
+!phh
+! p\
+! qhh p\
+!`qh
+! p\
+!qh p\
+!qh
+! p\
+! rh p\
+!`r(i
+! p\
+!r(i p\
+!rhi 
+! p\
+! shi p\x`s+j iiN
+!si _
+! mp\`
+!si ep\X
+! t(j L
+! Zp\M
+!`t(j Rp\E#tZ ?#sbp
$p҃#,qkp# p#
-$pV 8(O
-FFHF
-BF F
->F%h(F
-K8F
-G
-AYF"F 8
+$pV 8(O
+`FHF
+\F F
+XF%h(F
+e8F
+a
+[YF"F 8
O
-aBFYD(F
-
+!aBFYD(F
+
+]b
`i
-#`O 0FF
-8F
-(F
-O
+#`O 0FF
+8F
+(F
+O
O
O
-PF
+PF

E
-?F0F
-;F@F
-7F$h F
-D8F
-@
-:Cm
+YF0F
+UF@F
+QF$h F
+^8F
+Z
+TCm
-#
+3#
0D
-
+
(F:KAFS"0[iG@EFQ!FZF ;F 9
hB`#
-!F
-D2
+!F
+D2
`
-8F
- F
-##
-IF0F
-EF0F
-A0F
-= F4 F
-F(F
-BF
-=
-6 <+# F:RFYF
-@F
+8F
+ F
+##
+cF0F
+_F0F
+[0F
+W F4 F
+`(F
+\F
+W
+P <+# F:RFYF
+@F
JF
-
+

BoR

E
-`.['0[mGF
+`.['0[mGF
aRmGF['0)FmGFH(FAFJF
-U`@F
-
-(F
- F
-#
-4F(F
-0(F
-,F(F
-(FF
-1F
-,
-&
-
-[' RmGF
+U`@F
+
+(F
+ F
+#
+NF(F
+J(F
+FF(F
+BFF
+KF
+F
+@
+9
+[' RmGF
1Fm"GF
m GF
IFmBFGF
QFmGF
-" IFX 0BF
-8FQFoFD
-pWQF
-jW"U
+" IFX 0BF
+8FQFoFD
+WQF
+W"U
x@X p`
-|HF
-y
-v0F
-s$$
-# BTPF[
-
-
+HF
+
+0F
+$$
+# BTPFU
+
+
0GF
0F8ZF
0F
HFZF
HF
- Y
+ Y
PFQFZF
PFQFZF
PF[FR@RFPGF
FFJ RiGJ
- G
+ G
FGF
FGF
FnGF
FGF
FGF
OFFmGF
-!F KFmGF
+!F KFmGF
OF;nGF
~OFFmGF
qOFmGF
-NF3nGF
+NF3nGF
QO!hFmGF
CO
FnGF
-OmFGF
+OmFGF
uOFmGF
-`h)FmFGF
+`h)FmFGF
i AF "0F#`
- 0F
-K(F*F@KFGF
-7pZ( RmG
-FGF
-(F)FOIX(F)F2F#F*F)F3F@F
-MgI0F_z1F O  #F {O O
+ 0F
+K(F*F@KFGF
+7pZ( RmG
+FGF
+ggI0F_z1F O  #F {O O
-!^F
- 27OE
-
-!F !F !F
-ch"
-F>KFFF;F
-:/FF
-@6K FLF
-+I*H
-x0F
-Jh0`JBZ`
-F J`Y`h```h`KhQ` F)F
-Q2$
-زBؕBشB3B
+!xF
+ L7OE
+
+!F !F !F
+ch"
+FXKFFF;F
+:/FF
+@6K FfF
++I*H
+x0F
+Jh0`JBZ`
+F J`Y`h```h`KhQ` F)F
+Q2$
+زBؕBشB3B
ȿ$,($+U
-+,
-232//-O@EFFF
++,
; 
ܸ#fи*fи @X.jи0и-@_U
3h6C{j

-`H`"
-F O
+`H`"
+F O

AEq0
"
" Fx<F F "
#x( ! AqF FT  ZF
-3 333H1@@8@Bddhl
+r-3-3k-3Z-3H1@@8@Bddhl
;<
E
պ
@@ -849,98 +869,100 @@ Jh0`JBZ`
 :
 2ZE{ #a
-;9
+;9
-Xn`vh`mh`42, 8Q8Fi#U<[j `kG#ij+U<iG8@"-CFFFF FiF#F#;`#AF;`Y<pk"hjkFG!FFhF
-
+Xn`vh`mh`42, 8k8Fi)U<[j `kG#ij+U<iG8@(-CFFFF FiFF#;`#AF;`Y<pk"hjkFG!FFhF(F -AFF Fi
+
(F!F:Fsih4
-oF  FFOhF
-8
-)
-
-
-C
-`
+oF  FFOhF
+8
+)
+
+
+C
+#FhC/
+`
FFFs i[i
-:*+$$**V<hFIhp`2`h
+:*+$$**V<hFChp`2`h
zhh

- 7
-!iF
+ 7
+!cF
"
-cj ##jFpFF OqF85
-F FF
-F FQ8Fh\ F ah
-h!q2FQ@BF
+cj ##jFepFF OqF85
+F FmF
+F F8Fh\ Fah
+h!q2FQ@BF
+#""
p hp
qCqˈ
-qˈ1q0мKx
+qˈ1q0Kx
xCcxCxC#`
-yKyC#yy1C#"À0
-i 9F2F
+yKyC#yy1C#"À0ʼ
+i 9F2F
 pG
 pG
z pG
-B pG-AFFFF{k)F@p"(F9F2F#FA -AFFFF۱P)F@p")FBp")FDp"(F9F2F#FA F
-
+B pG-AFFFF{)F@p"(F9F2F#FA -AFFFF۱)F@p")FBp")FDp"(F9F2F#FA F
+
' '
'T74',T7

Tu8F)F
7 3T+7T8FYF
-
-O
-wa
+
+O
+wa
wa
YW  V 
-U )F
+U )F
Z \  ] 
-^ )F
-pbJphO"php
+^ )F
+pbJphO"php
f,h  i 
-j w)F
-pbJphO"php
+j W)F
+pbJphO"php
L  
- 4s)F
+ 4S)F
pJpbhO"pbhpx
-qbJq"hO"qT+q
-` 8kh
--GFFF
-萇Fpi
-FBO
--GFFFF@:7.
-7 !.Fp
+qbJq"hO"qT+q
+` 8kh
+-GFFF
+萇Fpi
+FBO
+-GFFFF@:7.
+7 !.Fp
+3a h?+ VF 
-86
-%D iF
- BFIF0F Fm
-(BF0F FdHF !
-8
-*)(F"F
-*4..2 F*F
+86
+%D iF
+ BFIF0F Fm
+(BF0Fv FdHF !
+8
+*)(F"F
+*4..2 F*F
pq"q bq
-q
+q
pq"q bq
-q
+q
pq"q bq
-q
+q
pq"q bq
-q
-FFUFZ
+q
+FFUFZ

( EѨ - ?+߀k"hB#` +1#0#-3pOup#-؁#psp#?҂#psp+
p#
҃#5qsp+ p+
p#"h
-#`;hhxh
- 
+#`;hhxh
+ 
"FF
-3
-%F
+3
+%F
- a
-%amF
-+8(x0lxвB$
+ a
+%aSF
++8(x0lxвB$
?҂"pbp*
p"
?҂"pbp*
@@ -952,15 +974,15 @@ Z O
O
L ɲѡT2
-D
+D
&p҃#%qcp+ &p+
-p
+p
=F<F C
p#(!rh 3h ;#*FFO
p҃#,qkp# !p#
-p\T2Bъ2`(0 (0?00`
+p\T2Bъ2`(0 (0?00`
&p҃#%qcp+ &p+
-p
+p
Jh01
F
  B FAF h
@@ -1008,7 +1030,7 @@ B
1
FFF!F9FBF#F1F
FFF!F9FBF#F}1F
-FFF!F9FBF#FN1F
+FFF!F9FBF#FN1F
ڰG
Z6:h
8X'O (F OI  
@@ -1020,35 +1042,40 @@ h `:`9F"F3F""?GE
3FE !FXF

-Fx1BxFF3x
-
+Fx1BxFF3x
+
GoQcpn
g))/F
'&&\8!.*Zm,M߳ 8ScTs
ew<
jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų 9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c
?G5 q}#w($@{2
-<L gCB>˾L*~e)Y:o_XGJDl{2e2A2u10292 222
-
-
-
-
+<L gCB>˾L*~e)Y:o_XGJDls2]29210212 222
+
+
+
+
'8!.m,M 8STs
e
-jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxq2
-
-
-
-3l
-3
-3
-3x 3 3
-3. 3k 3 3
-
-
-
-
-
+jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxqơ3
+38
+3Y
+3
+3
+3
+3
+3
+3* 3S 3
+
+3
+33F33F3w33
+
+
+
+
+
+
+
|B|
!\hT[:.6$g
WҖO aiKwZ
@@ -1098,9 +1125,12 @@ o/Dyeڜ
+
+
+
-
+
@@ -1109,7 +1139,7 @@ o/Dyeڜ
FSR 0x%x PC 0x%x TTBR0 0x%X CONTEXIDR 0x%X
-CPUID 0x%x CPSR 0x%x (read from SPSR)
+CPUID 0x%x CPSR 0x%x (read from SPSR)
@@ -1163,19 +1193,21 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+
-
+
-
+
+
+
@@ -1198,14 +1230,14 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+
-
+
@@ -1220,7 +1252,7 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
-
+

    
@@ -1231,4 +1263,4 @@ CPUID 0x%x CPSR 0x%x (read from SPSR)
aml-sha1
;3+#>6.&=5-% <4,$   

- 
+ 
diff --git a/ta_export/host_include/conf.h b/ta_export/host_include/conf.h
index 00e491e..f534ec8 100644
--- a/ta_export/host_include/conf.h
+++ b/ta_export/host_include/conf.h
@@ -1,5 +1,6 @@
#ifndef _out_arm_plat_meson_include_generated_conf_h_
#define _out_arm_plat_meson_include_generated_conf_h_
+#define CFG_ANTIROLLBACK_TA 1
#define CFG_ARM32_core 1
#define CFG_ARM32_ta_arm32 1
/* CFG_BOOT_SECONDARY_REQUEST is not set */
@@ -43,13 +44,17 @@
#define CFG_CRYPTO_SHA512 1
#define CFG_CRYPTO_SIZE_OPTIMIZATION 1
#define CFG_CRYPTO_XTS 1
+/* CFG_DESCRAMBLER is not set */
/* CFG_DT is not set */
#define CFG_DTB_MAX_SIZE 0x10000
#define CFG_EFUSE 1
-/* CFG_EFUSE_READ_ALL_WRITE_BLOCK is not set */
+#define CFG_EFUSE_READ_ALL_WRITE_BLOCK 1
#define CFG_ENCRYPT_TA 1
#define CFG_GENERIC_BOOT 1
/* CFG_GP_SOCKETS is not set */
+/* CFG_HW_KL is not set */
+/* CFG_HW_KL_TEST is not set */
+#define CFG_HW_KL_VENDORID {0x2a,0x42}
#define CFG_KERN_LINKER_ARCH arm
#define CFG_KERN_LINKER_FORMAT elf32-littlearm
#define CFG_LIBUTILS_WITH_ISOC 1
@@ -66,7 +71,6 @@
/* CFG_PAGED_USER_TA is not set */
#define CFG_PM_STUBS 1
#define CFG_REE_FS 1
-#define CFG_RPMB_FS 1
#define CFG_RPMB_FS_DEV_ID 0
/* CFG_RPMB_WRITE_KEY is not set */
/* CFG_SECURE_DATA_PATH is not set */
diff --git a/ta_export/host_include/conf.mk b/ta_export/host_include/conf.mk
index 14e8cfe..a9c781f 100644
--- a/ta_export/host_include/conf.mk
+++ b/ta_export/host_include/conf.mk
@@ -1,8 +1,9 @@
# auto-generated TEE configuration file
-# TEE version ATOS-V2.4-11-g9589fbf8
-ARCH?=arm
+# TEE version ATOS-V2.4-30-g8b7b4c5
+ARCH=arm
PLATFORM=meson
PLATFORM_FLAVOR=gx
+CFG_ANTIROLLBACK_TA=y
CFG_ARM32_core=y
CFG_ARM32_ta_arm32=y
CFG_BOOT_SECONDARY_REQUEST=n
@@ -46,13 +47,17 @@ CFG_CRYPTO_SHA384=y
CFG_CRYPTO_SHA512=y
CFG_CRYPTO_SIZE_OPTIMIZATION=y
CFG_CRYPTO_XTS=y
+CFG_DESCRAMBLER=n
CFG_DT=n
CFG_DTB_MAX_SIZE=0x10000
CFG_EFUSE=y
-CFG_EFUSE_READ_ALL_WRITE_BLOCK=n
+CFG_EFUSE_READ_ALL_WRITE_BLOCK=y
CFG_ENCRYPT_TA=y
CFG_GENERIC_BOOT=y
CFG_GP_SOCKETS=n
+CFG_HW_KL=n
+CFG_HW_KL_TEST=n
+CFG_HW_KL_VENDORID={0x2a,0x42}
CFG_KERN_LINKER_ARCH=arm
CFG_KERN_LINKER_FORMAT=elf32-littlearm
CFG_LIBUTILS_WITH_ISOC=y
diff --git a/ta_export/host_include/hw_keyladder.h b/ta_export/host_include/hw_keyladder.h
new file mode 100644
index 0000000..4a8590b
--- a/dev/null
+++ b/ta_export/host_include/hw_keyladder.h
@@ -0,0 +1,26 @@
+#ifndef __MESON_HW_KEYLADDER_H_
+#define __MESON_HW_KEYLADDER_H_
+
+/*
+#define KEY_LDR_USR_CNTL (0xc8830000 + (0x20 << 2))
+#define KEY_LDR_USR_RAM_W (0xc8830000 + (0x21 << 2))
+#define KEY_LDR_VENDOR_ID (0xc8830000 + (0x22 << 2))
+#define KEY_LDR_NONCE_0 (0xc8830000 + (0x26 << 2))
+#define KEY_LDR_NONCE_1 (0xc8830000 + (0x27 << 2))
+#define KEY_LDR_NONCE_2 (0xc8830000 + (0x28 << 2))
+#define KEY_LDR_NONCE_3 (0xc8830000 + (0x29 << 2))
+*/
+
+#define WLOC_KEY1 0
+#define WLOC_NONCE 4
+#define WLOC_KEY2 8
+#define WLOC_KEY3 12
+#define WLOC_KEY4 16
+#define WLOC_KEY5 20
+#define WLOC_KEY6 24
+#define WLOC_KEY7 28
+
+void kl_run(void *data);
+void kl_get_response_to_challenge(void *data);
+
+#endif
diff --git a/ta_export/host_include/signed_hdr.h b/ta_export/host_include/signed_hdr.h
index 684a99f..962b3dd 100644
--- a/ta_export/host_include/signed_hdr.h
+++ b/ta_export/host_include/signed_hdr.h
@@ -69,7 +69,8 @@ struct shdr {
uint32_t img_type;
uint32_t img_size;
uint32_t key_type;
- uint32_t rsv[8];
+ uint32_t ta_ver;
+ uint32_t rsv[7];
uint8_t nonce[TA_ENC_AES_IV_SIZE];
uint8_t aes_key[TA_ENC_AES_KEY_SIZE];
diff --git a/ta_export/host_include/tee_api.h b/ta_export/host_include/tee_api.h
index 2fa6d2f..daf42e1 100644
--- a/ta_export/host_include/tee_api.h
+++ b/ta_export/host_include/tee_api.h
@@ -502,6 +502,8 @@ TEE_Result TEE_Vdec_Munmap(paddr_t pa, size_t size);
TEE_Result TEE_Protect_Mem(unsigned int startaddr, unsigned int size, int enable);
+TEE_Result TEE_Protect_Mem2(unsigned int startaddr, unsigned int size, int enable);
+
TEE_Result TEE_Setting_Device(int device_number, int port, int enable);
TEE_Result TEE_Unify_Read(uint8_t *keyname, uint8_t *keybuf,
@@ -521,8 +523,43 @@ TEE_Result TEE_Efuse_Read(uint8_t *outbuf, uint32_t offset,
TEE_Result TEE_Efuse_Write_Block(uint8_t *inbuf, uint32_t block);
-/* If authenticated, auth=1, mode=2 if HDCP2.2, mode=1 if HDCP1.4 */
-/* If not authenticated, auth=0, mode=0 */
+/*
+ * Get HDCP authentication state
+ * auth = 1, mode = 1, HDCP 1.4 authenticated
+ * auth = 0, mode = 2, HDCP 2.2 authenticated
+ * auth = 0, mode = 0, HDCP authentication failed
+ */
TEE_Result TEE_HDCP_Get_State(uint32_t *mode, uint32_t *auth);
+TEE_Result TEE_Video_Load_FW(uint8_t *firmware, uint32_t fw_size,
+ uint8_t *info, uint32_t info_size);
+/*
+ * Load HDCP key
+ * mode = 1, load HDCP1.4 key
+ * mode = 2, load HDCP2.2 key
+ */
+TEE_Result TEE_HDCP_Load_Key(uint32_t mode, uint8_t *keybuf, uint32_t keylen);
+
+/* keyladder */
+TEE_Result TEE_Desc_AllocChannel(int dsc_no, int *fd);
+
+TEE_Result TEE_Desc_FreeChannel(int dsc_no, int fd);
+
+TEE_Result TEE_Desc_Reset(int dsc_no, int all);
+
+TEE_Result TEE_Desc_Set_Pid(int dsc_no, int fd, int pid);
+
+TEE_Result TEE_Desc_Set_Key(int dsc_no, int fd, int parity, uint8_t *key,
+ uint32_t key_type);
+
+TEE_Result TEE_KL_Run(void *ra);
+
+TEE_Result TEE_KL_GetResponseToChallenge(void *cra);
+
+TEE_Result TEE_Desc_Exit(void);
+
+TEE_Result TEE_Desc_Init(void);
+
+TEE_Result TEE_Desc_Set_Output(int module, int output);
+
#endif /* TEE_API_H */
diff --git a/ta_export/host_include/tee_api_defines.h b/ta_export/host_include/tee_api_defines.h
index 07c8b95..70480d7 100644
--- a/ta_export/host_include/tee_api_defines.h
+++ b/ta_export/host_include/tee_api_defines.h
@@ -61,6 +61,8 @@
#define TEE_ERROR_SECURITY 0xFFFF000F
#define TEE_ERROR_SHORT_BUFFER 0xFFFF0010
#define TEE_ERROR_EXTERNAL_CANCEL 0xFFFF0011
+#define TEE_ERROR_TA_VERSION_INVALID 0xFFFF0012
+#define TEE_ERROR_TA_NUM_REACH_MAX 0xFFFF0013
#define TEE_ERROR_OVERFLOW 0xFFFF300F
#define TEE_ERROR_TARGET_DEAD 0xFFFF3024
#define TEE_ERROR_STORAGE_NO_SPACE 0xFFFF3041
diff --git a/ta_export/host_include/utee_type_extensions.h b/ta_export/host_include/utee_type_extensions.h
index 19433ad..3bc3556 100644
--- a/ta_export/host_include/utee_type_extensions.h
+++ b/ta_export/host_include/utee_type_extensions.h
@@ -44,7 +44,20 @@
#define TEE_EXTEND_WM_SET_PARA_REND 15
#define TEE_EXTEND_EFUSE_READ 16
#define TEE_EXTEND_EFUSE_WRITE_BLOCK 17
-#define TEE_EXTEND_MAX 17
+#define TEE_EXTEND_VIDEO_LOAD_FW 18
+#define TEE_EXTEND_KL_RUN 19
+#define TEE_EXTEND_KL_CR 20
+#define TEE_EXTEND_DESC_ALLOC_CHANNEL 21
+#define TEE_EXTEND_DESC_FREE_CHANNEL 22
+#define TEE_EXTEND_DESC_RESET 23
+#define TEE_EXTEND_DESC_SET_PID 24
+#define TEE_EXTEND_DESC_SET_KEY 25
+#define TEE_EXTEND_DESC_EXIT 26
+#define TEE_EXTEND_DESC_INIT 27
+#define TEE_EXTEND_DESC_SET_OUTPUT 28
+#define TEE_EXTEND_PROTECT_MEM2 29
+#define TEE_EXTEND_HDCP_LOAD_KEY 30
+#define TEE_EXTEND_MAX 30
struct tee_vdec_info_param {
paddr_t pa;
@@ -110,6 +123,12 @@ struct tee_hdcp_get_state_param {
uint32_t auth;
};
+struct tee_hdcp_load_key_param {
+ uint32_t mode;
+ uint8_t *keybuf;
+ uint32_t keylen;
+};
+
struct tee_asymm_sign_padding_param {
unsigned long state;
struct utee_attribute *params;
@@ -156,4 +175,59 @@ typedef struct {
} tee_wm_param;
#endif
+struct tee_video_fw_param {
+ void *firmware;
+ uint32_t fw_size;
+ void *info;
+ uint32_t info_size;
+};
+
+struct tee_kl_cr_param {
+ unsigned char kl_num;
+ unsigned char __padding[7];
+ unsigned char cr[16];/* in: challenge-nonce, out:response-dnonce */
+ unsigned char ekn1[16];/* ekn-1 (e.g. ek2 for 3-key ladder) */
+};
+
+struct tee_kl_run_param {
+ unsigned int dest;
+ unsigned char kl_num;
+ unsigned char kl_levels;
+ unsigned char __padding[6];
+ unsigned char keys[7][16];
+};
+
+struct tee_desc_alloc_channel_param {
+ int dsc_no;
+ int *fd;
+};
+
+struct tee_desc_free_channel_param {
+ int dsc_no;
+ int fd;
+};
+
+struct tee_desc_reset_param {
+ int dsc_no;
+ int all;
+};
+
+struct tee_desc_set_pid_param {
+ int dsc_no;
+ int fd;
+ int pid;
+};
+
+struct tee_desc_set_key_param {
+ int dsc_no;
+ int fd;
+ int parity;
+ unsigned char *key;
+ uint32_t key_type;
+};
+
+struct tee_desc_set_output_param {
+ int module;
+ int output;
+};
#endif /* UTEE_TYPE_EXTENSIONS_H */
diff --git a/ta_export/include/hw_keyladder.h b/ta_export/include/hw_keyladder.h
new file mode 100644
index 0000000..4a8590b
--- a/dev/null
+++ b/ta_export/include/hw_keyladder.h
@@ -0,0 +1,26 @@
+#ifndef __MESON_HW_KEYLADDER_H_
+#define __MESON_HW_KEYLADDER_H_
+
+/*
+#define KEY_LDR_USR_CNTL (0xc8830000 + (0x20 << 2))
+#define KEY_LDR_USR_RAM_W (0xc8830000 + (0x21 << 2))
+#define KEY_LDR_VENDOR_ID (0xc8830000 + (0x22 << 2))
+#define KEY_LDR_NONCE_0 (0xc8830000 + (0x26 << 2))
+#define KEY_LDR_NONCE_1 (0xc8830000 + (0x27 << 2))
+#define KEY_LDR_NONCE_2 (0xc8830000 + (0x28 << 2))
+#define KEY_LDR_NONCE_3 (0xc8830000 + (0x29 << 2))
+*/
+
+#define WLOC_KEY1 0
+#define WLOC_NONCE 4
+#define WLOC_KEY2 8
+#define WLOC_KEY3 12
+#define WLOC_KEY4 16
+#define WLOC_KEY5 20
+#define WLOC_KEY6 24
+#define WLOC_KEY7 28
+
+void kl_run(void *data);
+void kl_get_response_to_challenge(void *data);
+
+#endif
diff --git a/ta_export/include/tee_api.h b/ta_export/include/tee_api.h
index 2fa6d2f..daf42e1 100644
--- a/ta_export/include/tee_api.h
+++ b/ta_export/include/tee_api.h
@@ -502,6 +502,8 @@ TEE_Result TEE_Vdec_Munmap(paddr_t pa, size_t size);
TEE_Result TEE_Protect_Mem(unsigned int startaddr, unsigned int size, int enable);
+TEE_Result TEE_Protect_Mem2(unsigned int startaddr, unsigned int size, int enable);
+
TEE_Result TEE_Setting_Device(int device_number, int port, int enable);
TEE_Result TEE_Unify_Read(uint8_t *keyname, uint8_t *keybuf,
@@ -521,8 +523,43 @@ TEE_Result TEE_Efuse_Read(uint8_t *outbuf, uint32_t offset,
TEE_Result TEE_Efuse_Write_Block(uint8_t *inbuf, uint32_t block);
-/* If authenticated, auth=1, mode=2 if HDCP2.2, mode=1 if HDCP1.4 */
-/* If not authenticated, auth=0, mode=0 */
+/*
+ * Get HDCP authentication state
+ * auth = 1, mode = 1, HDCP 1.4 authenticated
+ * auth = 0, mode = 2, HDCP 2.2 authenticated
+ * auth = 0, mode = 0, HDCP authentication failed
+ */
TEE_Result TEE_HDCP_Get_State(uint32_t *mode, uint32_t *auth);
+TEE_Result TEE_Video_Load_FW(uint8_t *firmware, uint32_t fw_size,
+ uint8_t *info, uint32_t info_size);
+/*
+ * Load HDCP key
+ * mode = 1, load HDCP1.4 key
+ * mode = 2, load HDCP2.2 key
+ */
+TEE_Result TEE_HDCP_Load_Key(uint32_t mode, uint8_t *keybuf, uint32_t keylen);
+
+/* keyladder */
+TEE_Result TEE_Desc_AllocChannel(int dsc_no, int *fd);
+
+TEE_Result TEE_Desc_FreeChannel(int dsc_no, int fd);
+
+TEE_Result TEE_Desc_Reset(int dsc_no, int all);
+
+TEE_Result TEE_Desc_Set_Pid(int dsc_no, int fd, int pid);
+
+TEE_Result TEE_Desc_Set_Key(int dsc_no, int fd, int parity, uint8_t *key,
+ uint32_t key_type);
+
+TEE_Result TEE_KL_Run(void *ra);
+
+TEE_Result TEE_KL_GetResponseToChallenge(void *cra);
+
+TEE_Result TEE_Desc_Exit(void);
+
+TEE_Result TEE_Desc_Init(void);
+
+TEE_Result TEE_Desc_Set_Output(int module, int output);
+
#endif /* TEE_API_H */
diff --git a/ta_export/include/tee_api_defines.h b/ta_export/include/tee_api_defines.h
index 07c8b95..70480d7 100644
--- a/ta_export/include/tee_api_defines.h
+++ b/ta_export/include/tee_api_defines.h
@@ -61,6 +61,8 @@
#define TEE_ERROR_SECURITY 0xFFFF000F
#define TEE_ERROR_SHORT_BUFFER 0xFFFF0010
#define TEE_ERROR_EXTERNAL_CANCEL 0xFFFF0011
+#define TEE_ERROR_TA_VERSION_INVALID 0xFFFF0012
+#define TEE_ERROR_TA_NUM_REACH_MAX 0xFFFF0013
#define TEE_ERROR_OVERFLOW 0xFFFF300F
#define TEE_ERROR_TARGET_DEAD 0xFFFF3024
#define TEE_ERROR_STORAGE_NO_SPACE 0xFFFF3041
diff --git a/ta_export/include/utee_type_extensions.h b/ta_export/include/utee_type_extensions.h
index 19433ad..3bc3556 100644
--- a/ta_export/include/utee_type_extensions.h
+++ b/ta_export/include/utee_type_extensions.h
@@ -44,7 +44,20 @@
#define TEE_EXTEND_WM_SET_PARA_REND 15
#define TEE_EXTEND_EFUSE_READ 16
#define TEE_EXTEND_EFUSE_WRITE_BLOCK 17
-#define TEE_EXTEND_MAX 17
+#define TEE_EXTEND_VIDEO_LOAD_FW 18
+#define TEE_EXTEND_KL_RUN 19
+#define TEE_EXTEND_KL_CR 20
+#define TEE_EXTEND_DESC_ALLOC_CHANNEL 21
+#define TEE_EXTEND_DESC_FREE_CHANNEL 22
+#define TEE_EXTEND_DESC_RESET 23
+#define TEE_EXTEND_DESC_SET_PID 24
+#define TEE_EXTEND_DESC_SET_KEY 25
+#define TEE_EXTEND_DESC_EXIT 26
+#define TEE_EXTEND_DESC_INIT 27
+#define TEE_EXTEND_DESC_SET_OUTPUT 28
+#define TEE_EXTEND_PROTECT_MEM2 29
+#define TEE_EXTEND_HDCP_LOAD_KEY 30
+#define TEE_EXTEND_MAX 30
struct tee_vdec_info_param {
paddr_t pa;
@@ -110,6 +123,12 @@ struct tee_hdcp_get_state_param {
uint32_t auth;
};
+struct tee_hdcp_load_key_param {
+ uint32_t mode;
+ uint8_t *keybuf;
+ uint32_t keylen;
+};
+
struct tee_asymm_sign_padding_param {
unsigned long state;
struct utee_attribute *params;
@@ -156,4 +175,59 @@ typedef struct {
} tee_wm_param;
#endif
+struct tee_video_fw_param {
+ void *firmware;
+ uint32_t fw_size;
+ void *info;
+ uint32_t info_size;
+};
+
+struct tee_kl_cr_param {
+ unsigned char kl_num;
+ unsigned char __padding[7];
+ unsigned char cr[16];/* in: challenge-nonce, out:response-dnonce */
+ unsigned char ekn1[16];/* ekn-1 (e.g. ek2 for 3-key ladder) */
+};
+
+struct tee_kl_run_param {
+ unsigned int dest;
+ unsigned char kl_num;
+ unsigned char kl_levels;
+ unsigned char __padding[6];
+ unsigned char keys[7][16];
+};
+
+struct tee_desc_alloc_channel_param {
+ int dsc_no;
+ int *fd;
+};
+
+struct tee_desc_free_channel_param {
+ int dsc_no;
+ int fd;
+};
+
+struct tee_desc_reset_param {
+ int dsc_no;
+ int all;
+};
+
+struct tee_desc_set_pid_param {
+ int dsc_no;
+ int fd;
+ int pid;
+};
+
+struct tee_desc_set_key_param {
+ int dsc_no;
+ int fd;
+ int parity;
+ unsigned char *key;
+ uint32_t key_type;
+};
+
+struct tee_desc_set_output_param {
+ int module;
+ int output;
+};
#endif /* UTEE_TYPE_EXTENSIONS_H */
diff --git a/ta_export/lib/libmpa.a b/ta_export/lib/libmpa.a
index 67c67f3..88fe0db 100644
--- a/ta_export/lib/libmpa.a
+++ b/ta_export/lib/libmpa.a
@@ -1,14 +1,19 @@
!<arch>
-/ 1501664735 0 0 0 1608 `
-
+/ 1504167701 0 0 0 1608 `
+
+
+
+
+
+
mpa_montgomery.o/
mpa_mem_static.o/
-mpa_misc.o/ 1501664734 790 502 100644 38904 `
-ELF
-Jh01
-8
-
-
+mpa_misc.o/ 1504167700 7574 7000 100644 39016 `
+ELF
+Jh01
+
+
+

@@ -19,47 +24,46 @@ mpa_misc.o/ 1501664734 790 502 100644 38904 `
B 
B
-
-
-
-
-
-
-
-
-
-1
-
-s
-
-
-
-
-
-. #[!)2/V# Y`"D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+. #[!)2/V# Y`"D
A 
-*D
-
-
+*D
+
+
+
-
+
F
I
H
-
-ELF
+
+ELF
F
-  B FAF h
-
-
-K
-.
-
-
-
-
-
-
+  B FAF h
+
+
+K
+.
+
+
+
+
+
+
+

@@ -75,26 +79,25 @@ F
-
-
-
-
-
-*
-
-
-
-
-
-
-5
-
-f#>
+
+
+
+
+
+
+
+
+?
+
+
+
+
+f#>
A 
-*D
- 
+*D
+ 
-
+
H
E
E
@@ -151,8 +154,8 @@ S
-
-ELF
+
+ELF
8A0F_z1F O  #F {O O
!F
@@ -178,14 +181,12 @@ S


o/Dyeڜ
-
-
-&
-
-@
-#
-
-a
+
+
+@
+#
+
+a

O!Pv
@@ -201,32 +202,32 @@ O!Pv
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
@@ -242,28 +243,27 @@ O!Pv
-
-"a
-
-
-
-
-A
-
-
-
-
-+
-
-
-,
-
-thKhi!K=2%!/].t/hKKKLK~X4.$F%uK!< <
+
+"
+
+
+
+
+
+G
+
+
+
+
+
+
+
+thKhi!K=2%!/].t/hKKKLK~X4.$F%uK!< <
A 
-*D
-
+*D
+
-
+
K
L
M
@@ -305,11 +305,11 @@ X
-
-ELF
-
-
-7
+
+ELF
+
+
+7

@@ -317,33 +317,31 @@ X
B 
-B
-
-
-"
+B
+
+
-
-G
-
-
-
-3
-
-
-x
-
-
-
-D
-1
-
-X
+B
+
+
+
+C
+
+
+
+
+
+
+$
+
+X
A 
-*D
+*D
+
-
-
-ELF
+
+
+ELF
D ;
O
   GYh
@@ -359,23 +357,20 @@ X
: ?
E ;
O
-DEмB
-
-
-
-V
-9
-
->
-
+DEмB
+
+V
+9
+
+
f
-
+
-
+
@@ -392,23 +387,23 @@ X

-
-
+
+
-
-
-
+
+
+

-
-
-
+
+
+
@@ -425,25 +420,25 @@ X
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+B
+
+
+
+
A 
-*D
+*D

- 
+ 
-
+
D
G
E
@@ -501,20 +496,20 @@ V
-
-ELF
+
+ELF
*Fch
-
-
-@
-#
-
+
+
+@
+#
+

-
+
-
-
-
+
+
+
@@ -529,28 +524,27 @@ V


-
-
-
-
-
-
-
-F
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+(
+
+
+
+
+
+
+

-XgggLggdf!J!K!KZKKKKKKKC..r../KKL1!/9PzX f;j;[hg/[0r<JYKKK..4z 5$ggMZ//? !-!W
+XgggLggdf!J!K!KZKKKKKKKC..r../KKL1!/9PzX f;j;[hg/[0r<JYKKK..4z 5$ggMZ//? !-!W
A 
-*D
+*D
-
+
E
E
F
@@ -650,18 +644,18 @@ G
-
-ELF
-FHhFhR<R `R,FhS` i` HiG
-
-
-
-a
-D
-
+
+ELF
+FHhFhR<R `R,FhS` i` HiG
+
+
+
+a
+D
+
$
-
-
+
+

@@ -674,43 +668,37 @@ FHhFhR<R `R,FhS` i` HiG
B 
-
-F
-
-
-
-
-
-
-L
-
-
-J
-?
-
-
-
-
-
-"
+
+
+
+
+
+
+9
+
+
+-
+
+
+
+
A 
-*D
+*D
-
+
N
-
-ELF
+
+ELF
R#F
-O 
-
-
-K
-.
-
-
-
-
-
+O 
+
+K
+.
+
+
+
+
+
@@ -721,25 +709,22 @@ N
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
- 
+*D
+ 
-
+
F
F
D
@@ -755,11 +740,11 @@ K
L
-
-ELF
-ch"
-
-<
+
+ELF
+ch"
+
+<

@@ -768,45 +753,43 @@ L
B
-
-"g
-
-P
-
-X
-
-
-
-l
-
-
-
-q
-
-
-R
-.$
+
+"
+
+
+<
+
+X
+n
+
+
+
+
+
+
+
+.$
A 
-*D
- 
-
+*D
+ 
+

-
+
R
S
T
-R
-
-ELF
+R
+
+ELF
T!8
B
T!
  Bت
- gE5  T%
-
-
+ gE5  T%
+
+

@@ -815,62 +798,60 @@ T!8



-
-
-
-
-
-
-
-
-
-
-
-
-
-
-G
-
-.!; .x ; J!!!Yh!G<9.G:tF.;J0/DJ>.
+
+
+
+
+
+
+
+
+
+
+
+.
+
+
+.!; .x ; J!!!Yh!G<9.G:tF.;J0/DJ>.
A 
-*D
- 
+*D
+ 
-
+
C
G
H
C
G
H
-
-ELF
+
+ELF
F
Y%:F5PFshB
Y'
&v
OD
- *F6MFW
-
-K
-.
-
-
-
+ *F6MFW
+
+K
+.
+
+
+

-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+

@@ -883,37 +864,37 @@ Y%:F5PFshB
-
-
-
-
-
-
-
-
-
-
-
-
-8
-
-
-
-
-
+
+
+
+
+<
+
+
+
+
+
+
+
+
+$
+
+
+
+
fm !! 
<0!N/-!OgL\OgPK=NX5<
<Rx  w (MdM[
<//-!NNg]gk1Ir"@0NK=LX7< < !/
J<P!@=!3KMY=Z#0!
- =
+ =
A 
-*D
+*D


- 
+ 
-
+
G
I
E
@@ -970,51 +951,53 @@ N
-
-ELF
-@BF
-
+
+ELF
+@BF
+
+*

B
-
-
-
-
-
-
-
-
-
-^
-
-
-
-
-
-< y 5Y
+
+
+
+
+
+
+
+C
+
+
+
+
+3
+
+
+
+< y 5Y
A 
-*D
-
-
-
+*D
+
+
+
-
+
B
B
B
-
-ELF
+
+ELF
FKFFF;F
-:/FF
-
-@
-#
-
-
+:/FF
+
+@
+#
+
+
@@ -1023,27 +1006,23 @@ FKFFF;F
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
+*D
+
+
-
+
D
D
D
@@ -1062,11 +1041,12 @@ F
J
J
J
-J
-ELF
-
-f
-Q2$9 Q0Pu
+J
+ELF
+/
+
+f
+Q2$9 Q0Pu

@@ -1074,29 +1054,28 @@ J
B
-
-
-
-%
-
-
-
-
-
-
-~
-
-
-
--
+
+
+
+
+
+
+
+1
+
+
+
+
+
+
A 
-*D
-
+*D
+
-
+
D
-
-ELF
+
+ELF
74
50_(
@@ -1108,19 +1087,19 @@ D
B
   0\>HFQ2F1)
1
-
-
+
+
-
+
4
-
-
+
+

-
-C
-b
-
+
+C
+b
+
@@ -1130,11 +1109,11 @@ B
-0
-
+0
+
-
-
+
+
|
@@ -1161,38 +1140,36 @@ B



-
-
-
-
--
-+
-
-
-
-`
-
-
-
-
-
-
-
-
-L
+
+
+!
+
+
+
+
+
+,
+
+
+
+
+
+
+
./w.
-.
+.
A 
-*D
+*D


- 
-
+ 
+
+/
-
+
_
`
_
@@ -1208,19 +1185,23 @@ g
-
-ELF
+
+ELF
FFF!F9FBF#F1F
FFF!F9FBF#F1F
-FFF!F9FBF#F1F
-
-
-
-@
-#
-
-
-
+FFF!F9FBF#F1F
+
+
+@
+#
+
+3
+3
+3
+3
+3
+
+

@@ -1230,30 +1211,30 @@ g
-
-
-
-
-,
-
-
-H
-
-
-
-
-
+
+
+
+
+
+
+F
+
+-
+
+
+
+
.M#>gvK
..M#>gvK
-..M#>gvK .Pz &z 4K\Y=Z"LZ=gMP)L
+..M#>gvK .Pz &z 4K\Y=Z"LZ=gMP)L
A 
-*D
+*D


- 
-
+ 
+
-
+
C
E
F
@@ -1278,4 +1259,4 @@ G
G
F
M
-
+
diff --git a/ta_export/lib/libpng.a b/ta_export/lib/libpng.a
index 3dce22a..3ae89ee 100644
--- a/ta_export/lib/libpng.a
+++ b/ta_export/lib/libpng.a
@@ -1,7 +1,7 @@
!<arch>
-/ 1501664735 0 0 0 8436 `
-
-ELF
+/ 1504167701 0 0 0 8436 `
+
+ELF
CiHiBۀB̿
 TT
KF!hF{D FiF
@@ -117,106 +117,103 @@ Copyright (c) 1996-1997 Andreas Dilger
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
-
-
-m/
-
-
-
-
-
-
+
+
+/
+
+
+
-
-
-
-
-
-
-
- k
-y
+
+
+
+
+
+
+ k
+#z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-PS
-Q~
-Uf
-Vf
-W
-X$
-Zq
-[
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+PS
+Q~
+Uf
+Vf
+W
+X$
+Zq
+[
\$
-^e
-_
-aH
-bs
-c<
-e)
+^e
+_
+aH
+bs
+c<
+e)
f$
-g$
-
-)
-h
-j
-
-
+g$
+
+)
+h
+j
+
+
#Py
-
-
-
+
+
+

-
-
+
+
$#Py
$#Qy#Pu
-$#Q0#Py
+$#Q0#Py

#Q0#Pt
-
-
-
-
+
+
+
+
#Pu
#Q0
-
-
-
+
+
+
-
+
-
+
#Qt
#Qu
-
-
-
+
+
+
@@ -227,69 +224,70 @@ $#Q0#Py
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-)
-Y
-
-z
-
+
+
+
+
+
+)
+Y
+
+z
+
)
-
+
-
-)
-)
-Y
-
-)
-
-
+
+)
+)
+Y
+
+)
+
+
-
-
-&
-
-
-
-
-
-
-
-
-
-
-
+
+
+&
+
+
+
+
+
+
+
+
+
+
+
$
-
-
-
-
-
-
-
-
-
-@$
-
-|)
-!$
-
-
+
+
+
+
+
+
+
+
+
+@$
+
+|)
+!$
+
+
&
@@ -417,25 +415,27 @@ $

R$
-
-
-
-
-(
-
-
-
-
-?
-k
-:
-
-
-
-
-
-
+
+
+
+
+2
+
+
+`
+
+
+
+
+
+
+|
+
+:
+K
+
+
+
.v.=>+=>6u. u.0
!%.YKf
.(.O M9<s!M#j`q%11/G% f !/h1,%1##>xX .%J "
@@ -451,14 +451,14 @@ X!1u4z P!R fjj  f(Jc.
<mk73?<`y .g  n."=!,Y!,K4/y7
."
K#{. #+?.
- v.K ft %) 1E < ...
+ v.K ft %) 1E < ...
A 
-*D
+*D



- 
-
+ 
+
@@ -475,7 +475,7 @@ X!1u4z P!R fjj  f(Jc.
-
+



@@ -707,10 +707,10 @@ c
<
S
W
-
+

-
-ELF
+
+ELF
!QHF
!QDf
|,4F&HF
@@ -720,104 +720,105 @@ W
#\ *3+G
FF
FF
-F@
-
-
-
-
-
+F@
+
+
+
+
+
+%

-
-
-A
-
-
-
-i
- 3
-qv
+
+
+
+
+
+i
+ 3
+
+v
-
-
-
-
-
-
-
-
-
-
-
-
-
-{
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+{
+
+
+
+
+
+
+
+

-
+
P
-
-Q/
-U
-V
-W
-X
-Z"
-[
+
+Q/
+U
+V
+W
+X
+Z"
+[
\
-^n
-_E
-a
-b$
-c
-e)
+^n
+_E
+a
+b$
+c
+e)
f
g
-
-E
-)
-hF
-
-
-
-
-
-
-
-
+
+E
+)
+hF
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
%
-
-
+
+
%
-
-&
-
-
+
+&
+
+
&
@@ -843,43 +844,44 @@ hF



-
-
-
-
-8'
-
-
-(
-
-
-9
-
-
-k
-=
-
-2S
-M
-
-u
-
-
+
+
+ ڛ
+
+
+
+
+
+
+9
+@
+x
+
+k
+g
+L
+E
+
+
+]
+'
+
+
1s./
z 0#
.J v.
q , Y  l.#*+  j.j  h<%
<vJ
.L0
-.5z4~. !-![
+.5z4~. !-![
A 
-*D
-
+*D
+

-
+
w
w
x
@@ -929,10 +931,10 @@ v
-
+

-
-ELF
+
+ELF
J0FF
@FOrF# F@FOrF# F@
@@ -944,122 +946,119 @@ m
Hl`
k`Kk;`k3` k+`, l#`F hIr
#h`
-
-
-
-
-
-
-
+
+
+
+
+
+

-
-
-
+
+
+
-
-
- 
-w
-6w
+
+
+ 
+=w
-
-
-
-
-
-
-
-
-
-
-$
-RPt
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+$
+RPt
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Pt
-
-
-
+
+
+
Pt
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-$
-%
+
+
+$
+%
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-)
+
+
+
+
+
+
+
+
+
+
+
+)

-
+
+-
&
@@ -1084,40 +1083,35 @@ $



-
-
-D
-
-S
-
-B(
-
-
-@
-
-
-
-N
-
-=
-:
-
-
-
-
-m
-
-.Z5YA
+
+
+
+
+
+
+
+
+z
+
+
+Y
+
+H
+
+%:
+
+
+
+
+.Z5YA
A 
-*D
- 
-k
+*D
+ 
-
+
c
c
p
@@ -1146,54 +1140,54 @@ s
#
(
*
-
+

-
-ELF
+
+ELF
GF@FpFF
I(FyDO0FB(Fp@
-
-+
-
-]
-
-
-%
-
-
-
-
-
-l
- 6
-s
+
+#,
+
+
+
+
+#
+
+
+
+
+j
+l
+ 6
+%s
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
$Qt
-$Q0Pt
-
-9
-
-
-#
+$Q0Pt
+
+9
+
+
+#
&
@@ -1208,37 +1202,34 @@ $Q0Pt
B 

-
-GN
-
+
+WN
+
-
-E
-:%
-
-b
-
-
-
-
-
-
-
-h
-
-E
-Q
-
-V
-
-
-
-
+
+
+C
+H
+
+
+
+
+
+
+
+ih
+
+q
+C
+
+r
+
+
J!001i!J
-<#/
+<#/
A 
-*D
-
+*D
+
@@ -1248,7 +1239,7 @@ J!001i!J

-
+
q
o
q
@@ -1287,10 +1278,10 @@ t
-
+

-
-ELF
+
+ELF
-!*-!* ؝-=$-
UIB
2B?t F)FOIB
@@ -1306,37 +1297,37 @@ t
2B? F)F$IB  "B? F)FFKB 2љB? F)FB?w F)F
ҚI FyDBЗI FyDh1
@ F1 F=єi1+:%i1+ F
-
-
-.
-
-
-
-
-
-
-
-T
- 
-x
+
+
+.
+
+
+
+
+
+
+
+T
+ 
+x
-
-
-
-
-
+
+
+
+
+
-
-
-A
-
-
-
-
-
-
-
-
+
+
+
+
+
+A
+
+
+
+
+
@@ -1344,82 +1335,82 @@ A
-
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
^r)
-
-
-
-
-
-Y*
-~*
+
+
+
+
+
+Y*
+~*
O*
-
+
*
-
+
+
-
+
\)
-
+
Rb+
+
-
+
+
-
+
(+
-
+
-
+
79,
-
+
d,
-
+
2,
-
+
F,
-
+
,
-
+
-
-
+
#;-
-
+
f-
-
+
-
-
+
--
-
+
A-
-
+
<.
-
+
K=.
-
+
h.
-
+
.
e.
.
-
+
D/
)
}/
-
+
&
@@ -1485,42 +1476,40 @@ e.
-
-
-
-M
-
-'
-
-
-k
+
+
+
+
+
+
+C
+&
0
-km
+;m
}
-O
-);
-
-
-
-
-
-
-
+O
+4;
+E
+
+
+
+
+
fi,!!=YZ
fgYY}fz &?/X !-$,5@F>0:>>
t,<-?M0-/M"K[YK0>u>K|!A!.u./3K% --0!-/ /i.. !/$M- n /Xs ^<" /gK0/>?0!!!?+3?=!!:3!=3!=y. t.  .3YKg=Y//k>0=^KL
X
XK9
?
-JM##6z.KA
+JM##6z.KA
A 
-*D
-
+*D
+
-
+
@@ -1659,10 +1648,10 @@ JM##6z.KA


"
-
+

-
-ELF
+
+ELF
O
ԧBѻ#
@@ -1759,78 +1748,81 @@ D)++
K F1FB
FI FyDIyD
#3SCB2Ӹ
-IyDF
-.
-
-
-
-
-
+IyDF
+.
+
+>
+
+
-
-
+
+
-
-
-
- 
-
-{
+
+
+
+ 
+5
+{
-
-
-
-
-
-
-
-
-
-%
-
-9
-
-
-
-
-
-
-
-
-9
-U
-P
-Q
-U
-V
-Wg
-Xs
-Z
-[g
+
+
+
+
+
+
+
+
+
+%
+
+9
+
+
+
+
+
+
+
+
+9
+U
+P
+Q
+U
+V
+Wg
+Xs
+Z
+[g
\s
-^
-_
-a
-b
-c
-e4
-fs
-gs
-
-4
+^
+_
+a
+b
+c
+e4
+fs
+gs
+
+4
h
-j 
-
-
-
-
+j 
+
+b
+
+
+b
+b
+
+
-
-
+
+
-
-
-
+
+
+
" $ %z
"?%1$"
@@ -1840,82 +1832,80 @@ j 
" $ %#Q1#Pv
" $ %"<%1$"
" $ %
-x
+x
-
+
F
-
-F
-5
-i
+
+F
+5
+i

-F
-
-
-
-
-
+F
+
+
+
+
+
z
-8
-
-*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+8
+
+*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
U
U
-
-
-
-
+
+
+
+
U
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-4
-
-F
+
+
+
+
+
+
+
+4
+
-
-
-
+
+
+
&
@@ -2003,26 +1993,25 @@ $
-
- ?
-'
-
-V
-
-
-
-
-
-
-
-
-M
-0:
-
-
-
-
+
+ o
+
+
+
+
+
+
+v
+k
+X
+
+
+M
+,:
+b
+
+
+
106=0=>!?." ^J" 2[+X !"!"!"!"
J? 3!z #"#t
J!"/C=S6QQ
@@ -2040,14 +2029,14 @@ J0
< /
<0
<0 <0=^0B0B0C0C0B0
-<BNg<Y#+B+o.[+?
+<BNg<Y#+B+o.[+?
A 
-*D
+*D



- 
-
+ 
+

@@ -2066,7 +2055,7 @@ J0
-
+
@@ -2304,34 +2293,34 @@ G
C
D
H
-
+

-
-ELF
-
-
-
-
+
+ELF
+
+
+
+
+

-
-
-
-M
- 
-r
+
+
+
+M
+ 
+r
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
&
@@ -2346,35 +2335,32 @@ H
-
-
-
-p%
-}
-h
-
-
-
-
-
-r
-
-t
-#
-+
- 
-^
-q7
-`
-
-
-
+
++
+e
+
+
+O
+
+
+
+t
+5
+,
+
+7
+
+
+/
+
+
A 
-*D
+*D
-
+
d
f
@@ -2394,10 +2380,10 @@ f
-
+

-
-ELF
+
+ELF

Eђ
IyD
@@ -2520,55 +2506,53 @@ OH H H  O J
xAy8
-0+hҲ
-.
-
+0+hҲ
+.
+
-
-
-
-
-
-
- 
-w
+
+
+
+
+
+ 
+w
-
-
-
-
-
+
+
+
+
+
-
-
-
-i
-2
-
+
+
+
+2
+
-
-
-
+
+
+
-
-z
+
+z
w
-w
+w
- &Pt
-
-0
+ &Pt
+
+0
-
-
-
- 
-
-
-:
+
+
+
+ 
+
+
+:


@@ -2580,16 +2564,16 @@ w


-
- 0
+
+ 0
o>

- 
-
+ 
+
-
-
-
+
+
+


@@ -2604,7 +2588,7 @@ w



- 
+ 
D
$
$
@@ -2619,31 +2603,31 @@ E
-S
+S
d-P
-
-
-
-
-
-
-
+
+
+
+
+
+
+
^Q
-
-0
+
+0
0
-
+
.
-*
-WR
-2wR
+*
+WR
+2wR
R
R
-R
+R
R

-S
+S
 
&
@@ -2885,29 +2869,27 @@ $

.
-
-
-"
-
-3
-<
-
-'
-
-
-@
-
-
-
+
+
+"
+
+3
+
+
+
+
+
+
+
.
+

- M
+L
U9
-
-
-
-
+
+
+
+
w.&)=~.<"
26tuO<jgSf. $1Kd%$g^gd##_?-/N3#i,2/KL!M%t<[1[h
.zXL0
@@ -2926,12 +2908,12 @@ Xi)'#YAYv#[KL=!
.x..x  .u<x .x ]"0><z.#<$v22v22vJz <]"1?<z.#"v22v22vJz <y,": X,"v-G XrY//4I/Ihv5y.5yt"/1- <J{.HC],"v-GJv/0y
X}J }. X } !0e1=/<
.+"//KKz.<*"///KKK0,/Lu.<1>%y. .,#K*<*"////-0y.<kL>
-f="="[#
+f="="[#
A 
-*D
- 
+*D
+ 
-
+
@@ -3039,10 +3021,10 @@ f="="[#
&
6
<
-
+

-
-ELF
+
+ELF
K "{D FiF
0-PF*F"F2
AF Fo
@@ -3100,58 +3082,56 @@ v
M}D
M}DR4P$@FFFGp
.l1+@
-k!*( @ (* *0
-
-^
-
-;
-
-
-
-
-(
-
-
-
- 
-
-{
+k!*( @ (* *0
+
+
+
+
+
+
+
+
+
+
+ 
+d
+{
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
)
-)
+)

-
-
-
-)
-%(
-
-
-
-
+
+
+
+)
+%(
+
+
+
+
-
+
-
+
-
+
-
+
@@ -3161,110 +3141,110 @@ M}DR4P$@FFFGp
-
-
-
-
-
+
+
+
+
+

-
-
+
+

-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+

-
-T
-I
-I
-
-
- 
-
-)
-
-
-
+
+T
+I
+I
+
+
+ 
+
+)
+
+
+

-
-
-
-K
-)
- 0
-
-
-WX
-
+
+
+
+K
+)
+ 0
+
+
+WX
+
x
-
-
-
-
- Y
-SY
-
+
+
+
+
+ Y
+SY
+
-
-
+
+
Z
;Z
-
+
-
+
)
-
+
)
-
+
)
-
+
=[
-
+
-
+
)
-
+
)
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-)
+
+)
-
+
-
+
<)
-
+
^g^
-
-^
-n^
-
+
+^
+n^
+
&
@@ -3400,29 +3380,24 @@ $
+
+
-
-
-
-
-'
-,
-
-
-
-A
-
-Z
-G
-v
-9
-}
-
-
-
-
-
-
-
+
+
+
+
+
+v
+!
+
+
+
+r
+
+9
+
+
+
+
<
</?1![rJLJf@*.@2#/ .0=3!. .u.(1$%>w<Xw< .bf ?!2-4/Z![
X!-?
@@ -3439,15 +3414,15 @@ J003!(0L3$##=(0v1!!!
.Q>@*2/wX J
.Y0/+C(-4=
J22"0#>gh
- r.!/M/JKLf@"//6YZ
+ r.!/M/JKLf@"//6YZ
A 
-*D
+*D

- 
+ 
@@ -3471,7 +3446,7 @@ J22"0#>gh
-
+
@@ -3792,10 +3767,10 @@ O
$
2
S
-
+

-
-ELF
+
+ELF
"hC `0 FF jF#
, 
(FQF
@@ -3812,88 +3787,90 @@ S
zF C'F 8FIF"
IyD8@0B
F)
-74 .5F5F'FkN,,<;
-
-.
-
-
-
-
-
-
-
-
-
-
- 
-w
+74 .5F5F'FkN,,<;
+
+.
+
+
+
+
+
+
+
+
+
+
+
+ 
+x
-
-
-
-
-
+
+
+
+
+
-
-
-
-5
-
+
+
+
+g
+5
+
-
+
5
-
+
-
+
-
+
-
+
-
+
-
+



-)
+)

-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -3901,63 +3878,63 @@ F)
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
^4
-
+
5
)
-
+
c5
)
-
+
5
-
+
-
+
-
+
6
-
-)
+
+)
&7
-
+
)
-
+
)
-
+
d7
-
+
n8
-
+
x
-
+

-
+

-
+
^9
-8-9
+8-9
CW9
Gv9
@@ -4037,42 +4014,37 @@ Gv9

-
-
-w
-=
-
-
-(
-M
-
-
-
+
+
+
+
+
+
+X
+
+h
b
-l
+l

+
:
-)
-
-
-
-S
-<
-
+n
+
+
+
XA
x !/////0LhK+. #
<v<v.
Xz[?!\,/0,"0 #
<.Qy '
-<?;!/
+<?;!/
A 
-*D
+*D



- 
+ 
@@ -4102,7 +4074,7 @@ Xz[?!\,/0,"0 #
-
+
@@ -4238,10 +4210,10 @@ Xz[?!\,/0,"0 #

)
-
+

-
-ELF
+
+ELF
xC+B@B Bh
x<Sx2<B+F"r"rz*<
@@ -4252,41 +4224,42 @@ hz@A[BSCJhi)f<eVeeeb% x:AO
P@IyD0@ 00
J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u M-m]=}C#cS3s K+k[;{G'gW7wO/o_?
JZ*j:zN^.n>~CS#c3sGW'g7w K[+k;{O_/o?
-*:JZjz +;K[k{ ,<L\l| -=M]m}.>N^n~/?O_opng_set_filler is invalid for low bit depth gray output
-
-,
-
-
+*:JZjz +;K[k{ ,<L\l| -=M]m}.>N^n~/?O_opng_set_filler is invalid for low bit depth gray output
+
+,
+
+

-
-
-
-
-
-T
- 5
-t
+
+
+
+
+
+T
+ 5
+ u
-
-
-
-
-
+
+
+
+
+

-
-
-
+
+
+
+
-
-
-
+
+
+

-
+
d
&
@@ -4311,38 +4284,37 @@ d



-
-
-
-
-#&
-
-
-
-
-
-
-
-$
+
+
+g
+
+
+
+
+
+
+
+<
+$
+

,
%
-z
+
P8
-o
-q
-
-
-
-
+
+
+
+
+

J#K{##/K`
X0
-->-
+->-
A 
-*D
+*D
-
+
s
u
@@ -4365,33 +4337,35 @@ u


-
+

-
-ELF
-
-
-
-
+
+ELF
+
+
+
+
+
+$

-
-
-
-M
- 
-r
+
+
+
+M
+ 
+r
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
&
@@ -4406,33 +4380,34 @@ u
-
-A
-n%
-
-
-
-
-
-
-
-a
-.
-+
-
-~
-y7
-l
-D
-
-
-
+
+8
+`
+]
+
+
+
+
+
+
+@
++
+
+7
+
+u
+
+
+
+&
+
A 
-*D
+*D
-
+
d
@@ -4451,10 +4426,10 @@ d
-
+

-
-ELF
+
+ELF
b~(F
(F0C
B(F6
@@ -4465,54 +4440,54 @@ D)++
F
-F* F F( Fi F F F1Fp@p
-3-
-
-
-
-
-
+F* F F( Fi F F F1Fp@p
+&
+,
+
+
+
+
-
-
-:
+
+
-
-
- 
-x
+
+
+ 
+x
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+

-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
0
-
-(
+
+(
)
-
+
-
+
-
-
+
+
@@ -4522,51 +4497,50 @@ F* F F( Fi F F F1Fp@p
-
-
-
-v+
-+
+
+
+
+v+
++
^+
-
- +
-+
- ,
-@,
-p,
-
-,
-!,
-& -
-A3-
-Fq-
-W-
-L-
-R-
-.
-69.
-1c.
-,.
-
-.
+
+ +
++
+ ,
+@,
+p,
+
+,
+!,
+& -
+A3-
+Fq-
+W-
+L-
+R-
+.
+69.
+1c.
+,.
+
+.

-
-`D/
-\_/
-/
-i/
-/
-/
-H0
-c0
-^0
-
-
-0
-
-^
+
+`D/
+\_/
+/
+i/
+/
+/
+H0
+c0
+^0
+
+
+0
+
dA1
-
+
&
@@ -4647,42 +4621,48 @@ dA1
-
-
-
-
-&
-
-
-
-
-
-
-
-m
-}
-L
-(9
-i
-
-(
-
-
-
+
+
+
+7
+
+F
+
+}
+
+
+
+
+.
+
+
+
+m
+Q
+
+l
+;
+hL
+8
+
+
+
+
+
. .c.PJ///!O/L`fe&.X #
<=j=j==&==>YkX.r.
<
<=P
-X /
+X /
A 
-*D
+*D


-
+
@@ -4703,7 +4683,7 @@ X /
-
+
@@ -4821,45 +4801,46 @@ X /


%
-
+

-
-ELF
+
+ELF
!iz6C,C jz*4ؔ1ih+* *+
Q ,Q
Q Q , ,
QB
-<,7E00TX*z@1*(jz)h*O
-
-
-
-
-
-
-
-
-
-H
-
-
- )
-r
+<,7E00TX*z@1*(jz)h*O
+
+
+
+
+
+
+
+
+
+
+H
+
+ )
+ s
-
-
-
-
-
-
-
-
-
-
-
-
-;
+
+
+
+
+
+
+
+
+
+
+
+
+
+;


@@ -4867,11 +4848,11 @@ X /
-
-
-
-
-!
+
+
+
+
+!

&
@@ -4887,35 +4868,33 @@ X /



-
-
-
-%
-
-
-
-
-
-
-N
-
-
-,
-K
->
-7
-5
-
-
+
+
+
+
+
+
+
+r
+
+
+
+",
+h
+z
+7
+
+!
+
+
.!=!Kk}X }.AL
.v !#*%$*$!50!%0h-BC,"Q*K+ .} .}<9.} 2$91z.&z< .o.X$*&?Q1d ~ >!?z.&z<v..m.<~ >N11c/"+.~.!?z.&z<6!n..o<.O~X ~. ~."Cy.
."!!/! ~ <#!!!///"!" ~ <0Cy. .,#/-+X#!!!!!
-.+#9Xy '/ <k 
+.+#9Xy '/ <k 
A 
-*D
-[
+*D
-
+
`
a
b
@@ -4958,10 +4937,10 @@ c
-
+

-
-ELF
+
+ELF
,m=
 +
@@ -5028,29 +5007,28 @@ F#A
FIF:F+FDa!ou FIF:F+FB H1DaD1HaF  F9F*FDa  F9F*FB H1DaD1HaF@ FIF:F+FDa @ FIF:F+FB H1DaD1HaF FIF:F+F
Da FIF:F+FBH1DaD1Ha

-
-o
--
-
-
-
-
-
-
-
- 
-v
+
+,
+
+
+
+
+
+
+
+ 
+v
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -5058,52 +5036,51 @@ o
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-$
-(
-)
-'
-
-
-
-F
-F
- 
-
- 
-
+
+
+$
+(
+)
+
+
+
+F
+F
+ 
+
+ 
+
-cI
+cI
0
-
-WJ
+
+WJ
x
-
-.K
-IK
-nK
-
-
-
-
+
+.K
+IK
+nK
+
+
+
+
^VL
-
-
+
+
&
@@ -5245,29 +5222,28 @@ x
-
-
-
-&
-
-p
-
-&
-
-
-!
-(
+
+
+
+
+
+
+2
+9
+
+}

-
-,
-K
-7
-
-
-
-
-P
-
+>
+$
+K
+7
+O
+
+
+
+;
+
+h
Jv.#/4"/-5
.u.
.11u -
@@ -5279,16 +5255,14 @@ J
J
v 
</>>/Z1>,N,04z (
-.v
+.v
A 
-*D
+*D



- 
-
-
+ 
@@ -5305,7 +5279,7 @@ J
-
+
@@ -5458,6 +5432,6 @@ J
&
)
6
-
+


diff --git a/ta_export/lib/libutee.a b/ta_export/lib/libutee.a
index 6bd76bd..acf6f78 100644
--- a/ta_export/lib/libutee.a
+++ b/ta_export/lib/libutee.a
@@ -1,40 +1,6 @@
!<arch>
-/ 1501664735 0 0 0 7316 `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+/ 1504167701 0 0 0 7602 `
+
tee_api_property.o/
tee_api_objects.o/
tee_api_operations.o/
@@ -44,49 +10,50 @@ tee_api_watermark.o/
utee_syscalls_a32.o/
default_regular.o/
-/0 1501664733 790 502 100644 80268 `
-ELF
+/0 1504167699 7574 7000 100644 81008 `
+ELF
##

H
K"
-H@{DxD
-S
+H@{DxD
+S
}
-l
-
-
+l
+
+


-0
-m
+0
+m
-}t

-7
+7
L}u
-Y
-
+Y
+
-
-
-g}u
+
+
+g}u
-
+
}u
-
+

}u
-
-}u
+
+}u
}t
-B
-}u
-B}u
-%)
+B
+}u
+B}u
+c
+%)

@@ -108,65 +75,71 @@ B}u


-
-)
-
-`
-
-j
-
-
-
-
-
-.##"3KL"2
+
+>*
+
+
+U
+a
+
+
+
+
+
+
+
+
+
+
+.##"3KL"2
A 
-*D
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+*D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -184,35 +157,34 @@ j
-
-
-ELF
+
+
+ELF
H xD
-
-
-len
-
+
+len
+
WP4}
-B}u
+B}u
Pw
Pw
Qw
-}u
-
-
+}u
+
+


-
+
-Qu
-
-
-"#
+Qu
+
+
+"#
!
@@ -226,28 +198,31 @@ B}u
B
-oF
-
-
-f
-
-
-
-
-
-
-
-
-i
-
-
-
-$K~.K=!.#m !-/J
+G
+
+
+V
+
+
+
+
+
+d
+
+
+E
+
+s
+~
+
+
+I
+$K~.K=!.#m !-/J
A 
-*D
-
+*D
+
-
+
|
|
|
@@ -287,50 +262,49 @@ i
-
-
-ELF
-
+
+
+ELF
+
-
+
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+q
+
+3
+
+
+
+h
+
+
+T
+
+
A 
-*D
-
-
-
-
-C
-D
-
-
-ELF
+*D
+
+
+F
+G
+
+
+ELF
-
-
-
+
+
+
N
\
p
-
+
4
1
B
@@ -339,140 +313,136 @@ p
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-7
+
+2
+
+
+
+
+-
+
+
+
+l
+
+I
+
A 
-*D
-
-#
-
-
-
-
-B
-F
-A
-F
-H
-E
-I
-J
-E
-
-ELF
-E
+*D
+
+
+
+
+
+E
+I
+D
+I
+K
+H
+L
+M
+H
+
+ELF
+F
B
.? : ; ' < 
-
-
-J
-
-
-
-
-;
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+`
+
+
+I
+d
+
+
++
A 
-*D
-
-
-
-
-K
-M
-
-ELF
-
-\
-x
+*D
+
+
+
+
+N
+P
+
+ELF
+
+
+
4
B
-
-
-$
-!
-
-
-
-
-
-
-
-
-
-
-
-.$#o  !/<!@J.i .>ef.n f!K!"!Z!0b  :#!"!Z!0X ) :#!"!Y!X
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.$#o  !/<!@J.i .>ef.n f!K!"!Z!0b  :#!"!Z!0X ) :#!"!Y!X
A 
-*D
-
+*D
+
-
+
-
+
)
*
-
-ELF
+
+ELF
K"
H!{DxD
F{D
FpF FF!F
H LxD K" HA!{D
-
-
-
-b
-
+
+
+
+
+
-
-
-
-
-
-b
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
I
@@ -493,34 +463,32 @@ b
B 
-
-
-
-
-
-
-
-
-
-T
-
-
-
+
+
+
+
+
+S
+c
+
+
+
+`
J/4= .%
<."?/$N"
.$
.
565#/P#/ ./R/Q6/Q=` .
-f'{<.>
+f'{<.>
A 
-*D
+*D
- 
+ 
-
+
@@ -632,9 +600,9 @@ f'{<.>
-
-
-ELF
+
+
+ELF
O
K"
@@ -646,24 +614,24 @@ K"
H@{DxD
KB K" H@{DxD
K"
-HOq{DxD
+HOq{DxD
a
-b
-buf
-x
-
-
-
+b
+buf
+x
+
+
+
-}t
-
-
-}t
-$}t
-
-2}t
-<}t
-O
+}t
+
+
+}t
+$}t
+
+2}t
+<}t
+O
@@ -679,71 +647,61 @@ O
B
B 
B 
-
-@
-
-3
-K
-l
-
-i
-]
-B
-:
-
-F
-
-n
-
-
-
-
-
-|
-
-
+
+A
+
+
+
+
+
+[
+
+
+r
+
+
+
o ./K"/pJJ20B+!"
-l  q<J! <.37%/"P!0"01!!0/:0m<O7%/#Z!"1
+l  q<J! <.37%/"P!0"01!!0/:0m<O7%/#Z!"1
A 
-*D
-
-
-
-
-
-
-
-v
-y
-w
-{
-|
-v
-
-w
-|
-}
-
-
-|
-}
-
-|
-}
-
-
-|
-
-|
-}
-
-|
-}
-
-|
-}
-
-|
+*D
+
+
+
+
+
+
+y
+|
+z
+~
+
+y
+
+z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

@@ -766,9 +724,9 @@ w
-
-
-ELF
+
+
+ELF
K"
H\!{DxD
K"
@@ -781,79 +739,79 @@ H@
K"
H@S!{DxD
K"
-HOq{DxD
-
-i
-
-
- R
-
-
+HOq{DxD
+
+i
+
+
+ R
+
+
-
+
-}t
+}t
}t
}t
-}t
+}t
$}u
(}u
,}u
-1}t
+1}t
9}t
-;}v
+;}v
E}t
-G}v
+G}v
r}t
u}t
x}t
-}t
-
-_}t
-
-
-
-
+}t
+
+_}t
+
+
+
+
-
-}t
-
-}t
-
-}t
+
+}t
+
+}t
+
+}t
-}t
-
+}t
+
}t
-
+
-
-
+
+
-}t
-
+
-
+
D}t
-
-
-
+
+
+
-S}t
-`}t
-
-p}t
-}t
-}t
-}t
-}t
-}t
+S}t
+`}t
+
+p}t
+}t
+}t
+}t
+}t
+}t
 : ; 
@@ -942,176 +900,182 @@ p}t
-"
-
-
-,
-n
-
-n
-
-
-
-
+"w
+
+J
+(
+
+v
+
+F
+
+@
+C
+
+
+
+
.
#0/K/!!!!"w#0
1
-.
+.
A 
-*D
+*D
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1127,9 +1091,9 @@ n
-
-
-ELF
+
+
+ELF
FFk˱gk1FjB4B(/F:Fkak8c
BDckk<[B D 
1[BD1F
@@ -1163,33 +1127,33 @@ LH"@aq{DxD
K"
H@q{DxD
K"
-H@q{DxD
-
-k
-o
-
+H@q{DxD
+
+k
+o
+
z$}v
$}w
-$}y
-
+$}y
+
$}u
-
+
-z$}t
+z$}t
e$}u
-
-
+
+
-
+
$}u
-$}t
-
-
-
+$}t
+
+
+
$}u
@@ -1203,99 +1167,99 @@ e$}u
$}t
$}u
-
-
+
+
S$}u
-
-$}u
+
+$}u
$}v
$}v
$}v
$}v
$}w
-$}t
+$}t
$}u
-#$}t
-C$}t
+#$}t
+C$}t
P$}t
S$}u
W$}u
-`$}u
+`$}u
-$}u
-A$}t
-
-$}t
+$}u
+A$}t
+
+$}t
$}t
$}u
-$}u
+$}u
$}w
$}w
$}w
$}w

-$}t
+$}t
$}t
-
-
+
+
)$}t
-
+
`$}t
-
+
l$}w
o$}w
r$}w
-y$}t
-$}t
-$}t
-<$}t
-$}t
+y$}t
+$}t
+$}t
+<$}t
+$}t
$}{
$}x
$}{
$}{
$}{
-$}t
+$}t
$}{
$}x
.
$}{
$}{
$}{
-$}t
+$}t
$}y
$}v
$}y
$}y
$}y
-$}t
-
-p
+$}t
+
+p
$}x
$}v
$}x
$}x
$}x
-+$}t
++$}t
=$}{
?$}v
A$}{
D$}{
F$}{
-O$}t
+O$}t
a$}z
c$}v
e$}z
h$}z
j$}z
$
-q$}t
+q$}t
$}y
$}v
$}y
@@ -1306,30 +1270,30 @@ q$}t
$}y
$}y
$}y
-$}t
-$}t
-$}t
-$}t
-o
-l
-h
-k
-p
-r
-u
-v
-x
-
-
-
-
-
-
-/
-
-|
-
-
+$}t
+$}t
+$}t
+$}t
+p
+m
+i
+l
+q
+s
+v
+w
+y
+
+
+
+
+
+
+=
+
+}
+
+
 : ; 
@@ -1394,106 +1358,106 @@ x


#
-#
-
-
-
-
-f
-*
-D
-
-
-
-
-&
-
-
-
-
-
+#
+
+
+z
+^
+
+
+
+/
+
+s
+8
+
+
+E
+
+
+
+
X
.Z=!!#=%"1
<!!/"'Y0#=?1/=/-!!/#/""PJ7 J
-<!!/!!#=-/42;K2!L/"",A
+<!!/!!#=-/42;K2!L/"",A
A 
-*D
+*D
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
@@ -1501,233 +1465,233 @@ X
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

@@ -1748,49 +1712,51 @@ X


-@
-
-ELF
+@
+
+ELF
3#  p$K"$HY!{DxD
h{"K
h{"K
-FFF'K"'H@{DxD
-
-D
-ZJ
-
-
-
-)
-
-
+FFF'K"'H@{DxD
+
+B
+XE
+
+K
+
+
+X
+
+
+
-
+
-
-
-y
-
-ܗ
-
-
-
+
+
+A{
+
+H
+L
+
+
-
+
-}u
-}t
-
+}u
+}t
+
}t
-}u
-}t
+}u
+}t
#}t
-
-#}t
-
+
+#}t
+
.? : ; ' I@B 
@@ -1805,121 +1771,116 @@ X



-
-Z7
-
-^
-
-
--
-4
-
-&
-
-
-K
-}
+
+7
+
+z
+
+
+
+
-
+
A 
-*D
- 
-
-
-
-
-
-
-x
-y
-z
-x
-y
-|
-x
-x
-y
-x
-y
-~
-x
-y
-x
-y
-
-x
-y
-x
-y
-x
-y
-
-x
-y
-x
-y
-x
-y
-
-x
-y
-x
-y
-
-x
-x
-y
-x
-y
-
-x
-y
-x
-y
-
-x
-y
-x
-y
-
-x
-x
-y
-x
-y
-
-x
-y
-x
-y
-x
-y
-
-x
-y
-x
-y
-
-x
-y
-x
-y
-x
-y
-
-x
-y
-x
-y
-x
-y
-
-x
-y
-x
-y
-
-x
+*D
+ 
+
+
+
+
+A
+
+
+{
+|
+}
+{
+|
+
+{
+{
+|
+{
+|
+
+{
+|
+{
+|
+
+{
+|
+{
+|
+{
+|
+
+{
+|
+{
+|
+{
+|
+
+{
+|
+{
+|
+
+{
+{
+|
+{
+|
+
+{
+|
+{
+|
+
+{
+|
+{
+|
+
+{
+{
+|
+{
+|
+
+{
+|
+{
+|
+{
+|
+
+{
+|
+{
+|
+
+{
+|
+{
+|
+{
+|
+
+{
+|
+{
+|
+{
+|
+
+{
+|
+{
+|
+
+{
@@ -1934,40 +1895,44 @@ x
-
-
-
-ELF
-
-PP
-PP
+
+
+
+ELF
+PP
+PP

B
-
-
-
-s
-L
-
-\
-
-
-
-
-
-
-"
-
-
+
+
+a
+
+
+
+
+u
+A
+
+
+
+'
+
+
+
+
+
+p
+
A 
-*D
-
-
-:
-:
-
-
-ELF
+*D
+
+
+
+=
+=
+
+
+ELF

p
3
@@ -1976,20 +1941,20 @@ L
u


-
-x
-
-
-
-
+
+x
+
+
+
+

-
-
-
-O
-z
-~@
+
+
+
+O
+z
+~@

@@ -1999,31 +1964,27 @@ z
-
-<
-
-
-4
-
-
-
-2
-
-
-P
-
-
-
-
-
+
+6=
+
+
+t
+
+
+
+
+
+Z
+
+
A 
-*D
+*D
-
+
n
o
n
@@ -2076,15 +2037,15 @@ o
-
-
-ELF
-F
+
+
+ELF
+F
a
-b
-Q!P1
-QP3
-
+b
+Q!P1
+QP3
+
@@ -2092,25 +2053,23 @@ QP3
B
-
-
-
-
-
-$
-
-*
-
-
-
-
-
-e
-.0#!0,"" zJ&/!E'[.'[;!/2. <w< 4"E1#/03.Dx<(4"71#/02.R^"z<$"#/0
+
+
+
+
+
+
+
+G
+
+
+
+
+.0#!0,"" zJ&/!E'[.'[;!/2. <w< 4"E1#/03.Dx<(4"71#/02.R^"z<$"#/0
A 
-*D
+*D
-
+
R
S
U
@@ -2119,13 +2078,13 @@ U
U
U
U
-
-
-ELF
-pa
-pa
-va
-pa
+
+
+ELF
+pa
+pa
+va
+pa
@@ -2134,84 +2093,84 @@ pa
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+6
+
+
+R
+$
+
+
+
+
A 
-*D
-
-
-C
-C
-C
-C
-
-
-ELF
-P
-C
-`P
-z
-P
-C
-`P
-
+*D
+
+
+
+F
+F
+F
+F
+F
+
+
+ELF
+Q
+D
+Q
+|
+Q
+D
+Q
+

B
-
-+
-
-
-
-
-
-K
-i
-
-
-s
-
-3
-
-=
-
-
-y
+
+V,
+
+
+
+
+
+
+
+
+
+6
+
+
+
A 
-*D
-
-
-C
-C
-
-
-ELF
-s?
-T
-^
-s?
-T
-^
-s?
-T
-^
-5I
-U
+*D
+
+
+F
+F
+
+
+ELF
+@
+!V
+`
+@
+!V
+`
+@
+!V
+`
+J
+DW

@@ -2221,72 +2180,74 @@ s?
-
-+
-
-
-
-
-
-
-
-G
-
-
-
-
-
-
+
+,
+a
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
-C
-C
-C
-C
-
-
-ELF
-P
-
-
-
-4
-
+*D
+
+
+F
+F
+F
+F
+
+
+ELF
+
+res
+res
+
+4
+
+
B
-
+
-
-+
-
-
-
-
-
-x
-
-
-
-
-
-e
-)
+
+,
+
+
+H
+(
+
+o
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
+*D
+
+
-C
-
-
-ELF
+F
+F
+
+
+ELF
-
-
+
!
B
@@ -2295,97 +2256,226 @@ C
B
-
-
- z&
- %
-!U
-#H
-
-!
-
-
-
-g
-
-
-
-
-
-
-
-$
-_
-(
-
+
+
+ `'
+ &
+!hW
+#;J
+
+!
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
-E
-
-
-ELF
-
-
+*D
+
+
+H
+
+
+ELF
+
+
+s-
+I
+
+
+
+
+B
+
+
+
+,
+
+
+
+
+
+
+
+
+w
+
+\
+
+
+
+
+A 
+*D
+
+
+
+F
+
+
+
+ELF
+(
+(
+(
+(
+(
+N
+(
+G(
+
+
+
+
+
+B
+
+
+B 
+
+
+E
+
+T
+
+
+:
+L
+
+
+
+~
+
+t
+
+
+
+
+A 
+*D
+
+
+
+
+
+I
+I
+I
+I
+I
+I
+
+
+
+ELF
+
+
+
+
+
+
+
+!
+
+
+B
+
+
+
+s-
+
+/
+
+
+
+
+
+
+
+d
+
+
+
+
+~
+]
+i
+M
+
+
+
+A 
+*D
+
+
+
+I
+J
+I
+J
+
+
+ELF
+
+
h
-&
+P'
-4
-
-
-
-
-
-
-
-
-
-
-
-
-+
-
+4
+
+
+
+
+
+
+
+
+
+
+
+
+6
A 
-*D
-
+*D
+
-
-ELF
-hBhB
-)(
+
+ELF
+hBhB
+(

B
-
-
-6
-
-
-
-
-
-
-
-
-(
-
-`
-
-
->
-
-
-
+
+
+>
+
+
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
+*D
-
+
8
8
9
@@ -2397,12 +2487,13 @@ h
<

-
-ELF
+
+ELF
K"(F3!{D
-
-t6
-
+
+6
+
+

@@ -2410,22 +2501,22 @@ K"(F3!{D
-
-O
+
+O
-
+
-
+
-
+
-
+
-
-
-
+
+
+
&
@@ -2437,33 +2528,35 @@ O

-
-
-<
-
-S-
-
-
-
-
-
-
-t9
-
-v
-`_
-
-
-$
-
->
-
-
+
+
+
+
+
+_
+k
+
+
+
+
+
+
+
+M
+
+9
+
+_
+O
+
+
+
A 
-*D
+*D

-
+
g
h
@@ -2507,10 +2600,10 @@ s
-
+

-
-ELF
+
+ELF
H"IKxDyD{D\B bF@F  
hB4 B0FJ
@@ -2518,14 +2611,14 @@ s
hIh h
SXFF
!F0 B
-
-b
-
-=
+
+b
+
+=
W
-h
-
-)
+h
+
+)
#p
@@ -2540,34 +2633,29 @@ h
-B
-
-
-
-!
-
-1
-
-
-
-
-I
-
-
-
-
-
-
-
-2
+B
+
+&
+
+
+
+
+
+
+
+4
+
+
+
+
<L//+$<<@!'x !]0kK-!""/$3!&0u"/
- u  J
+ u  J
A 
-*D
- 
+*D
+ 

-
+
^
_
`
@@ -2576,26 +2664,25 @@ c
e
c
e
-
-ELF
+
+ELF
` HxDA`hF
` JzDh;`3@h
-
-H
-^
-1-
-
+
+_
+-
+
-
-[9.
-E
-
-
+
+[9$/
+E
+
+

-
-
-
+
+
+
@@ -2607,247 +2694,261 @@ E
-
-
-
-
-
-
-
-
-
-
-
-
-
-J>1< /.?fi#xX #/~.f<(.=
+
+
+
+
+
+
+
+
+
+
+
+
+
+(
+
+
+
+
+
+J>1< /.?fi#xX #/~.f<(.=
A 
-*D
-
-
-
-h
-l
-m
-n
-o
-p
-q
-r
-s
-t
-u
-r
-v
-t
-w
-x
-y
+*D
+
+
+
+k
+o
+p
+q
+r
+s
+t
+u
+v
+w
+x
+u
+y
+w
+z
+{
+|
-
-
-ELF
-PP
+
+
+ELF
+PP
QQ
-PP
+PP
QP
-PQ
-PP
+PQ
+PP
QQ
-PP
+PP
+N
B
B 

B
-B 
- $
-
-7
-
-N
-
-Q
-j
-!
-
-
-e
-
-
-
-
-
+B 
+r$
+
+
+4
+
+
+
+
+D
+
+M
+
+
A 
-*D
-
-
-
-
-
-
-
+*D
+
+
+
+
+
+
ELF
p
A 
*D
-gprof_a32.o/ 1501664733 790 502 100644 618 `
+gprof_a32.o/ 1504167699 7574 7000 100644 618 `
ELF
A 
-*D
-ELF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+*D
+ELF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-5*
-J*
-4
-I,
-[
-e
-o
-y
-
-](
-
-
-
-02
-
-
-
-
-
-
-
-
+}*
+*
+6
+,
+]
+g
+q
+{
+
+(
+
+
+
+x2
+
+
+
+
+
+
+
+
4
-
-
-
-
-.
-
-
-
-
-
-5
-
-
-
-
+
+
+
+
+;
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
-
-
-
-
-
-
-ELF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-*
-4
->
-
-
-
-
-)*
->*
-U
-/,
-|
-
-
-
-
-Q(
-
-
-
-22
-
-
-
-
+*D
+
+
+
+
+
+
+
+
+ELF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"
+,
+6
+@
+
+
+
+s
+
+q*
+*
+W
+w,
+~
+
+
+
+
+(
+
+
+
+z2
+
+
+
+
+
+
+
+
4
-
-
-1
-
-
-
-
-
-
-<
-5
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
-
-
-
-
-
+*D
+
+
+
+
+
+
+
+
+
diff --git a/ta_export/lib/libutils.a b/ta_export/lib/libutils.a
index fe8a6b8..1038818 100644
--- a/ta_export/lib/libutils.a
+++ b/ta_export/lib/libutils.a
@@ -1,18 +1,18 @@
!<arch>
-/ 1501664736 0 0 0 3136 `
-
-\(
-\(
-^
-^
-^
-^
-^
-^
-
-
-\
-\
+/ 1504167702 0 0 0 3136 `
+
+fx
+fx
+iD
+iD
+iD
+iD
+iD
+iD
+
+
arm32_aeabi_divmod_a32.o/
arm32_aeabi_divmod.o/
arm32_aeabi_ldivmod_a32.o/
@@ -49,8 +49,8 @@ s_propagateNaNF64UI.o/
s_commonNaNToF32UI.o/
buf_compare_ct.o/
-bget_malloc.o/ 1501664735 790 502 100644 66396 `
-ELF
+bget_malloc.o/ 1504167701 7574 7000 100644 66508 `
+ELF
[h
l2
d@VH@E2UIVKxDyD{D P,
@@ -59,39 +59,39 @@ BIKxDyD{D`O
B lH@kIlKxDyD{DB3&.gHOrfIgKxDyD{DS,8S<AhB`H@`I`KxDyD{DC`D<D,1FD,MWK{Dh
"*I*KxDyD{DN3A F)FF
V5p
-تBؑBبB3B
-
-
+تBؑBبB3B
+
+
-/
-6
-(
-R4
- 
-
-
+/
+*
+(
+o4
+ 
+
+
-
-2
+
+2
-
-5
-
-
-
-
-
-
+
+5
+
+
+
+
+
+
-
+
-
-
+
+
 : ;
@@ -376,36 +376,36 @@ R4
-
-"
-
-
-,
-
-
-
-
-
-
-
-
-
-
-
-
+
+"
+
+
+
++
+
+
+
+J
+1
+
+
+
+
+
 / <?"
.=
X#",0!=//=!
  <<n.{.J=f y  /v. .10
-. 
+. 
A 
-*D
-
+*D
+
+`
-
+
@@ -475,28 +475,26 @@ R4
-
-ELF
-
-
-
-
-
-
-4
-
-6
-
-
-
-
-
-
-
-A 
-*D
-
-
+
+ELF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
@@ -964,6 +962,9 @@ R4
+
+
+
@@ -1136,123 +1137,118 @@ R4
-
-ELF
+
+ELF
D
-"F8F
+"F8F
Pv
Rx
-Pw
+Pw

B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
7
8
9
-
-ELF
+
+ELF
-( ( (а XBXApG pGa+A8(
-
+( ( (а XBXApG pGa+A8(
+
+(
B 
.? : ; ' I@B 
B
B 
-B
-
-&
-+
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+B
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+

-
-ELF
-
-#
-#
+
+ELF
+
+
+
4

B
-
-
-
-
-
-!
-
-
-
-
-
-
-,
-
-
-
-A 
-*D
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
"
"
-
-ELF
-
+
+ELF
+
B
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-ELF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+ELF
ڰG
Z6:h
8X'O (F OI  
@@ -1263,10 +1259,10 @@ h `:`9F"F3F""?GE
 BEBF
3FE !FXF"FF(FE@F!F
F
-
+
t
i
- t
+ t


B
@@ -1280,27 +1276,27 @@ h `:`9F"F3F""?GE
-
-T
-
-
-
-
-
-
-
-
-
-
-7
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
A 
-*D
-
+*D
+
-
+
3
4
3
@@ -1346,443 +1342,433 @@ h `:`9F"F3F""?GE
-
-ELF
+
+ELF
Pv
Pt
Rt
Qv
-Pu
+Pu

B
-
-v'
-
-
-
-
-
-:
-
-
-
-
-
-
-A 
-*D
+
+
+'
+!
+
++
+1
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
4
5
6
-
-ELF
-
+
+ELF
+
B
1
-
-F'
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+u'
+8
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
4
5
6
-
-ELF
- 
+
+ELF
+ 
B 
-
-
-
-
-
-(
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
++
+
+
+
+
+A 
+*D
+
-
-
-ELF
- 
+
+
+ELF
+ 
-&
-
-
-
-
-
-
-
-
-
-'
-
-
-
-
-A 
-*D
-
-
-ELF
- 
+&
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+ELF
+ 
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-
-ELF
+
+
+
+
+
+
+
+
+*
+
+
+
+
+
+
+!
+
+
+A 
+*D
+
+
+ELF

-
+

-
-
-
-
-+
-
-
-
-
-
-
-
-
-
- v  .!
-A 
-*D
-
-
-
-ELF
-
+
+
+
+
+
+
+
+'
+
+
+
+
+
+"
+
+
+ v  .!
+A 
+*D
+
+
+
+ELF
+
B 
-
-)
-
-
-
-
-\
-
-
-
-
-
-A 
-*D
-
-
-
-
-ELF
-Fx1Bx
-
-
-
-
-
-
-
-
-
-v
-
-
-
-
-
-A 
-*D
-
-
+
+
+
+)
+
+
+
+
+
+-
+
+
+
+A 
+*D
+
+
+
+
+ELF
+Fx1Bx
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
-
-
-ELF
-
-
-
-
-
-e
-
-
-
-
-A 
-*D
-
-
-
-ELF
-B 
-1
-
-
-
-
-
-
-
-(
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-
+
+
+ELF
+
+
+
+
+
+
+
+&
+
+
+
+
+A 
+*D
+
+
+
+ELF
+B 
+
+
+
+'
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
-
-
-ELF
-
-
-
-
-
-
-?
-
-
-+
-
-
-
-
-
-A 
-*D
-
-
-ELF
-B
-(
-
-
-
-
-
-
-
-1
-
-
-
-
-
-A 
-*D
-
+
+
+ELF
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+ELF
+B
+;(
+
+
+
+=
+
+
+(
+
+
+
+
+
+
+
+
+A 
+*D
+
-
-
-ELF
+
+
+ELF
B 
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+
+
+
+
+'
+
+
+
+0
+
+
+
+
+A 
+*D
+
-
-
-ELF
-
+
+
+ELF
+
B 
-
-
-
-
-
-
-
-X
-
-
-
-
-A 
-*D
-
-
+
+
+
+
+
+$
+
+
+
+
+
+
+
+A 
+*D
+
+
-
-
-ELF
+
+
+ELF
-&
-
-
-
-
-
-
-
-W
-
-
-
-
-
-!
-
-A 
-*D
-
-
-
-
-ELF
-
-
-
-
-
-
-
-
-f
-
-
-
-
-
-A 
-*D
-
-
+&
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+
+
+
+ELF
+
+
+
+"
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
-
-
-ELF
+
+
+ELF
JO O;K?
-&PF
+&PF
v
-L
+L
&
B
-
-V
-
-
-
-
-
-
-
-
-
-3
-
-
-
-
-A 
-*D
- 
+
+C
+
+
+
+
+
+
+
+
+A 
+*D
+ 
+
-
+
6
3
4
7
8
9
-
+
ELF
A 
*D
-/26 1501664735 790 502 100644 24780 `
-ELF
-E
-L
-E
-L
-E
-L
-E
-L
-E
-L
-E
-L
-
-E
-L
+/26 1504167701 7574 7000 100644 24892 `
+ELF
+I
+n
+I
+n
+I
+n
+I
+n
+I
+n
+I
+n
+
+I
+n

@@ -1791,27 +1777,26 @@ L
B

-
-
-
-
-
-
-
-
-
-
-
-
-
-.! /=/N./Z[?./Z[?./ZZK1./Z
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+
+
+.! /=/N./Z[?./Z[?./ZZK1./Z
+A 
+*D



-
-
+
+



@@ -1820,15 +1805,15 @@ L


!
-
+
ELF
A 
-*D
-ELF
-
-
+*D
+ELF
+
+
i
-q
+q
4
@@ -1840,83 +1825,74 @@ q
-
-
-
-
-%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
<=0#/>
-./u//tKK
+./u//tKK
A 
-*D
-
+*D
+
-
-
-
+
+
+


-
-ELF
-
-)
-)
-4
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-
-
+
+ELF
+
+*
+*
+4
+
+
+
+
+
+
+
+(
+
+
+A 
+*D
+
+
+
ELF
A 
*D
-/119 1501664735 790 502 100644 41340 `
-ELF
-V
-V
-V
-V
-
-
+/119 1504167701 7574 7000 100644 41452 `
+ELF
+V
+V
+V
+V
+
+
-
+
-
+
-
+
-
+
B
@@ -1928,24 +1904,21 @@ V



-
-
-"
-
-
-
-
-
-
-
-
-3
-5
-
-
-
-A 
-*D
+
+2
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D

@@ -1954,7 +1927,7 @@ V
-
+
@@ -1963,7 +1936,7 @@ V
-
+
%
'
)
@@ -2027,164 +2000,161 @@ i
-
-ELF
-
+
+ELF
+
a
-b
+b
-
-/
-
-
-
-
-
-*
-s
-
-
-
-
-
-A 
-*D
-
-
-ELF
+
+/
+
+
+
+
+
+7
+
+
+
+
+
+A 
+*D
+
+
+ELF
~ SED <]RF F)F
-EE 2FFXF  HO{ @Op
-
-Oe
-
+EE 2FFXF  HO{ @Op
+
+Oe
+
 : ; 
B
-
-&<
-
-
-
-
-
-
-
-
-
-
-
-
-
-8
-.u  .Y  2//1!//A/A!!/="x!/{/,2@!//00!
-A 
-*D
-
-
-
+
+&<
+#
+)
+
+
+
+
+
+
+
+
+
+.u  .Y  2//1!//A/A!!/="x!/{/,2@!//00!
+A 
+*D
+
+
+
-
.
.
+
/
0
--
-ELF
-?
+-
+ELF
+,

-
+
%
-'6
+l6
(
B
-
-
-
-
-(
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+
+
+
+
+6
+
+
+
+
+
+
+
+
+A 
+*D
+
,
-
-ELF
-
+
+ELF
+

-i
+V
%
-2
+3
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
(
-
-ELF
-
-}
+
+ELF
+
+j

-
+
%
-2
+3
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+
+
+
+
+-
+
+'
+
+
+
+
+
+
+A 
+*D
-
+
(
-
-ELF
-Oe
-
-
+
+ELF
+Oe
+
+
 : ; 
@@ -2192,58 +2162,57 @@ i
B
-
-
-
-
-"
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+
,
,
-
.
/
-0
-ELF
-
+0
+ELF
+
a
-b
+b
-
-/
-
-
-
-
-
-
-
-
-(
-
-
-
-A 
-*D
-
-
-ELF
+
+/
+*
+
+
+
+
+
+8
+
+
+
+
+
+
+A 
+*D
+
+
+ELF
FI
-FhF
-
+FhF
+
@@ -2251,193 +2220,188 @@ FhF
B
-
-
-
-
-
-
-
-
-
-t
-
-
-
-
-
-
-A 
-*D
+
+
+&
+
+
+
+
+
+
+
+
+
+
+
+
+/
+A 
+*D
,
-
-.
-ELF
-
+.
+ELF
+m
-
+
%
-.3
+s3
(
B
-
-
-
-
-
-
-
-$
-
-
-
-
-
-
-
-A 
-*D
-
-)
-ELF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+)
+ELF
- KXxBpg@BaA
-
-
-0
+ KXxBpg@BaA
+
+
+
0
-
+
A
-$3
+i3

-
-
+
+
(
B
-
-
-
-
-
-
-
-
-
-#
-
-6
-
-
-
-A 
-*D
-
+
+
+.
+
+
+
+
+(
+
+
+
+
+
+
+A 
+*D
+
*
-(
-ELF
-
-
+(
+ELF
+
+
+

-
+

- 3
+P3
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-
- v. :u. !
-A 
-*D
-
-)
-ELF
-KXxBp O0O1
-
+
+
+
+
+
+5
+
+
+
+
+
+
+ v. :u. !
+A 
+*D
+
+)
+ELF
+KXxBp O0O1
+
- 
+

-~
+k
-2
-
+ 3
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0t  .,0s  !
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 0t  .,0s  !
+A 
+*D
+
(
-*
-ELF
-yDO
-
-a
+*
+ELF
+yDO
+
+a

B
-
-/T
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-ELF
+
+/A
+
+
+%
+
+
+8
+
+
+
+
+
+
+A 
+*D
+
+ELF

#O
#e OyOxIi
-#i O sOrCc
-OZ
-
+#i O sOrCc
+OZ
+
 : ; 
@@ -2447,125 +2411,123 @@ a
B
-
-&<
-
-
-
-
-
-
-
-
-
-
-<
-
-
-A 
-*D
+
+&<
+
+
+&
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
.
.
+
/
0
--
-ELF
-
+-
+ELF
+

-Y
+F
A
-5
+06
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-.
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+
+.
+A 
+*D
+
,
-
-ELF
-
-O
+
+ELF
+
+<

-
+
A
-f2
+2
(
B
-
-
-
-
-
-
-
-
-
-
-
-0
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
-)
-ELF
-
-8
+
+)
+ELF
+
+%

-
+
A
-l2
+2
(
B
-
-
-
-
-
-2
-
-
-
-
-#
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
-)
-ELF
+
+)
+ELF

C #
CO
:C
I
-IOs
-Ow
+IOs
+Ow
 : ; 
@@ -2576,489 +2538,471 @@ IOs
B
-
-
-
-9
-,
-%
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-
-
+
+)
+
+
+5
+
+
+
+
+
+
+6
+
+
+A 
+*D
+
+
+
,
,
-
.
/
-0
-ELF
-yDO
-
-a
+0
+ELF
+yDO
+
+
+a

B
-
-/R
-
-
-
-$
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-ELF
-
-|
+
+/?
+
+)
+
+
+
+8
+
+
+
+
+
+
+
+
+A 
+*D
+
+ELF
+
+i
B
-
-
-
-
-
-
-*
-
-
-
-
-
-
-
-,
-'
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
,
-
.
/
-
-ELF
+
+ELF

O4D;@4
-KY0xBp6
-
-
+KY0xBp6
+
+

-
+
&
-
+
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
- 
-
-
+
+
+
+6
+
+
+
+
+
+
+
+
+%
+
+A 
+*D
+ 
+
+
(
-)
-ELF
+)
+ELF
@t
4K
-dBeEO4o
-
-:
+dBeEO4o
+
+
+'
D
-
+
A
-2
+*3
(
B

-
-
-
-
-
-
-
-7
--
-
-
-
-
-.
-A 
-*D
- 
-
+
+
+
+
+
+
+
+
+
+
+
+
+.
+A 
+*D
+ 
+
+
(
)
-(
-ELF
- K[0xBpTF
-
-
+(
+ELF
+ K[0xBpTF
+
+

-~
+k
-2
+)3
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-+
-
+
+
+
+
+
+
+
+
+
+6
+
+
+
+
.!-vJ
.!/I0s. .+/0!
-
+
A 
-*D
- 
-
+*D
+ 
+
+
(
-)
-ELF
- @t
-
+)
+ELF
+ @t
+

-p
+]

-2
+3
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-
- ht. .,#,>s. L!
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ht. .,#,>s. L!
+A 
+*D
+P
+P
+
(
)
(
-+
-ELF
-
-a
++
+ELF
+
+a

B
-
-/
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+/
+
+
+
+
+
+
+
+
+,
+
+
+A 
+*D
+
(
-
-ELF
-
-
-a
+
+ELF
+
+
+a

B
-
-/:
-
-
-
-
-b
-
-
-
-
-!
-
-.0
-A 
-*D
-
+
+/'
+
+
+
+
+
+
+
+
+
+
+
+.0
+A 
+*D
+
)
'
-
-ELF
-
-
-
-a
+
+ELF
+
+
+
+a

B
-
-/E
-
-
-
-
-
-
-
-
-
-
-2
-
-
-
-A 
-*D
-
+
+/2
+
+
+
+
+
+$
+
+
+
+
+
+
+
+A 
+*D
+
(
)
*
-
-ELF
+
+ELF
K"F+F
-RBcC
-
-4
-2
-a
-<Pv
+RBcC
+
+a
+<Pv

B
-
-/
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-)
-ELF
-
-a
+
+/
+
+
+
+
+
+
+
+
+
+1
+
+
+
+
+A 
+*D
+
+)
+ELF
+
+
+a

B
-
-/
-
-
-
-
-
-
-
-
-6
-
-
-
-%
-
-A 
-*D
-
+
+/
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
(
)
-
-ELF
-
-
-
-a
+
+ELF
+
+
+
+a

B
-
-/w
-
-
-,
--
-
-2
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+/d
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
)
'
-
-ELF
-TМ@
-
+
+ELF
+TМ@
+
a
-
+

B
-
-/a
-
-
-
-
-
-
-
-
-5
-
-
-
-2
-
-A 
-*D
-
+
+/N
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
(
)
*
-
-ELF
-
+
+ELF
+
a
= Q0 Pt
-< Q0 }
+< Q0 }

B
-
-/:
-
-
-
-
-
-
-4
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+/'
+
+
+
+9
+
+"
+
+
+
+
+
+
+
+
+A 
+*D
+
(
)
*
-
-ELF
-
-
-z(
-L&
-9'
-
+
+ELF
+
+
+(
+&
+{'
+
s
-
+

-"
-Pu
+"
+Pu
(
@@ -3066,44 +3010,45 @@ s
B
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+;
+A 
+*D
,
-
-
.
-/
-ELF
+/
+ELF

 TOPO:@ 
E T @
e F"BZ %.
-F FK k2
-
-
-y(
-C&
-8'
-
+F FK k2
+
+
+(
+&
+z'
+
e
-
+
u
-"
+"
@$@&
-@$@&
+@$@&
(
@@ -3127,28 +3072,27 @@ u


-
-
-
-
-
-
-
- 
-/
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+A 
+*D
,
-
-
.
-/
-ELF
+/
+ELF
uiA
-uiB
+uiB
Pv
-0)(
+0)(

@@ -3162,36 +3106,38 @@ uiB
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+
,
-
-
-ELF
+
+ELF
0 \oGWOV 
O8Pf

E @ @Oq
A o
C S
-PFYF#FF
-uiA
+PFYF#FF
+uiA

@@ -3204,146 +3150,141 @@ uiA

-
-
-#
-
-
-,
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+
+7
+
+
+
+
+
+
+
+
+.
+
+
+
+A 
+*D
,
,
-
-.
-ELF
-
-
+.
+ELF
+
+
z
-4
-
-
-
-2
-
-
-
-
-
-
-
-A 
-*D
-
+4
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
)
'
-
-ELF
-
-
-z
+
+ELF
+
+
+
+z
4
B
-
-
-
-
-
-(
-2
-
-_
-
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
(
-
-ELF
+
+ELF
8O
+
-dCOx!FDD`
-
-(
-o
-
-
-
-
-$
-^%
-
+dCOx!FDD`
+
+\
+
+
+
+
+
+$
+%
+
)
-
+x
A
-
-Pt
+
+Pt
(
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-9
-7
-
-
-"
-
-A 
-*D
-
+
+
+'
+
+!
+
+
+
+
+3
+
+
+
+
+
+
+
+A 
+*D
+
)
*
-*
-ELF
+*
+ELF
-@P_
-
-
-}
-h
-y
-
-@$
-%
-
+@P_
+
+
+j
+U
+f
+
+b$
+<%
+
)
-7
+$
A
-
+
(
@@ -3351,440 +3292,422 @@ A
B
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
- 
-
+
+
+
+
+
+
+
+
+(
+
+
+
+
+A 
+*D
+ 
+
)
*
-*
-ELF
+*
+ELF
-
-
-
-
-
-
-
-
-
-O
-
-
-
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+


-
-ELF
-KB @
-
+
+ELF
+KB @
+
B
-
-
--
-
-
-
-
-
-!
-
-
-
-A 
-*D
-
-
-
-ELF
-
-
-E
+
+
+
+'
+
+
+1
+
+
+
+
+0
+
+
+
+A 
+*D
+
+
+
+ELF
+
+
+2

B
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+
+
+)
+
+
+
+
+
+
+
+
+A 
+*D
+
(
)
-
-ELF
-:
-
-
-
+
+ELF
+:
+
+
+

B
-
-
-
-
-
-
-
-
-
-
-(
-
-
-A 
-*D
- 
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+ 
+
+
)
'
'
*
-
-ELF
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+ELF
+
+
+
+
+1
+
+
+
+
+
+0
+
+A 
+*D


-
-ELF
-
-
-%
-$
-
-
-
-
-
-
-D
-
-
-
-
-A 
-*D
+
+ELF
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
+
-
-ELF
-
-*
+
+ELF
+
+*
B 
4
-
-!
-
-
-
-
-
-
-
-
-_
-
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+
+1
+
+
+
+
+*
+
+A 
+*D
-
-ELF
-
-
-
+
+ELF
+
+
+
B 
!
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
+
+
+
+
+
+
+
+)
+
+
+
+
+
+
+A 
+*D
-
-ELF
+
+ELF
5DO
-D EE
-
+D EE
+
a32
a0
-z
+z
mid
4
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
- 
-
-ELF
-
-
-&
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+ 
+
+ELF
+
+&
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
-
+
-
-ELF
-B 
-
-
-
-
-
-
-
-
--
-
-
-
-
-A 
-*D
-
-
-
-ELF
-
-6
+
+ELF
+B 
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+
+ELF
+
+6
1
B
-
-&4
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-,
-ELF
-!
+
+&!
+
+
+
+
+
+
+
+)
+
+
+A 
+*D
+
+,
+ELF
+!
.? : ; ' @B 
B
-
-
-
-
-
-
-
-^
-
-
-
-
-A 
-*D
-
-
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
&
-
-ELF
+
+ELF

-
-
-
-
-
-!
-
-
-
-
-H
-
-
-
-A 
-*D
-
-
-ELF
- IO0 @)@P 
-0
+
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+ELF
+ IO0 @)@P 
+
.? : ; ' @B 
B
-
-
-
-
-5
-
-
-
-_
-
-
-
-A 
-*D
-
-&
-ELF
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+&
+ELF
O
O
FO
-
-%
-
-
+
+
+
1
B
-
-&
-
-
-
-
-
-
-
-
-
-
-
-.
-A 
-*D
- 
-,
-ELF
-@p@@@
+
+&
+
+
+
+
+
+
+
+
+*
+A 
+*D
+ 
+,
+ELF
+@p@@@

B 
-
-
-
-
-
-5
-
-&
-
-
-.
-
-
-
-A 
-*D
-
-
-
-ELF
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
+
+
+ELF
; 
ܸ#fи*fи @X.jи0и-@_U
3h6C{j
@@ -3805,19 +3728,17 @@ O
8
 1YE{ #
-;:
-!
-
-
+;:
+ !
+
@
-f
-
+i

-
+
4

@@ -3837,25 +3758,24 @@ f



-
-"
-
-
-
-$
-
-
-
-
-
-
-p
-
-
-
-A 
-*D
-
+
+"
+2
+
+
+
+
+
+6
+
+
+
+
+
+
+A 
+*D
+
2
3
4
@@ -3867,95 +3787,92 @@ p
1
5
-
-ELF
-F
-
-
-PQ
+
+ELF
+F
+
+
+PQ

B
-
-!
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+
+!
+
+
+
+
+
+
+
+
+
+
+
+
+A 
+*D
+
-
+
.
-
-ELF
-
+
+ELF
+
-&
-!
-
-
-
-
-/
-
-
-
-
-
-
-
-
-
-A 
-*D
-
+&
+!
+
+
+
+
+,
+!
+
+
+
+
+
+
+
+
+
+
+A 
+*D
-
-
-ELF
- 
+
+
+ELF
+ 
-&
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-A 
-*D
-
-
-ELF
+&
+
+
+
+
+
+
+
+
+
+
+*
+
+
+A 
+*D
+
+
+ELF
q1JzD
ȿ$,($+U
-+,
-
-
-
++,
+
+

@@ -3965,7 +3882,7 @@ p
 }

-
+
4
B 
@@ -3976,24 +3893,25 @@ p
B
-
-
-
-
-
-
-
-
-7
-
-
-C
-
-
-A 
-*D
+
+
+
+
+
+
+
+2
+
+&
+
+
+
+D
+
+A 
+*D
-
+
P
Q
P
@@ -4001,7 +3919,7 @@ P
P
P
R
-S
+S
ELF
A 
*D
diff --git a/ta_export/lib/libzlib.a b/ta_export/lib/libzlib.a
index 92a2855..3eb5d0e 100644
--- a/ta_export/lib/libzlib.a
+++ b/ta_export/lib/libzlib.a
@@ -1,18 +1,11 @@
!<arch>
-/ 1501664735 0 0 0 1050 `
-
-
-
-
-
-
-
-adler32
-ELF
-DD{DwDD8wDA8A3B FOqF(F FOq FARB;F
-
-rem
-
+/ 1504167701 0 0 0 1050 `
+
+ELF
+DD{DwDD8wDA8A3B FOqF(F FOq FARB;F
+
+rem
+
4
B 
@@ -27,24 +20,22 @@ rem
4
"

-[
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+[
+
+
+
+
+
+0
+
+
+
+
+
+
A 
-*D
-
+*D
+
'
(
(
@@ -52,20 +43,20 @@ rem
(
(
(
-
-
-ELF
+
+
+ELF
5lBɻ@l2u\E Y=ѫ0&:
| <qPA' %hWo fa^)"а=Y .;\l ұt9Gwҝ&s c;d>jm Zjz  '
}Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L
J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju
m ?6grW
- TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-
-c
-
-
-
-
+ TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-
+a
+
+
+
+
B 
.: ;' @B 
B
@@ -74,23 +65,21 @@ c
B
B 
-
-
-
-
-
-
-
-
-|
-
-
-
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
-ELF
+*D
+
+
+ELF
T\h3UCa-Opnjko|oeE
< Pi T
l `l 0o9g
@@ -121,28 +110,27 @@ Taa 
F F.l
ThhPT3
ThhPTz3hPTca F F)(Fi`i
-O c `!ZbBce d:Be
-
-
+O c `!ZbBce d:Be
+
{
-
-
-
+
+
+

-
+
-
-
+
+
-
+
-
-
-
+
+
+
@@ -150,17 +138,16 @@ F F.l
-
-
+
+
-
-
+
-
-+Q1
+
++Q1
+Q1
-+Qv
++Qv
' 
@@ -213,20 +200,20 @@ F F.l



-
-_2
-
-
-
-
-
-
-
-n
-
-
-8
-<
+
+2
+(
+
+
+
+
+,
+
+
+
+6
+
++
!
.B)3
f?5w/?O#[KBy. ""=!K"Y=====!<. <.b   <;v.=
@@ -235,16 +222,16 @@ f XuJ=
."hE!$
J-/wJ=Y0A==!-!"$FYKYKYKh>^[$>L/=@//>=!/u
-<M02"-V...
+<M02"-V...
A 
-*D
+*D



- 
+ 
-
+
?
?
@
@@ -333,9 +320,9 @@ W
-
-
-ELF
+
+
+ELF
C3f(82$nmB C
" d5{DIfcmO l ;;@[E5GF
lL
@@ -352,23 +339,21 @@ W
-
-
-
-T&
-
- #
-
+
+
+&
+
+ #
{
-
-!Q1
-
-t
+
+!Q1
+
+t
' 
@@ -389,50 +374,50 @@ W

-
-
-
-
-
-
-6
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+(
. < o .
-<!!+/0v!@":!/!A2
+<!!+/0v!@":!/!A2
A 
-*D
-
+*D
+
?
@
@
@
A
-
-
-ELF
+
+
+ELF
&hmj 
8>P*
`xx4@2 
->D
-
-
-
-
-
-
-"
- 0
+>D
+
+
+
+
+f#
+
+

-
+

-
-
+
+
' 
@@ -442,23 +427,23 @@ A
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
-
-ELF
+*D
+
+
+
+ELF
@-c0o
cbB:={D
"
@@ -499,26 +484,25 @@ DOs+
-
-
-=(
-
- #
+
+
+(
+
+ 0$
$
-
-$Q1
-
-
-
+
+$Q1
+
+
+
$Q1

-$Qu
-
+$Qu
' 
@@ -624,27 +608,27 @@ $
-
-
-
-:
-
-
-
-
-;
-
-
-
-
+
+0
+
+
+
+9
+
+
+
+
+
+
+
 $!!!u/#:#
w "!!!*&=/Lo .$
.4 //-5#
X0KK>!/K<>-2/?!M!\=
-< .%
+< .%
A 
-*D
-
+*D
+
I
I
I
@@ -683,18 +667,18 @@ I



-
-
-ELF
+
+
+ELF
<O6
\FFO 
N7 
E p6` 
q7YE8 E,
-
+
-
-
+
+
.? : ; ' I@B 
@@ -702,24 +686,26 @@ I

-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+3
+
A 
-*D
-
-
-ELF
+*D
+
+
+ELF
,ܰJ4JJ4J}BO
GahL
@@ -778,27 +764,27 @@ CaizTO1hO.iaa :A@21CaSi
   
-
-
-
-
-
-|
-
-
+
+
+
+
+
+
+|
+




-
-
-
-
+
+
+
+
-
+
-
+
' 
@@ -889,22 +875,19 @@ CaizTO1hO.iaa :A@21CaSi
3%

-
-
-
-
-
-.
-,
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
.G600n .!
.@ `XCy '\JX!
q.!=g=
@@ -912,13 +895,13 @@ CaizTO1hO.iaa :A@21CaSi
X!@
X>!'y<5
<-!Kg"v"&x C=e/;=-/XO
-
+
A 
-*D
- 
-
-
-
+*D
+ 
+
+
+
G


@@ -951,69 +934,64 @@ G
-
-
-ELF
-
-
+
+
+ELF
+
+
+
' 
B
-
-
-!
-
-
-
-
-
-
-
-
-b
-
-
-*
+
+
+
+
+
+
+
+
+
+
+
A 
-*D
-
-
+*D
+
+
"
#
$
$
-
-
-ELF
-err
-len
-s1
-len
+
+
+ELF
+err
+len
+s1
+len
B
B 

B 
-
-
-
-
-
-
-
-
-
-
-
-
-
-0
-
-
+
+
+
+
+
+
+
+3
+
+
+
+
+
+
A 
-*D
-
+*D
+

diff --git a/ta_export/mk/conf.mk b/ta_export/mk/conf.mk
index 3a9238b..d478edb 100644
--- a/ta_export/mk/conf.mk
+++ b/ta_export/mk/conf.mk
@@ -4,7 +4,7 @@ CFG_TA_FLOAT_SUPPORT := y
CFG_ARM32_ta_arm32 := y
ta_arm32-platform-cppflags := -DARM32=1 -D__ILP32__=1
ta_arm32-platform-cflags := -mcpu=cortex-a9 -Os -g3 -fpie -mthumb -mthumb-interwork -fno-short-enums -fno-common -mno-unaligned-access -mfloat-abi=hard -funsafe-math-optimizations
-ta_arm32-platform-cxxflags := -mcpu=cortex-a9 -Os -g3 -fpie -mthumb -mthumb-interwork -fno-short-enums -fno-common -mno-unaligned-access -mfloat-abi=hard -funsafe-math-optimizations
+ta_arm32-platform-cxxflags :=
ta_arm32-platform-aflags := -mcpu=cortex-a9
CROSS_COMPILE32 ?= $(CROSS_COMPILE)
CROSS_COMPILE_ta_arm32 ?= $(CROSS_COMPILE32)
diff --git a/ta_export/scripts/gen_cert_key.py b/ta_export/scripts/gen_cert_key.py
index 443ca50..8035f8c 100755
--- a/ta_export/scripts/gen_cert_key.py
+++ b/ta_export/scripts/gen_cert_key.py
@@ -46,7 +46,7 @@ def aes256_cbc_enc(key, iv, text):
return msg
-def gen_aes256_iv():
+def gen_nonce():
import md5
import uuid
@@ -69,6 +69,9 @@ def main():
args = get_args()
if args.root_aes_key != 'null' and args.ta_aes_key != 'null':
+ root_aes_iv = struct.pack('<IIII', \
+ 0x0, 0x0, 0x0, 0x0)
+
f = open(args.root_aes_key, 'rb')
root_aes_key = f.read()
f.close()
@@ -81,20 +84,14 @@ def main():
ta_aes_iv = f.read()
f.close()
- root_aes_iv = gen_aes256_iv()
-
- ta_aes_key_enc = aes256_cbc_enc(root_aes_key, root_aes_iv, ta_aes_key)
- if (ta_aes_key_enc == 'null'):
- sys.exit(1)
+ nonce = gen_nonce()
- ta_aes_iv_enc = aes256_cbc_enc(root_aes_key, root_aes_iv, ta_aes_iv)
- if (ta_aes_iv_enc == 'null'):
+ nonce_key_iv_enc = aes256_cbc_enc(root_aes_key, root_aes_iv, nonce+ta_aes_key+ta_aes_iv)
+ if (nonce_key_iv_enc == 'null'):
sys.exit(1)
f = open(args.ta_aes_key_iv_enc, 'wb')
- f.write(root_aes_iv)
- f.write(ta_aes_key_enc)
- f.write(ta_aes_iv_enc)
+ f.write(nonce_key_iv_enc)
f.close()
f = open(args.root_rsa_key, 'rb')
diff --git a/ta_export/scripts/pack_kpub.py b/ta_export/scripts/pack_kpub.py
index ea02256..7a60df0 100755
--- a/ta_export/scripts/pack_kpub.py
+++ b/ta_export/scripts/pack_kpub.py
@@ -60,7 +60,7 @@ def main():
# root encrypt key
rek_magic = 0x534F5441 # KEY_MAGIC
- rek_type = 0x70004830 # KEY_TYPE
+ rek_type = 0x10000110 # KEY_TYPE
rek_size = len(rek)
rek_hdr = struct.pack('<III', \