xref: /optee_os/CHANGELOG.md (revision a94111b95c67dabfc6453372fc865a47d8a12ba3)
1# OP-TEE - version 3.15.0 (2021-10-18)
2
3- Links to the release pages, commits and pull requests merged into this release for:
4  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_15_0], [commits][OP_TEE_optee_os_commits_3_15_0] and [pull requests][OP_TEE_optee_os_pr_3_15_0]
5  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_15_0], [commits][OP_TEE_optee_client_commits_3_15_0] and [pull requests][OP_TEE_optee_client_pr_3_15_0]
6  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_15_0], [commits][OP_TEE_optee_test_commits_3_15_0] and [pull requests][OP_TEE_optee_test_pr_3_15_0]
7  - OP-TEE/build: [release page][OP_TEE_build_release_3_15_0], [commits][OP_TEE_build_commits_3_15_0] and [pull requests][OP_TEE_build_pr_3_15_0]
8  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_15_0], [commits][linaro_swg_optee_examples_commits_3_15_0] and [pull requests][linaro_swg_optee_examples_pr_3_15_0]
9
10
11[OP_TEE_optee_os_release_3_15_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.15.0
12[OP_TEE_optee_os_commits_3_15_0]: https://github.com/OP-TEE/optee_os/compare/3.14.0...3.15.0
13[OP_TEE_optee_os_pr_3_15_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
14
15[OP_TEE_optee_client_release_3_15_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.15.0
16[OP_TEE_optee_client_commits_3_15_0]: https://github.com/OP-TEE/optee_client/compare/3.14.0...3.15.0
17[OP_TEE_optee_client_pr_3_15_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
18
19[OP_TEE_optee_test_release_3_15_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.15.0
20[OP_TEE_optee_test_commits_3_15_0]: https://github.com/OP-TEE/optee_test/compare/3.14.0...3.15.0
21[OP_TEE_optee_test_pr_3_15_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
22
23[OP_TEE_build_release_3_15_0]: https://github.com/OP-TEE/build/releases/tag/3.15.0
24[OP_TEE_build_commits_3_15_0]: https://github.com/OP-TEE/build/compare/3.14.0...3.15.0
25[OP_TEE_build_pr_3_15_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
26
27[linaro_swg_optee_examples_release_3_15_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.15.0
28[linaro_swg_optee_examples_commits_3_15_0]: https://github.com/linaro-swg/optee_examples/compare/3.14.0...3.15.0
29[linaro_swg_optee_examples_pr_3_15_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-07-16..2021-10-18
30
31# OP-TEE - version 3.14.0 (target date: 2021-07-16)
32
33- Links to the release pages, commits and pull requests merged into this release for:
34  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_14_0], [commits][OP_TEE_optee_os_commits_3_14_0] and [pull requests][OP_TEE_optee_os_pr_3_14_0]
35  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_14_0], [commits][OP_TEE_optee_client_commits_3_14_0] and [pull requests][OP_TEE_optee_client_pr_3_14_0]
36  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_14_0], [commits][OP_TEE_optee_test_commits_3_14_0] and [pull requests][OP_TEE_optee_test_pr_3_14_0]
37  - OP-TEE/build: [release page][OP_TEE_build_release_3_14_0], [commits][OP_TEE_build_commits_3_14_0] and [pull requests][OP_TEE_build_pr_3_14_0]
38  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_14_0], [commits][linaro_swg_optee_examples_commits_3_14_0] and [pull requests][linaro_swg_optee_examples_pr_3_14_0]
39
40
41[OP_TEE_optee_os_release_3_14_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.14.0
42[OP_TEE_optee_os_commits_3_14_0]: https://github.com/OP-TEE/optee_os/compare/3.13.0...3.14.0
43[OP_TEE_optee_os_pr_3_14_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
44
45[OP_TEE_optee_client_release_3_14_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.14.0
46[OP_TEE_optee_client_commits_3_14_0]: https://github.com/OP-TEE/optee_client/compare/3.13.0...3.14.0
47[OP_TEE_optee_client_pr_3_14_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01-..2021-07-16
48
49[OP_TEE_optee_test_release_3_14_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.14.0
50[OP_TEE_optee_test_commits_3_14_0]: https://github.com/OP-TEE/optee_test/compare/3.13.0...3.14.0
51[OP_TEE_optee_test_pr_3_14_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
52
53[OP_TEE_build_release_3_14_0]: https://github.com/OP-TEE/build/releases/tag/3.14.0
54[OP_TEE_build_commits_3_14_0]: https://github.com/OP-TEE/build/compare/3.13.0...3.14.0
55[OP_TEE_build_pr_3_14_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
56
57[linaro_swg_optee_examples_release_3_14_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.14.0
58[linaro_swg_optee_examples_commits_3_14_0]: https://github.com/linaro-swg/optee_examples/compare/3.13.0...3.14.0
59[linaro_swg_optee_examples_pr_3_14_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-05-01..2021-07-16
60
61# OP-TEE - version 3.13.0 (2021-04-30)
62
63- Links to the release pages, commits and pull requests merged into this release for:
64  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_13_0], [commits][OP_TEE_optee_os_commits_3_13_0] and [pull requests][OP_TEE_optee_os_pr_3_13_0]
65  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_13_0], [commits][OP_TEE_optee_client_commits_3_13_0] and [pull requests][OP_TEE_optee_client_pr_3_13_0]
66  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_13_0], [commits][OP_TEE_optee_test_commits_3_13_0] and [pull requests][OP_TEE_optee_test_pr_3_13_0]
67  - OP-TEE/build: [release page][OP_TEE_build_release_3_13_0], [commits][OP_TEE_build_commits_3_13_0] and [pull requests][OP_TEE_build_pr_3_13_0]
68  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_13_0], [commits][linaro_swg_optee_examples_commits_3_13_0] and [pull requests][linaro_swg_optee_examples_pr_3_13_0]
69
70
71[OP_TEE_optee_os_release_3_13_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.13.0
72[OP_TEE_optee_os_commits_3_13_0]: https://github.com/OP-TEE/optee_os/compare/3.12.0...3.13.0
73[OP_TEE_optee_os_pr_3_13_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
74
75[OP_TEE_optee_client_release_3_13_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.13.0
76[OP_TEE_optee_client_commits_3_13_0]: https://github.com/OP-TEE/optee_client/compare/3.12.0...3.13.0
77[OP_TEE_optee_client_pr_3_13_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
78
79[OP_TEE_optee_test_release_3_13_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.13.0
80[OP_TEE_optee_test_commits_3_13_0]: https://github.com/OP-TEE/optee_test/compare/3.12.0...3.13.0
81[OP_TEE_optee_test_pr_3_13_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
82
83[OP_TEE_build_release_3_13_0]: https://github.com/OP-TEE/build/releases/tag/3.13.0
84[OP_TEE_build_commits_3_13_0]: https://github.com/OP-TEE/build/compare/3.12.0...3.13.0
85[OP_TEE_build_pr_3_13_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
86
87[linaro_swg_optee_examples_release_3_13_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.13.0
88[linaro_swg_optee_examples_commits_3_13_0]: https://github.com/linaro-swg/optee_examples/compare/3.12.0...3.13.0
89[linaro_swg_optee_examples_pr_3_13_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2021-01-20..2021-04-30
90
91# OP-TEE - version 3.12.0 (2021-01-20)
92
93- Links to the release pages, commits and pull requests merged into this release for:
94  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_12_0], [commits][OP_TEE_optee_os_commits_3_12_0] and [pull requests][OP_TEE_optee_os_pr_3_12_0]
95  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_12_0], [commits][OP_TEE_optee_client_commits_3_12_0] and [pull requests][OP_TEE_optee_client_pr_3_12_0]
96  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_12_0], [commits][OP_TEE_optee_test_commits_3_12_0] and [pull requests][OP_TEE_optee_test_pr_3_12_0]
97  - OP-TEE/build: [release page][OP_TEE_build_release_3_12_0], [commits][OP_TEE_build_commits_3_12_0] and [pull requests][OP_TEE_build_pr_3_12_0]
98  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_12_0], [commits][linaro_swg_optee_examples_commits_3_12_0] and [pull requests][linaro_swg_optee_examples_pr_3_12_0]
99
100
101[OP_TEE_optee_os_release_3_12_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.12.0
102[OP_TEE_optee_os_commits_3_12_0]: https://github.com/OP-TEE/optee_os/compare/3.11.0...3.12.0
103[OP_TEE_optee_os_pr_3_12_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
104
105[OP_TEE_optee_client_release_3_12_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.12.0
106[OP_TEE_optee_client_commits_3_12_0]: https://github.com/OP-TEE/optee_client/compare/3.11.0...3.12.0
107[OP_TEE_optee_client_pr_3_12_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
108
109[OP_TEE_optee_test_release_3_12_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.12.0
110[OP_TEE_optee_test_commits_3_12_0]: https://github.com/OP-TEE/optee_test/compare/3.11.0...3.12.0
111[OP_TEE_optee_test_pr_3_12_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
112
113[OP_TEE_build_release_3_12_0]: https://github.com/OP-TEE/build/releases/tag/3.12.0
114[OP_TEE_build_commits_3_12_0]: https://github.com/OP-TEE/build/compare/3.11.0...3.12.0
115[OP_TEE_build_pr_3_12_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
116
117[linaro_swg_optee_examples_release_3_12_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.12.0
118[linaro_swg_optee_examples_commits_3_12_0]: https://github.com/linaro-swg/optee_examples/compare/3.11.0...3.12.0
119[linaro_swg_optee_examples_pr_3_12_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-10-16..2021-01-20
120
121# OP-TEE - version 3.11.0 (2020-10-16)
122
123- Links to the release pages, commits and pull requests merged into this release for:
124  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_11_0], [commits][OP_TEE_optee_os_commits_3_11_0] and [pull requests][OP_TEE_optee_os_pr_3_11_0]
125  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_11_0], [commits][OP_TEE_optee_client_commits_3_11_0] and [pull requests][OP_TEE_optee_client_pr_3_11_0]
126  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_11_0], [commits][OP_TEE_optee_test_commits_3_11_0] and [pull requests][OP_TEE_optee_test_pr_3_11_0]
127  - OP-TEE/build: [release page][OP_TEE_build_release_3_11_0], [commits][OP_TEE_build_commits_3_11_0] and [pull requests][OP_TEE_build_pr_3_11_0]
128  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_11_0], [commits][linaro_swg_optee_examples_commits_3_11_0] and [pull requests][linaro_swg_optee_examples_pr_3_11_0]
129
130
131[OP_TEE_optee_os_release_3_11_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.11.0
132[OP_TEE_optee_os_commits_3_11_0]: https://github.com/OP-TEE/optee_os/compare/3.10.0...3.11.0
133[OP_TEE_optee_os_pr_3_11_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
134
135[OP_TEE_optee_client_release_3_11_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.11.0
136[OP_TEE_optee_client_commits_3_11_0]: https://github.com/OP-TEE/optee_client/compare/3.10.0...3.11.0
137[OP_TEE_optee_client_pr_3_11_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
138
139[OP_TEE_optee_test_release_3_11_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.11.0
140[OP_TEE_optee_test_commits_3_11_0]: https://github.com/OP-TEE/optee_test/compare/3.10.0...3.11.0
141[OP_TEE_optee_test_pr_3_11_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
142
143[OP_TEE_build_release_3_11_0]: https://github.com/OP-TEE/build/releases/tag/3.11.0
144[OP_TEE_build_commits_3_11_0]: https://github.com/OP-TEE/build/compare/3.10.0...3.11.0
145[OP_TEE_build_pr_3_11_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
146
147[linaro_swg_optee_examples_release_3_11_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.11.0
148[linaro_swg_optee_examples_commits_3_11_0]: https://github.com/linaro-swg/optee_examples/compare/3.10.0...3.11.0
149[linaro_swg_optee_examples_pr_3_11_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-08-21..2020-10-16
150
151# OP-TEE - version 3.10.0 (2020-08-21)
152
153- Links to the release pages, commits and pull requests merged into this release for:
154  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_10_0], [commits][OP_TEE_optee_os_commits_3_10_0] and [pull requests][OP_TEE_optee_os_pr_3_10_0]
155  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_10_0], [commits][OP_TEE_optee_client_commits_3_10_0] and [pull requests][OP_TEE_optee_client_pr_3_10_0]
156  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_10_0], [commits][OP_TEE_optee_test_commits_3_10_0] and [pull requests][OP_TEE_optee_test_pr_3_10_0]
157  - OP-TEE/build: [release page][OP_TEE_build_release_3_10_0], [commits][OP_TEE_build_commits_3_10_0] and [pull requests][OP_TEE_build_pr_3_10_0]
158  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_10_0], [commits][linaro_swg_optee_examples_commits_3_10_0] and [pull requests][linaro_swg_optee_examples_pr_3_10_0]
159
160
161[OP_TEE_optee_os_release_3_10_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.10.0
162[OP_TEE_optee_os_commits_3_10_0]: https://github.com/OP-TEE/optee_os/compare/3.9.0...3.10.0
163[OP_TEE_optee_os_pr_3_10_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
164
165[OP_TEE_optee_client_release_3_10_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.10.0
166[OP_TEE_optee_client_commits_3_10_0]: https://github.com/OP-TEE/optee_client/compare/3.9.0...3.10.0
167[OP_TEE_optee_client_pr_3_10_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
168
169[OP_TEE_optee_test_release_3_10_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.10.0
170[OP_TEE_optee_test_commits_3_10_0]: https://github.com/OP-TEE/optee_test/compare/3.9.0...3.10.0
171[OP_TEE_optee_test_pr_3_10_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
172
173[OP_TEE_build_release_3_10_0]: https://github.com/OP-TEE/build/releases/tag/3.10.0
174[OP_TEE_build_commits_3_10_0]: https://github.com/OP-TEE/build/compare/3.9.0...3.10.0
175[OP_TEE_build_pr_3_10_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
176
177[linaro_swg_optee_examples_release_3_10_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.10.0
178[linaro_swg_optee_examples_commits_3_10_0]: https://github.com/linaro-swg/optee_examples/compare/3.9.0...3.10.0
179[linaro_swg_optee_examples_pr_3_10_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-04-22..2020-08-21
180
181# OP-TEE - version 3.9.0 (2020-04-22)
182
183- Links to the release pages, commits and pull requests merged into this release for:
184  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_9_0], [commits][OP_TEE_optee_os_commits_3_9_0] and [pull requests][OP_TEE_optee_os_pr_3_9_0]
185  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_9_0], [commits][OP_TEE_optee_client_commits_3_9_0] and [pull requests][OP_TEE_optee_client_pr_3_9_0]
186  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_9_0], [commits][OP_TEE_optee_test_commits_3_9_0] and [pull requests][OP_TEE_optee_test_pr_3_9_0]
187  - OP-TEE/build: [release page][OP_TEE_build_release_3_9_0], [commits][OP_TEE_build_commits_3_9_0] and [pull requests][OP_TEE_build_pr_3_9_0]
188  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_9_0], [commits][linaro_swg_optee_examples_commits_3_9_0] and [pull requests][linaro_swg_optee_examples_pr_3_9_0]
189
190
191[OP_TEE_optee_os_release_3_9_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.9.0
192[OP_TEE_optee_os_commits_3_9_0]: https://github.com/OP-TEE/optee_os/compare/3.8.0...3.9.0
193[OP_TEE_optee_os_pr_3_9_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
194
195[OP_TEE_optee_client_release_3_9_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.9.0
196[OP_TEE_optee_client_commits_3_9_0]: https://github.com/OP-TEE/optee_client/compare/3.8.0...3.9.0
197[OP_TEE_optee_client_pr_3_9_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
198
199[OP_TEE_optee_test_release_3_9_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.9.0
200[OP_TEE_optee_test_commits_3_9_0]: https://github.com/OP-TEE/optee_test/compare/3.8.0...3.9.0
201[OP_TEE_optee_test_pr_3_9_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
202
203[OP_TEE_build_release_3_9_0]: https://github.com/OP-TEE/build/releases/tag/3.9.0
204[OP_TEE_build_commits_3_9_0]: https://github.com/OP-TEE/build/compare/3.8.0...3.9.0
205[OP_TEE_build_pr_3_9_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
206
207[linaro_swg_optee_examples_release_3_9_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.9.0
208[linaro_swg_optee_examples_commits_3_9_0]: https://github.com/linaro-swg/optee_examples/compare/3.8.0...3.9.0
209[linaro_swg_optee_examples_pr_3_9_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-05-22
210
211# OP-TEE - version 3.8.0 (2020-01-24)
212
213- Links to the release pages, commits and pull requests merged into this release for:
214  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_8_0], [commits][OP_TEE_optee_os_commits_3_8_0] and [pull requests][OP_TEE_optee_os_pr_3_8_0]
215  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_8_0], [commits][OP_TEE_optee_client_commits_3_8_0] and [pull requests][OP_TEE_optee_client_pr_3_8_0]
216  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_8_0], [commits][OP_TEE_optee_test_commits_3_8_0] and [pull requests][OP_TEE_optee_test_pr_3_8_0]
217  - OP-TEE/build: [release page][OP_TEE_build_release_3_8_0], [commits][OP_TEE_build_commits_3_8_0] and [pull requests][OP_TEE_build_pr_3_8_0]
218  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_8_0], [commits][linaro_swg_optee_examples_commits_3_8_0] and [pull requests][linaro_swg_optee_examples_pr_3_8_0]
219
220
221[OP_TEE_optee_os_release_3_8_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.8.0
222[OP_TEE_optee_os_commits_3_8_0]: https://github.com/OP-TEE/optee_os/compare/3.7.0...3.8.0
223[OP_TEE_optee_os_pr_3_8_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2020-01-24..2020-01-24
224
225[OP_TEE_optee_client_release_3_8_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.8.0
226[OP_TEE_optee_client_commits_3_8_0]: https://github.com/OP-TEE/optee_client/compare/3.7.0...3.8.0
227[OP_TEE_optee_client_pr_3_8_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
228
229[OP_TEE_optee_test_release_3_8_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.8.0
230[OP_TEE_optee_test_commits_3_8_0]: https://github.com/OP-TEE/optee_test/compare/3.7.0...3.8.0
231[OP_TEE_optee_test_pr_3_8_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
232
233[OP_TEE_build_release_3_8_0]: https://github.com/OP-TEE/build/releases/tag/3.8.0
234[OP_TEE_build_commits_3_8_0]: https://github.com/OP-TEE/build/compare/3.7.0...3.8.0
235[OP_TEE_build_pr_3_8_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
236
237[linaro_swg_optee_examples_release_3_8_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.8.0
238[linaro_swg_optee_examples_commits_3_8_0]: https://github.com/linaro-swg/optee_examples/compare/3.7.0...3.8.0
239[linaro_swg_optee_examples_pr_3_8_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2020-01-24
240
241# OP-TEE - version 3.7.0 (2019-10-18)
242
243- Links to the release pages, commits and pull requests merged into this release for:
244  - OP-TEE/optee_os: [release page][OP_TEE_optee_os_release_3_7_0], [commits][OP_TEE_optee_os_commits_3_7_0] and [pull requests][OP_TEE_optee_os_pr_3_7_0]
245  - OP-TEE/optee_client: [release page][OP_TEE_optee_client_release_3_7_0], [commits][OP_TEE_optee_client_commits_3_7_0] and [pull requests][OP_TEE_optee_client_pr_3_7_0]
246  - OP-TEE/optee_test: [release page][OP_TEE_optee_test_release_3_7_0], [commits][OP_TEE_optee_test_commits_3_7_0] and [pull requests][OP_TEE_optee_test_pr_3_7_0]
247  - OP-TEE/build: [release page][OP_TEE_build_release_3_7_0], [commits][OP_TEE_build_commits_3_7_0] and [pull requests][OP_TEE_build_pr_3_7_0]
248  - linaro-swg/optee_examples: [release page][linaro_swg_optee_examples_release_3_7_0], [commits][linaro_swg_optee_examples_commits_3_7_0] and [pull requests][linaro_swg_optee_examples_pr_3_7_0]
249
250
251[OP_TEE_optee_os_release_3_7_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.7.0
252[OP_TEE_optee_os_commits_3_7_0]: https://github.com/OP-TEE/optee_os/compare/3.6.0...3.7.0
253[OP_TEE_optee_os_pr_3_7_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
254
255[OP_TEE_optee_client_release_3_7_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.7.0
256[OP_TEE_optee_client_commits_3_7_0]: https://github.com/OP-TEE/optee_client/compare/3.6.0...3.7.0
257[OP_TEE_optee_client_pr_3_7_0]: https://github.com/OP-TEE/optee_client/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
258
259[OP_TEE_optee_test_release_3_7_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.7.0
260[OP_TEE_optee_test_commits_3_7_0]: https://github.com/OP-TEE/optee_test/compare/3.6.0...3.7.0
261[OP_TEE_optee_test_pr_3_7_0]: https://github.com/OP-TEE/optee_test/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
262
263[OP_TEE_build_release_3_7_0]: https://github.com/OP-TEE/build/releases/tag/3.7.0
264[OP_TEE_build_commits_3_7_0]: https://github.com/OP-TEE/build/compare/3.6.0...3.7.0
265[OP_TEE_build_pr_3_7_0]: https://github.com/OP-TEE/build/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
266
267[linaro_swg_optee_examples_release_3_7_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.7.0
268[linaro_swg_optee_examples_commits_3_7_0]: https://github.com/linaro-swg/optee_examples/compare/3.6.0...3.7.0
269[linaro_swg_optee_examples_pr_3_7_0]: https://github.com/linaro-swg/optee_examples/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-07-05..2019-10-18
270
271# OP-TEE - version 3.6.0 (2019-07-05)
272
273- Link to the GitHub [release page][github_release_3_6_0].
274- Links to the [commits][github_commits_3_6_0] and
275[pull requests][github_pr_3_6_0] merged into this release.
276
277[github_release_3_6_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.6.0
278[github_commits_3_6_0]: https://github.com/OP-TEE/optee_os/compare/3.5.0...3.6.0
279[github_pr_3_6_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-04-26..2019-07-05
280
281# OP-TEE - version 3.5.0 (2019-04-26)
282
283- Link to the GitHub [release page][github_release_3_5_0].
284- Links to the [commits][github_commits_3_5_0] and
285[pull requests][github_pr_3_5_0] merged into this release.
286
287[github_release_3_5_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.5.0
288[github_commits_3_5_0]: https://github.com/OP-TEE/optee_os/compare/3.4.0...3.5.0
289[github_pr_3_5_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2019-01-26..2019-04-26
290
291# OP-TEE - version 3.4.0 (2019-01-25)
292
293- Link to the GitHub [release page][github_release_3_4_0].
294- Links to the [commits][github_commits_3_4_0] and
295[pull requests][github_pr_3_4_0] merged into this release.
296
297[github_release_3_4_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.4.0
298[github_commits_3_4_0]: https://github.com/OP-TEE/optee_os/compare/3.3.0...3.4.0
299[github_pr_3_4_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-10-12..2019-01-25
300
301# OP-TEE - version 3.3.0 (2018-10-12)
302
303- Link to the GitHub [release page][github_release_3_3_0].
304- Links to the [commits][github_commits_3_3_0] and
305[pull requests][github_pr_3_3_0] merged into this release.
306
307[github_release_3_3_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.3.0
308[github_commits_3_3_0]: https://github.com/OP-TEE/optee_os/compare/3.2.0...3.3.0
309[github_pr_3_3_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-07-04..2018-10-12
310
311# OP-TEE - version 3.2.0 (2018-07-04)
312
313- Link to the GitHub [release page][github_release_3_2_0].
314- Links to the [commits][github_commits_3_2_0] and
315[pull requests][github_pr_3_2_0] merged into this release.
316
317## Known issues
318
319* HiKey960: assertion in bget create_free_block() \[memalign() self-test\] ([#2414])
320* D02: assertion '!have_spinlock()' ([#2437])
321
322[github_commits_3_2_0]: https://github.com/OP-TEE/optee_os/compare/3.1.0...3.2.0
323[github_pr_3_2_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-04-13..2018-07-04
324[github_release_3_2_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.2.0
325[#2414]: https://github.com/OP-TEE/optee_os/issues/2414
326[#2437]: https://github.com/OP-TEE/optee_os/issues/2437
327
328# OP-TEE - version 3.1.0 (2018-04-13)
329
330- Link to the GitHub [release page][github_release_3_1_0].
331- Links to the [commits][github_commits_3_1_0] and
332[pull requests][github_pr_3_1_0] merged into this release.
333
334[github_commits_3_1_0]: https://github.com/OP-TEE/optee_os/compare/3.0.0...3.1.0
335[github_pr_3_1_0]: https://github.com/OP-TEE/optee_os/pulls?q=is%3Apr+is%3Amerged+base%3Amaster+merged%3A2018-01-26..2018-04-13
336[github_release_3_1_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.1.0
337
338# OP-TEE - version 3.0.0 (2018-01-26)
339
340[Link][github_commits_3_0_0] to a list of all commits between this release and
341the previous one (2.6.0).
342
343About backwards compatibility: Trusted Applications built with OP-TEE 2.5.0 or
344earlier will not run properly with a *debug* build of this release due
345to commit [0e1c6e8e][commit_0e1c6e8e] ("Dump call stack on TA panic").
346Non-debug builds are not affected.
347
348## New features
349
350* New supported platforms: Armada 3700 ([#1946]), Poplar ([#1999]), 64-bit
351  support for FSL ls1012ardb ([#1941]), i.MX6SX Sabreauto ([#1974]).
352* arm32: sm: init CNTVOFF ([#2052])
353* Debug/info/error traces: make output more compact ([#2011])
354* tzc380: implement new functions ([#1994])
355* Secure Data Path: add pseudo-TA to convert VA to PA (#1993])
356* Pager: use NEON AES GCM implementation ([#1959])
357* Crypto: add optimized AES GCM implementation using NEON ([#1949])
358* Add support for using secure storage for TA anti-rollback ([#1928])
359* Crypto: replace struct crypto_ops with function interface ([#1923],
360  [#1931])
361* aosp_optee.mk: define OPTEE_BIN ([#1922])
362* Add build option to allow concurrent execution of single-instance TAs
363  ([#1915])
364* Pager: support for address sanitizer ([#1856])
365* Pager: make memory between CFG_TEE_RAM_START and TEE load address usable by
366  pager ([#1826])
367
368## Bug fixes
369
370* Fix crash in tee_mmu_final() on TA loading error ([#2092])
371* LibTomCrypt: fix issue causing invalid output when using AES CTR with
372hardware acceleration (CFG_CRYPTO_WITH_CE) ([#2086])
373* pl310: fix cache sync ([#2035])
374* tzc380: do not write reserved bits ([#1994])
375* Fix potential double free in ta_open() ([#1970])
376* libfdt: fix undefined behaviour in fdt_offset_ptr() ([#1969])
377* imx_wdog: fix register access ([#1966])
378* Secure storage: fix potential memory leak after early return ([#1961])
379* LibTomCrypt: fix double free in dsa_import() ([#1963])
380* RPMB: fix TA independance issue in secure storage ([#1921])
381* RPMB: return TEE_ERROR_ACCESS_CONFLICT instead of panicking when a TA
382  attempts to create an existing persistent object without the overwrite flag
383  ([#1919])
384* PSCI: pass non-secure context to psci_system_suspend() ([#1916])
385* Fix "Argument list too long" during "make clean" ([#1897])
386
387## Security fixes
388
389* Mitigations and hardening against the Spectre and Meltdown vulnerabilities
390  (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754).
391
392## Known issues
393
394* Secure storage (REE FS): storage size not updated after
395TEE_TruncateObjectData() ([#2094])
396* Possible deadlock with CFG_WITH_PAGER=y when loading a TA and not enough
397page tables are available in pgt_cache ([#2080])
398
399## Tested on
400
401The release was tested successfully on the platforms listed below.
402
403<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
404* d02
405* hikey
406* hikey-hikey960
407* imx-mx6ulevk
408* imx-mx7dsabresd
409* marvell-armada7k8k
410* marvell-armada3700
411* mediatek-mt8173
412* rcar-salvator_m3
413* rockchip-rk322x
414* rpi3
415* sam
416* ti
417* vexpress-juno
418* vexpress-qemu_armv8a
419* vexpress-qemu_virt
420
421[commit_0e1c6e8e]: https://github.com/OP-TEE/optee_os/commit/0e1c6e8e
422[github_commits_3_0_0]: https://github.com/OP-TEE/optee_os/compare/2.6.0...3.0.0
423[#2092]: https://github.com/OP-TEE/optee_os/pull/2092
424[#2086]: https://github.com/OP-TEE/optee_os/pull/2086
425[#2094]: https://github.com/OP-TEE/optee_os/issues/2094
426[#2080]: https://github.com/OP-TEE/optee_os/issues/2080
427[#2052]: https://github.com/OP-TEE/optee_os/pull/2052
428[#2035]: https://github.com/OP-TEE/optee_os/pull/2035
429[#2011]: https://github.com/OP-TEE/optee_os/pull/2011
430[#1999]: https://github.com/OP-TEE/optee_os/pull/1999
431[#1994]: https://github.com/OP-TEE/optee_os/pull/1994
432[#1993]: https://github.com/OP-TEE/optee_os/pull/1993
433[#1974]: https://github.com/OP-TEE/optee_os/pull/1974
434[#1970]: https://github.com/OP-TEE/optee_os/pull/1970
435[#1969]: https://github.com/OP-TEE/optee_os/pull/1969
436[#1966]: https://github.com/OP-TEE/optee_os/pull/1966
437[#1963]: https://github.com/OP-TEE/optee_os/pull/1963
438[#1961]: https://github.com/OP-TEE/optee_os/pull/1961
439[#1959]: https://github.com/OP-TEE/optee_os/pull/1959
440[#1949]: https://github.com/OP-TEE/optee_os/pull/1949
441[#1946]: https://github.com/OP-TEE/optee_os/pull/1946
442[#1941]: https://github.com/OP-TEE/optee_os/pull/1941
443[#1931]: https://github.com/OP-TEE/optee_os/pull/1931
444[#1928]: https://github.com/OP-TEE/optee_os/pull/1928
445[#1923]: https://github.com/OP-TEE/optee_os/pull/1923
446[#1922]: https://github.com/OP-TEE/optee_os/pull/1922
447[#1921]: https://github.com/OP-TEE/optee_os/pull/1921
448[#1919]: https://github.com/OP-TEE/optee_os/pull/1919
449[#1916]: https://github.com/OP-TEE/optee_os/pull/1916
450[#1915]: https://github.com/OP-TEE/optee_os/pull/1915
451[#1897]: https://github.com/OP-TEE/optee_os/pull/1897
452[#1856]: https://github.com/OP-TEE/optee_os/pull/1856
453[#1826]: https://github.com/OP-TEE/optee_os/pull/1826
454
455# OP-TEE - version 2.6.0
456
457[Link][github_commits_2_6_0] to a list of all commits between this release and
458the previous one (2.5.0).
459
460## New features
461
462* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]),
463  Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell
464  Armada 70x0/80x0 ([#1807]).
465* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into
466  Trusted Applications VA space) ([#1631])
467* Dump TA call stack on panic ([#1858])
468* i.MX: PSCI reset ([#1849])
469* plat-ti: AM43xx: suspend/resume support ([#1822])
470* QEMU SMP support ([#1820])
471* plat-ti: AM43xx: disable TRNG ([#1816])
472* plat-ti: enable Secure Data Path by default ([#1815])
473* Improve symbolize.py ([#1778], [#1767], [#1766])
474* Early TAs (TAs linked in tee.bin) ([#1733])
475* Suspend/resume framework for arm32 and imx7d support ([#1729])
476* RK322X PSCI version, features and suspend support ([#1720])
477* arm32: handle aborts in system mode ([#1703])
478* i.MX: add SNVS SRTC support ([#1700])
479* GCC7 support ([#1693])
480* Improve detection of programming errors in locking code ([#1671], [#1670])
481* Support TEE RAM size larger than page directory size ([#1669])
482
483## Removed features
484
485* Remove TUI code ([#1842])
486
487## Bug fixes
488
489* Add missing synchronization barrier in core_mmu_map_pages() ([#1827])
490* Secure storage: REE FS: fix bug in error path ([#1801])
491* ASAN bug fixes ([#1799])
492* Fix race in core_mmu_user_mapping_is_active() ([#1785])
493* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754])
494* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748])
495* arm32: preserve r12 in native_intr_handler() ([#1682])
496* arm64: fix print_kernel_stack() ([#1664])
497* benchmark: fix core data-abort ([#1658])
498
499## Security fixes or enhancements
500
501* crypto: fix software PRNG weaknesses
502  ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843])
503
504## Tested on
505
506The release was tested successfully on the platforms listed below.
507If a platform is not listed, it means the release was not tested on this
508platform.
509
510<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
511* d02
512* hikey
513* hikey-hikey960
514* imx-mx6ulevk
515* imx-mx7dsabresd
516* ls-ls1021a??? (single core)
517* ls-ls1043ardb
518* ls-ls1046ardb
519* mediatek-mt8173
520* rcar
521* rockchip-rk322x
522* rpi3
523* sam
524* stm-b2260
525* stm-cannes
526* ti-???
527* vexpress-fvp
528* vexpress-juno
529* vexpress-qemu_armv8a
530* vexpress-qemu_virt
531
532[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...2.6.0
533[#1858]: https://github.com/OP-TEE/optee_os/issues/1858
534[#1849]: https://github.com/OP-TEE/optee_os/issues/1849
535[#1843]: https://github.com/OP-TEE/optee_os/issues/1843
536[#1842]: https://github.com/OP-TEE/optee_os/issues/1842
537[#1827]: https://github.com/OP-TEE/optee_os/issues/1827
538[#1822]: https://github.com/OP-TEE/optee_os/issues/1822
539[#1820]: https://github.com/OP-TEE/optee_os/issues/1820
540[#1816]: https://github.com/OP-TEE/optee_os/issues/1816
541[#1815]: https://github.com/OP-TEE/optee_os/issues/1815
542[#1807]: https://github.com/OP-TEE/optee_os/issues/1807
543[#1801]: https://github.com/OP-TEE/optee_os/issues/1801
544[#1799]: https://github.com/OP-TEE/optee_os/issues/1799
545[#1787]: https://github.com/OP-TEE/optee_os/issues/1787
546[#1785]: https://github.com/OP-TEE/optee_os/issues/1785
547[#1778]: https://github.com/OP-TEE/optee_os/issues/1778
548[#1767]: https://github.com/OP-TEE/optee_os/issues/1767
549[#1766]: https://github.com/OP-TEE/optee_os/issues/1766
550[#1759]: https://github.com/OP-TEE/optee_os/issues/1759
551[#1754]: https://github.com/OP-TEE/optee_os/issues/1754
552[#1748]: https://github.com/OP-TEE/optee_os/issues/1748
553[#1733]: https://github.com/OP-TEE/optee_os/issues/1733
554[#1729]: https://github.com/OP-TEE/optee_os/issues/1729
555[#1720]: https://github.com/OP-TEE/optee_os/issues/1720
556[#1714]: https://github.com/OP-TEE/optee_os/issues/1714
557[#1703]: https://github.com/OP-TEE/optee_os/issues/1703
558[#1700]: https://github.com/OP-TEE/optee_os/issues/1700
559[#1693]: https://github.com/OP-TEE/optee_os/issues/1693
560[#1684]: https://github.com/OP-TEE/optee_os/issues/1684
561[#1682]: https://github.com/OP-TEE/optee_os/issues/1682
562[#1671]: https://github.com/OP-TEE/optee_os/issues/1671
563[#1670]: https://github.com/OP-TEE/optee_os/issues/1670
564[#1669]: https://github.com/OP-TEE/optee_os/issues/1669
565[#1666]: https://github.com/OP-TEE/optee_os/issues/1666
566[#1664]: https://github.com/OP-TEE/optee_os/issues/1664
567[#1658]: https://github.com/OP-TEE/optee_os/issues/1658
568[#1631]: https://github.com/OP-TEE/optee_os/issues/1631
569[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/
570
571# OP-TEE - version 2.5.0
572
573[Link][github_commits_2_5_0] to a list of all commits between this release and
574the previous one (2.4.0).
575
576## New features
577
578* New supported platform: i.MX7D ([#1639])
579* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630])
580* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623])
581* Add new image format: split image into three separate binaries suitable for
582  upcoming ARM Trusted Firmware ([#1589]).
583* Make alignment check configurable ([#1586])
584* drivers: add TZC380 driver ([#1578])
585* plat-imx: PSCI CPU off ([#1577])
586* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592])
587* Benchmark framework ([#1365])
588* Dump call stack of user TAs on abort ([#1552])
589* plat-hikey: enable Secure Data Path ([#1440])
590* Add interface to load and decrypt/authenticate user TAs ([#1513])
591* plat-ti: add secure paging support ([#1493])
592* plat-ti: add OTP hardware key support ([#1492])
593* Support ARM GICv3 ([#1465])
594
595## Removed features
596
597* stm-orly2 is not supported anymore ([#1650])
598* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490])
599* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity
600  (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small
601  pages.
602
603## Bug fixes
604
605* Reduce size of non-pageable code ([#1621])
606* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when
607  `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574])
608* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580])
609* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519])
610* Do not touch other bits in GICD_CTLR ([#1508])
611* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502])
612* crypto: do not restrict hash size when algorithm is ECDSA ([#1497])
613
614## Security fixes or enhancements
615
616- crypto: fix RSA key leakage after fault injection attack
617  ([OP-TEE-2016-0003][OP-TEE-2016-0003])  ([#1610])
618* crypto: fix RSA key leakage after side channel attack
619  ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610])
620* Make pager aliased pages not always writable ([#1551])
621* Support for no-exec RO and RW data ([#1459], [#1550])
622
623## New issues
624
625* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites
626SCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`)
627and write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not
628be configured via the compile-time `CFG_` variables.
629* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`)
630for improved performance.
631* [#1656] qemu_armv8a: init hangs when secure data path and pager are both
632  enabled.
633
634## Tested on
635
636In the list below, _standard_ means that the `xtest` program passed with
637its default configuration, while _extended_ means it was run successfully
638with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
639v1.1.0.4.
640
641If a platform is not listed, it means the release was not tested on this
642platform.
643
644<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
645* d02: extended
646* hikey: extended
647* imx-mx6ulevk: standard
648* imx-mx6ullevk: standard
649* imx-mx7dsabresd: standard
650* ls-ls1021atwr: standard
651* mediatek-mt8173: standard
652* rcar-h3: standard
653* rpi3: standard
654* stm-b2260: extended
655* stm-cannes: extended
656* ti-am43xx: standard
657* ti-am57xx: standard
658* ti-dra7xx: standard
659* vexpress-fvp: standard
660* vexpress-juno: standard
661* vexpress-qemu_armv8a: standard
662* vexpress-qemu_virt: standard
663
664[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1
665[#1656]: https://github.com/OP-TEE/optee_os/issues/1656
666[#1650]: https://github.com/OP-TEE/optee_os/pull/1650
667[#1639]: https://github.com/OP-TEE/optee_os/pull/1639
668[#1630]: https://github.com/OP-TEE/optee_os/pull/1630
669[#1623]: https://github.com/OP-TEE/optee_os/pull/1623
670[#1621]: https://github.com/OP-TEE/optee_os/pull/1621
671[#1610]: https://github.com/OP-TEE/optee_os/pull/1610
672[#1592]: https://github.com/OP-TEE/optee_os/pull/1592
673[#1589]: https://github.com/OP-TEE/optee_os/pull/1589
674[#1586]: https://github.com/OP-TEE/optee_os/pull/1586
675[#1580]: https://github.com/OP-TEE/optee_os/pull/1580
676[#1578]: https://github.com/OP-TEE/optee_os/pull/1578
677[#1577]: https://github.com/OP-TEE/optee_os/pull/1577
678[#1574]: https://github.com/OP-TEE/optee_os/pull/1574
679[#1559]: https://github.com/OP-TEE/optee_os/pull/1559
680[#1551]: https://github.com/OP-TEE/optee_os/pull/1551
681[#1550]: https://github.com/OP-TEE/optee_os/pull/1550
682[#1519]: https://github.com/OP-TEE/optee_os/pull/1519
683[#1502]: https://github.com/OP-TEE/optee_os/pull/1502
684[#1365]: https://github.com/OP-TEE/optee_os/pull/1365
685[#1552]: https://github.com/OP-TEE/optee_os/pull/1552
686[#1513]: https://github.com/OP-TEE/optee_os/pull/1513
687[#1508]: https://github.com/OP-TEE/optee_os/pull/1508
688[#1493]: https://github.com/OP-TEE/optee_os/pull/1493
689[#1497]: https://github.com/OP-TEE/optee_os/pull/1497
690[#1492]: https://github.com/OP-TEE/optee_os/pull/1492
691[#1490]: https://github.com/OP-TEE/optee_os/pull/1490
692[#1465]: https://github.com/OP-TEE/optee_os/pull/1465
693[#1459]: https://github.com/OP-TEE/optee_os/pull/1459
694[#1440]: https://github.com/OP-TEE/optee_os/pull/1440
695[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/
696[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/
697
698# OP-TEE - version 2.4.0
699
700[Link][github_commits_2_4_0] to a list of all commits between this release and
701the previous one (2.3.0).
702
703Please note: this release is API-compatible with the previous one, but the
704Secure Storage internal format for the REE and SQL FS is not compatible due to
705commits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree
706interface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree
707interface").
708
709## New features
710
711* Add porting guidelines
712
713* Add support for Secure Data Path which allows Client and Trusted Applications
714  to share references to secure memory
715
716* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`)
717
718* ARMv7-A: add support for platform services in secure monitor and add these
719  services for the DRA7xx platform
720
721* SPI framework and PL022 driver cleanup and improvements
722
723* Use CNTPCT (when available) to add entropy to the software PRNG
724
725* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6)
726
727* DRA7: add TRNG driver, enable GICv2 driver
728
729* Support load address larger than 4G
730
731* libutee: preserve error code when calling TEE_Panic() for easier
732  troubleshooting
733
734* Support TA profiling with gprof (-pg compiler switch)
735
736* Optimize the ELF loader for TAs when pager is enabled
737
738* Update documentation
739
740* Add paged secure shared memory that can be transferred between TAs as
741  needed
742
743* Introduce MOBJ abstraction
744
745* i.MX6: add PSCI "on" function
746
747* arm32: introduce PSCI framework
748
749## Bug fixes
750
751* Secure storage: improve integrity checking of the REE and SQL filesystems by
752  adding a hash tree on the internal data structures. Any external modification
753  is detected, except full rollback. Fixes [#1188][issue1188].
754
755* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on
756  the device intended for use by tee-supplicant. Fixes [#1199][issue1199].
757
758* RPMB: don't try to program the RPMB key by default
759
760* Fix "make clean" error cases
761
762* Fix issue when resetting persistent storage enumerator [#1332][issue1332]
763
764* Fix TA panic when doing AES CTS with specific buffer sizes
765  [#1203][issue1203].
766
767## Known issues
768
769* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353]
770* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE.
771* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]).
772* Travis service (build.git) seems unstable from time to time.
773
774## Tested on
775
776In the list below, _standard_ means that the `xtest` program passed with
777its default configuration, while _extended_ means it was run successfully
778with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
779v1.1.0.4.
780
781If a platform is not listed, it means the release was not tested on this
782platform.
783
784<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
785* d02: extended
786* hikey: extended
787* imx-mx6ulevk: standard
788* ls-ls1021atwr: standard (single core)
789* mediatek-mt8173: standard
790* rcar-h3: standard
791* rpi3: standard
792* stm-b2260: extended
793* ti-dra7xx: standard
794* vexpress-fvp: standard
795* vexpress-juno: standard
796* vexpress-qemu_armv8a: standard
797* vexpress-qemu_virt: standard
798* zynqmp-zc1751_dc1: standard
799* zynqmp-zc1751_dc2: standard
800* zynqmp-zcu102: standard
801
802[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0
803[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332
804[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353
805[build issue131]: https://github.com/OP-TEE/build/issues/131
806[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3
807[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1
808
809# OP-TEE - version 2.3.0
810
811[Link][github_commits_2_3_0] to a list of all commits between this release and
812the previous one (2.2.0).
813
814Please note: this release is API-compatible with the previous one, but the
815Secure Storage internal format for the REE FS is not compatible due to commit
816[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object").
817
818[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e
819
820## New features
821
822* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`)
823
824* Add debug assertions to spinlocks and mutexes
825
826* Add more CP15 register access macros for Cortex-A9
827
828* ARMv7-A: redesign secure monitor to make it easier to register services
829
830* ARMv7-A: cleanup boot arguments
831
832* libutee: extend `TEE_CheckMemoryAccessRights()` with
833  `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE`
834
835* plat-hikey: enable SPI by default and add sample test code
836
837* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs
838
839* Secure storage refactoring
840  - Simplify interface with tee-supplicant. Minimize round trips with normal
841    world, especially by adding a cache for FS RPC payload data.
842  - REE FS: use a single file per object, remove block cache.
843
844* Print call stack in panic()
845
846## Bug fixes
847
848* Fix UUID encoding when communicating with normal world (use big endian
849  mode instead of native endianness). Related to this, the string format
850  for UUIDs has changed in tee-supplicant, so that TA file names now follow
851  the format defined in RFC4122 (a missing hyphen was added). The old format
852  is still supported, but deprecated, and will likely be removed with the
853  next major release.
854
855* Drop write permission to non-writable ELF segments after TA loading is
856  complete.
857
858* mm: fix confusing memory mapping debug traces
859
860* plat-ti: fix issues with MMU mapping
861
862* crypto: fix clearing of big numbers
863
864* build: allow spaces and double quotes in CFG_ variables
865
866* mm: use paddr_t to support both 32- and 64-bit architectures properly.
867  Resolves 32-bit truncation error when pool is at top of 32 bit address
868  space on 64-bit architecture.
869
870* plat-stm: support pager. Fix pager on ARMv7-A SMP boards.
871
872* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix)
873
874* Do not consider TA memref parameters as TA private memory
875
876* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC
877  algorithms
878
879* fix for 16-way PL310
880
881* arm32: fix call stack unwinding (`print_stack()`)
882
883* arm32: fix spinlock assembly code
884
885* plat-stm, plat-imx: fix SCR initalization
886
887* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values
888  other than 7.
889
890* mtk-mt8173: fix panic caused by incorrect size of SHMEM
891
892* plat-stm: fix RNG driver (non-flat mapping)
893
894## Known issues
895
896* New issues open on GitHub
897  * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80
898  * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant
899  * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to
900    current meta header
901  * [#1172][issue1172] paddr_t should be larger than 32 bits when
902    CFG_WITH_LPAE is enabled
903
904## Tested on
905
906In the list below, _standard_ means that the `xtest` program passed with
907its default configuration, while _extended_ means it was run successfully
908with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
909v1.1.0.4.
910
911If a platform is not listed, it means the release was not tested on this
912platform.
913
914<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
915* d02: extended
916* hikey: extended
917* imx-mx6ulevk: standard
918* ls-ls1021atwr: standard
919* mediatek-mt8173: standard
920* rcar-h3: standard
921* rpi3: standard
922* stm-b2260: extended
923* stm-cannes: extended
924* ti-dra7xx: standard
925* vexpress-fvp: standard
926* vexpress-juno: standard
927* vexpress-qemu_armv8a: standard
928* vexpress-qemu_virt: extended
929* zynqmp-zcu102: standard
930
931[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0
932[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172
933[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188
934[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199
935[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203
936
937# OP-TEE - version 2.2.0
938
939[Link][github_commits_2_2_0] to a list of all commits between this release and
940the previous one (2.1.0).
941
942Please note: this release is API-compatible with the previous one, but the
943Secure Storage internal format is not compatible due to commit
944[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key").
945
946[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75
947
948## New features
949
950* New supported platforms:
951	* Freescale i.MX6 Quad SABRE Lite & SD
952	* HiSilicon D02
953	* Raspberry Pi3
954	* Renesas RCAR H3
955	* STMicroelectronics b2260 - h410
956
957* Pager: Support paging of read/write pages by encrypting them with AES-GCM.
958  Support paging of user TAs. Add global setting for TZSRAM size
959  (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K.
960
961* Support for more than 8 CPU cores
962
963* Added SPI framework and PL022 driver
964
965* GPIO: framework supports multiple instances, PL061 driver now has get/set
966  interrupt and mode control functions
967
968* Secure storage: Encrypt the File Encryption Key with a TA-specific key for
969  better TA isolation. Add build-time and run-time support for multiple storage
970  backends. Add SQLite backend.
971
972* Trusted User Interface: some code is introduced to support the implementation
973  of TUI. This includes: a generic framebuffer driver, display and serial
974  abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2
975  mouse.
976
977* AES acceleration using ARMv8-A Cryptographic Extensions instructions is
978  now supported in AArch32 mode
979
980* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address
981
982* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default.
983
984* Add macros to unwind and print the call stack of TEE core
985
986* Libtomcrypt: sync with the latest `develop` branch.
987
988* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a)
989
990* Rework assertions and TEE core panics and properly honor NDEBUG
991
992## Bug fixes
993
994* Fix incorrect algorithm passed to cipher.final()
995
996* scripts: support Python 2.x and 3.x
997
998* Secure storage: Add proper locking to support concurrent access. Fix sign
999  extension bug with offset parameter of syscall storage_obj_seek which could
1000  cause errors in Aarch32 mode. Fix reading beyond end of file.
1001
1002* Aarch64: mask all maskable exceptions before doing a normal return from call.
1003
1004* Device Tree: add no-map property to OP-TEE node in reserved-memory.
1005
1006* LibTomcrypt: fix CVE-2016-6129
1007
1008## Known issues
1009
1010* New issues open on GitHub
1011  * [#1093][issue1093] rcar-h3: xtest 6010 hangs
1012  * [#1092][issue1092] rcar-h3: xtest 4010 fails
1013  * [#1081][issue1081] Bad mapping of TA secure memref parameters
1014  * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER
1015  * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK())
1016
1017## Tested on
1018
1019In the list below, _standard_ means that the `xtest` program passed with
1020its default configuration, while _extended_ means it was run successfully
1021with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
1022v1.1.0.4.
1023
1024If a platform is not listed, it means the release was not tested on this
1025platform.
1026
1027<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
1028* d02: extended
1029* hikey: extended
1030* imx-mx6qsabrelite: standard
1031* imx-mx6qsabresd: standard
1032* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093]
1033* rpi3: standard
1034* stm-b2260: standard
1035* stm-cannes: standard
1036* ti-dra7xx: standard
1037* vexpress-fvp: standard
1038* vexpress-juno: standard
1039* vexpress-qemu_armv8a: standard
1040* vexpress-qemu_virt: extended
1041* zynqmp-zcu102: standard
1042
1043[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0
1044[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081
1045[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071
1046[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069
1047[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092
1048[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093
1049
1050# OP-TEE - version 2.1.0
1051
1052## New features
1053
1054* New supported platforms:
1055	* Xilinx Zynq UltraScale+ MPSOC
1056	* Spreadtrum SC9860
1057
1058* GCC5 support
1059
1060* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
1061  addresses was linear until this release, meaning the virtual addresses
1062  were equal to the physical addresses. This is no more the case in this
1063  release.
1064
1065* Font rendering routines have been introduced in order to ease an
1066  implementation of Trusted UI.
1067
1068* File Storage: Possibility to use the normal world filesystem and the RPMB
1069  implementations simultaneously.
1070
1071* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
1072  Please refer to the README in that repo for instructions.
1073
1074* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
1075  [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
1076  Please refer to the README in that repo for instructions.
1077
1078* [Link][github_commits_2_1_0] to a list of all commits between this and
1079  previous release.
1080
1081
1082## Tested on
1083Definitions:
1084
1085| Type | Meaning |
1086| ---- | ------- |
1087| Standard tests | The [optee_test][optee_test] project. |
1088| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1089
1090*	ARM Juno Board (vexpress-juno), standard.
1091*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1092	using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
1093*	FSL i.MX6 UltraLite EVK (imx), standard.
1094*	FSL ls1021a (ls-ls1021atwr), standard tests.
1095*	HiKey (hikey), standard + extended tests.
1096*	QEMU (vexpress-qemu), standard + extended tests.
1097*	Xilinx Zynq UltraScale+ MPSOC, standard tests
1098
1099Note that the following platform has not been tested:
1100*	MTK8173-EVB (mediatek-mt8173)
1101
1102
1103## Known issues
1104* Issue(s) open on GitHub
1105  * [#868][pr868]: python-wand font generation sometimes times out
1106  * [#863][pr863]: "double free or corruption" error when building optee_os
1107  * [#858][pr858]: UUIDs in binary format have wrong endinanness
1108  * [#857][pr857]: Formatting of UUIDs is incorrect
1109  * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
1110  * [#838][pr838]: TUI font rendering is _very_ slow
1111  * [#814][pr814]: Persistent objects : save informations after close
1112  * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
1113  * [#506][pr506]: tee-supplicant panic & ta panic
1114
1115[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
1116[pr868]: https://github.com/OP-TEE/optee_os/issues/868
1117[pr863]: https://github.com/OP-TEE/optee_os/issues/863
1118[pr858]: https://github.com/OP-TEE/optee_os/issues/858
1119[pr857]: https://github.com/OP-TEE/optee_os/issues/857
1120[pr847]: https://github.com/OP-TEE/optee_os/issues/847
1121[pr838]: https://github.com/OP-TEE/optee_os/issues/838
1122[pr814]: https://github.com/OP-TEE/optee_os/issues/814
1123[pr665]: https://github.com/OP-TEE/optee_os/issues/665
1124[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
1125[oe_build]: https://github.com/linaro-swg/oe-optee
1126
1127# OP-TEE - version 2.0.0
1128
1129## New features
1130
1131* Generic driver: A new generic TEE driver is in the process of being
1132  [upstreamed][gendrv_v9].
1133  In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
1134  Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
1135  as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
1136
1137* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
1138  of an eMMC device. Check the [full documentation][rpmb_doc]
1139
1140* Hard-float ABI is now available.
1141
1142* [Link][github_commits_2_0_0] to a list of all commits between this and
1143  previous release.
1144
1145
1146## Tested on
1147Definitions:
1148
1149| Type | Meaning |
1150| ---- | ------- |
1151| Standard tests | The [optee_test][optee_test] project. |
1152| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1153
1154*	ARM Juno Board (vexpress-juno), standard.
1155*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1156	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1157*	FSL ls1021a (ls-ls1021atwr), standard.
1158*	HiKey (hikey), standard.
1159*	MTK8173-EVB (mediatek-mt8173), standard.
1160*	QEMU (vexpress-qemu), standard + extended tests.
1161*	STM Cannes (stm-cannes), standard + extended tests.
1162
1163## Known issues
1164* Issue(s) open on GitHub
1165  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1166  * [#506][pr506]: tee-supplicant panic & ta panic
1167
1168[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
1169[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
1170[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
1171[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
1172[linux_optee]: https://github.com/linaro-swg/linux/tree/optee
1173
1174
1175# OP-TEE - version 1.1.0
1176
1177
1178## New features
1179
1180* Softfloat library: floating point support is now available in 32bits TA.
1181
1182* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
1183  AArch32 and/or in AArch64 in case the core is compiled in AArch64.
1184  An example can be found in HiKey configuration file. Using the following
1185  excerpt code, the user TA libraries are compiled in both AArch32 and
1186  AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
1187  `out/arm-plat-hikey/export-ta_arm64`
1188
1189```
1190    ta-targets = ta_arm32
1191    ta-targets += ta_arm64
1192```
1193
1194* Concurrent TA support: multiple TA can run in parallel on
1195  several cores.
1196
1197* New tests added in xtest test suite: concurrent TA (xtest 1013),
1198  floating point tests (xtest 1006 and os_test TA) and corruption
1199  file storage (xtest 20000)
1200
1201* [Link][github_commits_1_1_0] to a list of all commits between this and
1202  previous release.
1203
1204
1205## Tested on
1206Definitions:
1207
1208| Type | Meaning |
1209| ---- | ------- |
1210| Standard tests | The [optee_test][optee_test] project. |
1211| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1212| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1213
1214*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1215	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1216*	HiKey (hikey), standard + extended tests.
1217*	MT8173 (mediatek), standard tests.
1218*	QEMU (vexpress-qemu), standard + extended tests.
1219*	STM Cannes (stm-cannes), standard + extended tests.
1220
1221## Known issues
1222* Secure Storage is implemented, but note that anti-rollback protection
1223  is not implemented yet.
1224
1225* Issue(s) open on GitHub
1226  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1227  * [#296][pr296]: Connecting RPMB to the storage APIs.
1228  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1229  * [#506][pr506]: tee-supplicant panic & ta panic
1230
1231[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
1232[pr506]: https://github.com/OP-TEE/optee_os/issues/506
1233[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
1234
1235
1236
1237# OP-TEE - version 1.0.0
1238
1239OP-TEE is now maintained by Linaro. Contributors do not need to
1240sign a CLA anymore, but must follow the rules of the [DCO][DCO]
1241(Developer Certificate of Origin) instead.
1242
1243
1244## New features
1245
1246* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
1247
1248* GlobalPlatform™ TEE Internal Core API Specification v1.1,
1249  including ECC algorithms.
1250
1251* Secure Storage: Files stored by the REE are now encrypted. Operations
1252  are made atomic in order to prevent inconsistencies in case of errors
1253  during the storage operations. [Slides][LCStorage] describing the
1254  Secure Storage have been presented at the Linaro Connect SFO15.
1255
1256* Change of format of the Trusted Applications: they follow a
1257  [signed ELF format][elf]
1258
1259* Rework thread [synchronization][synchro] in optee_os.
1260
1261* Use of ARMv8 native cryptographic support.
1262
1263* [OP-TEE/optee_test][optee_test] test suite is released.
1264
1265* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
1266  to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
1267  that used to be in optee_os have been removed, except for Juno board.
1268
1269* [Link][github_commits_1_0_0] to a list of all commits between this and
1270  previous release.
1271
1272
1273## Tested on
1274Definitions:
1275
1276| Type | Meaning |
1277| ---- | ------- |
1278| Standard tests | The [optee_test][optee_test] project. |
1279| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1280| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1281
1282*	ARM Juno Board (vexpress-juno), standard + extended tests.
1283*	Foundation Models (vexpress-fvp), standard tests.
1284*	HiKey (hikey), standard + extended tests.
1285*	MT8173 (mediatek), standard tests.
1286*	QEMU (vexpress-qemu), standard + extended tests.
1287*	STM Cannes (stm-cannes), standard + extended tests.
1288
1289## Known issues
1290* Secure Storage is implemented, but note that anti-rollback protection
1291  is not implemented yet.
1292
1293* Issue(s) open on GitHub
1294  * [#210][pr210]: libteec.so 32-bit does not communicate well
1295    with 64-bit kernel module
1296  * [#296][pr296]: Connecting RPMB to the storage APIs.
1297  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1298  * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
1299
1300[pr210]: https://github.com/OP-TEE/optee_os/issues/210
1301[pr296]: https://github.com/OP-TEE/optee_os/issues/296
1302[pr493]: https://github.com/OP-TEE/optee_os/issues/493
1303[pr494]: https://github.com/OP-TEE/optee_os/issues/494
1304[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
1305[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
1306[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
1307[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
1308[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
1309[optee_test]: https://github.com/OP-TEE/optee_test
1310[manifest]: https://github.com/OP-TEE/manifest
1311[build]: https://github.com/OP-TEE/build
1312
1313
1314
1315# OP-TEE - version 0.3.0
1316
1317## New features
1318
1319*   Add hardware support for
1320	*   Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
1321	*   Hisilicon HiKey Board, ARMv8-A (plat-hikey)
1322*   AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
1323*	Secure Storage: Data can be encrypted prior to their storage in the non-secure.
1324	Build is configured using `CFG_ENC_FS=y`
1325*	A generic boot scheme can be used. Boot configuration is commonalized. This helps
1326	new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
1327    and plat-vexpress.
1328
1329## Tested on
1330Definitions:
1331
1332| Type | Meaning |
1333| ---- | ------- |
1334| Standard tests | The optee_test project. |
1335| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1336| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1337
1338*	ARM Juno Board (vexpress-juno), standard tests.
1339*	Foundation Models (vexpress-fvp), standard tests.
1340*	HiKey (hikey), standard tests.
1341*	MT8173 (mediatek), standard tests.
1342*	QEMU (vexpress-qemu), standard + extended tests.
1343*	STM Cannes (stm-cannes), standard + extended tests.
1344
1345-------------------------------------------
1346
1347# OP-TEE - version 0.2.0
1348
1349## New features
1350
1351### Linux Driver Refactoring
1352
1353Linux Driver has been refactored. It is now split in two parts:
1354*	optee.ko, the generic Linux driver. It contains all functionality
1355	common to all backends.
1356*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
1357	It depends on optee.ko.
1358
1359Loading the TrustZone optee linux driver module is now performed using
1360
1361    modprobe optee_armtz
1362
1363Thanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
1364
1365### Misc new features
1366* support PL310 lock down at TEE boot
1367* add 64bits support (division / print)
1368
1369## Tested on
1370Definitions:
1371
1372| Type | Meaning |
1373| ---- | ------- |
1374| Standard tests | The optee_test project. |
1375| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1376| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1377
1378*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
1379
1380*   Foundation Models (vexpress-fvp), standard + extended tests.
1381
1382*   QEMU (vexpress-qemu), standard + extended tests.
1383
1384*   STM Cannes (stm-cannes), standard + extended tests.
1385
1386
1387## Issues resolved since last release
1388*	Fix user TA trace issue, in order each TA is able to select its own trace level
1389
1390
1391-------------------------------------------
1392# OP-TEE - version 0.1.0
1393
1394## New features
1395Below is a summary of the most important features added, but at the end you will
1396find a link that present you all commits between the current and previous
1397release tag.
1398
1399*   GlobalPlatform Client API v1.0 support.
1400
1401*   GlobalPlatform Internal API v1.0 support.
1402
1403*   GlobalPlatform Secure Elements v1.0 support.
1404
1405*   Add hardware support for
1406
1407    *   Allwinner A80, ARMv7-A.
1408
1409    *   ARM Juno Board, ARMv8-A.
1410
1411    *   Foundation Models, ARMv8-A.
1412
1413    *   Fast Models, ARMv8-A.
1414
1415    *   QEMU, ARMv7-A.
1416
1417    *   STM Cannes, ARMv7-A.
1418
1419    *   STM Orly2, ARMv7-A.
1420
1421*   Add LibTomCrypt as the default software cryptographic library.
1422
1423*   Add cryptographic abstraction layer in on secure side to ease the use of
1424    other cryptographic software libraries or adding support for hardware
1425    acceleration.
1426
1427*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
1428
1429*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
1430
1431*   Enabled paging support in OP-TEE OS.
1432
1433*   Add support for xtest (both standard and extended) in QEMU and FVP setup
1434    scripts.
1435
1436*   Add documentation for the OS design, cryptographic abstraction layer, secure
1437    elements design, the build system, GitHub usage, key derivation extensions,
1438    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
1439    OP-TEE.
1440
1441*   Integrate support for Travis CI.
1442
1443*   [Link][github_commits_0_1_0] to a list of all commits between this and
1444    previous release.
1445
1446
1447## Tested on
1448Definitions:
1449
1450| Type | Meaning |
1451| ---- | ------- |
1452| Standard tests | The optee_test project. |
1453| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
1454| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1455
1456*   Allwinner A80 (plat-sunxi), hello world test.
1457
1458*   ARM Juno Board (vexpress-juno), standard tests.
1459
1460*   Foundation Models (plat-vexpress-fvp), standard + extended tests
1461
1462*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
1463    tested separately).
1464
1465*   STM Cannes (plat-stm-cannes), standard + extended tests.
1466
1467
1468## Issues resolved since last release
1469N/A since this is the first release tag on OP-TEE.
1470
1471
1472## Known issues
1473*   Storage is implemented, but not "Secure storage", meaning that a client
1474    needs to do encrypt files on their own before storing the files.
1475
1476*   Issue(s) open on GitHub
1477    *   [#95][pr95]: An error about building the test code of libtomcrypt.
1478
1479    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
1480	utilized optee os tee.bin as bl32 image) on juno platform, I got an
1481        error.
1482
1483    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
1484        user-supplied TEE_Attributes.
1485
1486[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
1487[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
1488[pr95]: https://github.com/OP-TEE/optee_os/issues/95
1489[pr149]: https://github.com/OP-TEE/optee_os/issues/149
1490[pr161]: https://github.com/OP-TEE/optee_os/issues/161
1491
1492*   Global Platform Device Internal Core API v1.1
1493    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
1494    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
1495