xref: /optee_os/CHANGELOG.md (revision c4def2a8262a03244d9a88461699b9b8e43c6b55)
1*c4def2a8SJerome Forissier# OP-TEE - version 3.11.0 (2020-10-16)
2*c4def2a8SJerome Forissier
3*c4def2a8SJerome Forissier- Links to the release pages, commits and pull requests merged into this release for:
4*c4def2a8SJerome Forissier  - 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]
5*c4def2a8SJerome Forissier  - 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]
6*c4def2a8SJerome Forissier  - 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]
7*c4def2a8SJerome Forissier  - 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]
8*c4def2a8SJerome Forissier  - 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]
9*c4def2a8SJerome Forissier
10*c4def2a8SJerome Forissier
11*c4def2a8SJerome Forissier[OP_TEE_optee_os_release_3_11_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.11.0
12*c4def2a8SJerome Forissier[OP_TEE_optee_os_commits_3_11_0]: https://github.com/OP-TEE/optee_os/compare/3.10.0...3.11.0
13*c4def2a8SJerome Forissier[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
14*c4def2a8SJerome Forissier
15*c4def2a8SJerome Forissier[OP_TEE_optee_client_release_3_11_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.11.0
16*c4def2a8SJerome Forissier[OP_TEE_optee_client_commits_3_11_0]: https://github.com/OP-TEE/optee_client/compare/3.10.0...3.11.0
17*c4def2a8SJerome Forissier[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
18*c4def2a8SJerome Forissier
19*c4def2a8SJerome Forissier[OP_TEE_optee_test_release_3_11_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.11.0
20*c4def2a8SJerome Forissier[OP_TEE_optee_test_commits_3_11_0]: https://github.com/OP-TEE/optee_test/compare/3.10.0...3.11.0
21*c4def2a8SJerome Forissier[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
22*c4def2a8SJerome Forissier
23*c4def2a8SJerome Forissier[OP_TEE_build_release_3_11_0]: https://github.com/OP-TEE/build/releases/tag/3.11.0
24*c4def2a8SJerome Forissier[OP_TEE_build_commits_3_11_0]: https://github.com/OP-TEE/build/compare/3.10.0...3.11.0
25*c4def2a8SJerome Forissier[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
26*c4def2a8SJerome Forissier
27*c4def2a8SJerome Forissier[linaro_swg_optee_examples_release_3_11_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.11.0
28*c4def2a8SJerome Forissier[linaro_swg_optee_examples_commits_3_11_0]: https://github.com/linaro-swg/optee_examples/compare/3.10.0...3.11.0
29*c4def2a8SJerome Forissier[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
30*c4def2a8SJerome Forissier
31d1c63543SJerome Forissier# OP-TEE - version 3.10.0 (2020-08-21)
32d1c63543SJerome Forissier
33d1c63543SJerome Forissier- Links to the release pages, commits and pull requests merged into this release for:
34d1c63543SJerome Forissier  - 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]
35d1c63543SJerome Forissier  - 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]
36d1c63543SJerome Forissier  - 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]
37d1c63543SJerome Forissier  - 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]
38d1c63543SJerome Forissier  - 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]
39d1c63543SJerome Forissier
40d1c63543SJerome Forissier
41d1c63543SJerome Forissier[OP_TEE_optee_os_release_3_10_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.10.0
42d1c63543SJerome Forissier[OP_TEE_optee_os_commits_3_10_0]: https://github.com/OP-TEE/optee_os/compare/3.9.0...3.10.0
43d1c63543SJerome Forissier[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
44d1c63543SJerome Forissier
45d1c63543SJerome Forissier[OP_TEE_optee_client_release_3_10_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.10.0
46d1c63543SJerome Forissier[OP_TEE_optee_client_commits_3_10_0]: https://github.com/OP-TEE/optee_client/compare/3.9.0...3.10.0
47d1c63543SJerome Forissier[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
48d1c63543SJerome Forissier
49d1c63543SJerome Forissier[OP_TEE_optee_test_release_3_10_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.10.0
50d1c63543SJerome Forissier[OP_TEE_optee_test_commits_3_10_0]: https://github.com/OP-TEE/optee_test/compare/3.9.0...3.10.0
51d1c63543SJerome Forissier[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
52d1c63543SJerome Forissier
53d1c63543SJerome Forissier[OP_TEE_build_release_3_10_0]: https://github.com/OP-TEE/build/releases/tag/3.10.0
54d1c63543SJerome Forissier[OP_TEE_build_commits_3_10_0]: https://github.com/OP-TEE/build/compare/3.9.0...3.10.0
55d1c63543SJerome Forissier[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
56d1c63543SJerome Forissier
57d1c63543SJerome Forissier[linaro_swg_optee_examples_release_3_10_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.10.0
58d1c63543SJerome Forissier[linaro_swg_optee_examples_commits_3_10_0]: https://github.com/linaro-swg/optee_examples/compare/3.9.0...3.10.0
59d1c63543SJerome Forissier[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
60d1c63543SJerome Forissier
61af141c61SJens Wiklander# OP-TEE - version 3.9.0 (2020-04-22)
62af141c61SJens Wiklander
63af141c61SJens Wiklander- Links to the release pages, commits and pull requests merged into this release for:
64af141c61SJens Wiklander  - 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]
65af141c61SJens Wiklander  - 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]
66af141c61SJens Wiklander  - 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]
67af141c61SJens Wiklander  - 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]
68af141c61SJens Wiklander  - 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]
69af141c61SJens Wiklander
70af141c61SJens Wiklander
71af141c61SJens Wiklander[OP_TEE_optee_os_release_3_9_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.9.0
72af141c61SJens Wiklander[OP_TEE_optee_os_commits_3_9_0]: https://github.com/OP-TEE/optee_os/compare/3.8.0...3.9.0
73af141c61SJens Wiklander[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
74af141c61SJens Wiklander
75af141c61SJens Wiklander[OP_TEE_optee_client_release_3_9_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.9.0
76af141c61SJens Wiklander[OP_TEE_optee_client_commits_3_9_0]: https://github.com/OP-TEE/optee_client/compare/3.8.0...3.9.0
77af141c61SJens Wiklander[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
78af141c61SJens Wiklander
79af141c61SJens Wiklander[OP_TEE_optee_test_release_3_9_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.9.0
80af141c61SJens Wiklander[OP_TEE_optee_test_commits_3_9_0]: https://github.com/OP-TEE/optee_test/compare/3.8.0...3.9.0
81af141c61SJens Wiklander[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
82af141c61SJens Wiklander
83af141c61SJens Wiklander[OP_TEE_build_release_3_9_0]: https://github.com/OP-TEE/build/releases/tag/3.9.0
84af141c61SJens Wiklander[OP_TEE_build_commits_3_9_0]: https://github.com/OP-TEE/build/compare/3.8.0...3.9.0
85af141c61SJens Wiklander[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
86af141c61SJens Wiklander
87af141c61SJens Wiklander[linaro_swg_optee_examples_release_3_9_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.9.0
88af141c61SJens Wiklander[linaro_swg_optee_examples_commits_3_9_0]: https://github.com/linaro-swg/optee_examples/compare/3.8.0...3.9.0
89af141c61SJens Wiklander[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
90af141c61SJens Wiklander
91023e3365SJerome Forissier# OP-TEE - version 3.8.0 (2020-01-24)
92023e3365SJerome Forissier
93023e3365SJerome Forissier- Links to the release pages, commits and pull requests merged into this release for:
94023e3365SJerome Forissier  - 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]
95023e3365SJerome Forissier  - 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]
96023e3365SJerome Forissier  - 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]
97023e3365SJerome Forissier  - 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]
98023e3365SJerome Forissier  - 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]
99023e3365SJerome Forissier
100023e3365SJerome Forissier
101023e3365SJerome Forissier[OP_TEE_optee_os_release_3_8_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.8.0
102023e3365SJerome Forissier[OP_TEE_optee_os_commits_3_8_0]: https://github.com/OP-TEE/optee_os/compare/3.7.0...3.8.0
103023e3365SJerome Forissier[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
104023e3365SJerome Forissier
105023e3365SJerome Forissier[OP_TEE_optee_client_release_3_8_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.8.0
106023e3365SJerome Forissier[OP_TEE_optee_client_commits_3_8_0]: https://github.com/OP-TEE/optee_client/compare/3.7.0...3.8.0
107023e3365SJerome Forissier[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
108023e3365SJerome Forissier
109023e3365SJerome Forissier[OP_TEE_optee_test_release_3_8_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.8.0
110023e3365SJerome Forissier[OP_TEE_optee_test_commits_3_8_0]: https://github.com/OP-TEE/optee_test/compare/3.7.0...3.8.0
111023e3365SJerome Forissier[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
112023e3365SJerome Forissier
113023e3365SJerome Forissier[OP_TEE_build_release_3_8_0]: https://github.com/OP-TEE/build/releases/tag/3.8.0
114023e3365SJerome Forissier[OP_TEE_build_commits_3_8_0]: https://github.com/OP-TEE/build/compare/3.7.0...3.8.0
115023e3365SJerome Forissier[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
116023e3365SJerome Forissier
117023e3365SJerome Forissier[linaro_swg_optee_examples_release_3_8_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.8.0
118023e3365SJerome Forissier[linaro_swg_optee_examples_commits_3_8_0]: https://github.com/linaro-swg/optee_examples/compare/3.7.0...3.8.0
119023e3365SJerome Forissier[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
120023e3365SJerome Forissier
121a2fa5018SJoakim Bech# OP-TEE - version 3.7.0 (2019-10-18)
122a2fa5018SJoakim Bech
123a2fa5018SJoakim Bech- Links to the release pages, commits and pull requests merged into this release for:
124a2fa5018SJoakim Bech  - 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]
125a2fa5018SJoakim Bech  - 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]
126a2fa5018SJoakim Bech  - 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]
127a2fa5018SJoakim Bech  - 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]
128a2fa5018SJoakim Bech  - 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]
129a2fa5018SJoakim Bech
130a2fa5018SJoakim Bech
131a2fa5018SJoakim Bech[OP_TEE_optee_os_release_3_7_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.7.0
132a2fa5018SJoakim Bech[OP_TEE_optee_os_commits_3_7_0]: https://github.com/OP-TEE/optee_os/compare/3.6.0...3.7.0
133a2fa5018SJoakim Bech[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
134a2fa5018SJoakim Bech
135a2fa5018SJoakim Bech[OP_TEE_optee_client_release_3_7_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.7.0
136a2fa5018SJoakim Bech[OP_TEE_optee_client_commits_3_7_0]: https://github.com/OP-TEE/optee_client/compare/3.6.0...3.7.0
137a2fa5018SJoakim Bech[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
138a2fa5018SJoakim Bech
139a2fa5018SJoakim Bech[OP_TEE_optee_test_release_3_7_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.7.0
140a2fa5018SJoakim Bech[OP_TEE_optee_test_commits_3_7_0]: https://github.com/OP-TEE/optee_test/compare/3.6.0...3.7.0
141a2fa5018SJoakim Bech[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
142a2fa5018SJoakim Bech
143a2fa5018SJoakim Bech[OP_TEE_build_release_3_7_0]: https://github.com/OP-TEE/build/releases/tag/3.7.0
144a2fa5018SJoakim Bech[OP_TEE_build_commits_3_7_0]: https://github.com/OP-TEE/build/compare/3.6.0...3.7.0
145a2fa5018SJoakim Bech[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
146a2fa5018SJoakim Bech
147a2fa5018SJoakim Bech[linaro_swg_optee_examples_release_3_7_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.7.0
148a2fa5018SJoakim Bech[linaro_swg_optee_examples_commits_3_7_0]: https://github.com/linaro-swg/optee_examples/compare/3.6.0...3.7.0
149a2fa5018SJoakim Bech[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
150a2fa5018SJoakim Bech
151f398d492SJerome Forissier# OP-TEE - version 3.6.0 (2019-07-05)
152f398d492SJerome Forissier
153f398d492SJerome Forissier- Link to the GitHub [release page][github_release_3_6_0].
154f398d492SJerome Forissier- Links to the [commits][github_commits_3_6_0] and
155f398d492SJerome Forissier[pull requests][github_pr_3_6_0] merged into this release.
156f398d492SJerome Forissier
157f398d492SJerome Forissier[github_release_3_6_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.6.0
158f398d492SJerome Forissier[github_commits_3_6_0]: https://github.com/OP-TEE/optee_os/compare/3.5.0...3.6.0
159f398d492SJerome Forissier[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
160f398d492SJerome Forissier
1615df2a985SJoakim Bech# OP-TEE - version 3.5.0 (2019-04-26)
1625df2a985SJoakim Bech
1635df2a985SJoakim Bech- Link to the GitHub [release page][github_release_3_5_0].
1645df2a985SJoakim Bech- Links to the [commits][github_commits_3_5_0] and
1655df2a985SJoakim Bech[pull requests][github_pr_3_5_0] merged into this release.
1665df2a985SJoakim Bech
1675df2a985SJoakim Bech[github_release_3_5_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.5.0
1685df2a985SJoakim Bech[github_commits_3_5_0]: https://github.com/OP-TEE/optee_os/compare/3.4.0...3.5.0
1695df2a985SJoakim Bech[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
1705df2a985SJoakim Bech
171406c609bSJerome Forissier# OP-TEE - version 3.4.0 (2019-01-25)
172406c609bSJerome Forissier
173406c609bSJerome Forissier- Link to the GitHub [release page][github_release_3_4_0].
174406c609bSJerome Forissier- Links to the [commits][github_commits_3_4_0] and
175406c609bSJerome Forissier[pull requests][github_pr_3_4_0] merged into this release.
176406c609bSJerome Forissier
177406c609bSJerome Forissier[github_release_3_4_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.4.0
178406c609bSJerome Forissier[github_commits_3_4_0]: https://github.com/OP-TEE/optee_os/compare/3.3.0...3.4.0
179406c609bSJerome Forissier[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
180406c609bSJerome Forissier
181ee595e95SJerome Forissier# OP-TEE - version 3.3.0 (2018-10-12)
182ee595e95SJerome Forissier
183ee595e95SJerome Forissier- Link to the GitHub [release page][github_release_3_3_0].
184ee595e95SJerome Forissier- Links to the [commits][github_commits_3_3_0] and
185ee595e95SJerome Forissier[pull requests][github_pr_3_3_0] merged into this release.
186ee595e95SJerome Forissier
187ee595e95SJerome Forissier[github_release_3_3_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.3.0
188ee595e95SJerome Forissier[github_commits_3_3_0]: https://github.com/OP-TEE/optee_os/compare/3.2.0...3.3.0
189ee595e95SJerome Forissier[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
190ee595e95SJerome Forissier
19153bf1c38SJerome Forissier# OP-TEE - version 3.2.0 (2018-07-04)
19253bf1c38SJerome Forissier
19353bf1c38SJerome Forissier- Link to the GitHub [release page][github_release_3_2_0].
19453bf1c38SJerome Forissier- Links to the [commits][github_commits_3_2_0] and
19553bf1c38SJerome Forissier[pull requests][github_pr_3_2_0] merged into this release.
19653bf1c38SJerome Forissier
19753bf1c38SJerome Forissier## Known issues
19853bf1c38SJerome Forissier
19953bf1c38SJerome Forissier* HiKey960: assertion in bget create_free_block() \[memalign() self-test\] ([#2414])
20053bf1c38SJerome Forissier* D02: assertion '!have_spinlock()' ([#2437])
20153bf1c38SJerome Forissier
20253bf1c38SJerome Forissier[github_commits_3_2_0]: https://github.com/OP-TEE/optee_os/compare/3.1.0...3.2.0
20353bf1c38SJerome Forissier[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
20453bf1c38SJerome Forissier[github_release_3_2_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.2.0
20553bf1c38SJerome Forissier[#2414]: https://github.com/OP-TEE/optee_os/issues/2414
20653bf1c38SJerome Forissier[#2437]: https://github.com/OP-TEE/optee_os/issues/2437
20753bf1c38SJerome Forissier
2080ab9388cSJens Wiklander# OP-TEE - version 3.1.0 (2018-04-13)
2090ab9388cSJens Wiklander
2100ab9388cSJens Wiklander- Link to the GitHub [release page][github_release_3_1_0].
2110ab9388cSJens Wiklander- Links to the [commits][github_commits_3_1_0] and
2120ab9388cSJens Wiklander[pull requests][github_pr_3_1_0] merged into this release.
2130ab9388cSJens Wiklander
2140ab9388cSJens Wiklander[github_commits_3_1_0]: https://github.com/OP-TEE/optee_os/compare/3.0.0...3.1.0
2150ab9388cSJens Wiklander[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
2160ab9388cSJens Wiklander[github_release_3_1_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.1.0
2170ab9388cSJens Wiklander
2180ab9388cSJens Wiklander# OP-TEE - version 3.0.0 (2018-01-26)
21994ee4938SJerome Forissier
22094ee4938SJerome Forissier[Link][github_commits_3_0_0] to a list of all commits between this release and
22194ee4938SJerome Forissierthe previous one (2.6.0).
22294ee4938SJerome Forissier
22394ee4938SJerome ForissierAbout backwards compatibility: Trusted Applications built with OP-TEE 2.5.0 or
22494ee4938SJerome Forissierearlier will not run properly with a *debug* build of this release due
22594ee4938SJerome Forissierto commit [0e1c6e8e][commit_0e1c6e8e] ("Dump call stack on TA panic").
22694ee4938SJerome ForissierNon-debug builds are not affected.
22794ee4938SJerome Forissier
22894ee4938SJerome Forissier## New features
22994ee4938SJerome Forissier
23094ee4938SJerome Forissier* New supported platforms: Armada 3700 ([#1946]), Poplar ([#1999]), 64-bit
23194ee4938SJerome Forissier  support for FSL ls1012ardb ([#1941]), i.MX6SX Sabreauto ([#1974]).
23294ee4938SJerome Forissier* arm32: sm: init CNTVOFF ([#2052])
23394ee4938SJerome Forissier* Debug/info/error traces: make output more compact ([#2011])
23494ee4938SJerome Forissier* tzc380: implement new functions ([#1994])
23594ee4938SJerome Forissier* Secure Data Path: add pseudo-TA to convert VA to PA (#1993])
23694ee4938SJerome Forissier* Pager: use NEON AES GCM implementation ([#1959])
23794ee4938SJerome Forissier* Crypto: add optimized AES GCM implementation using NEON ([#1949])
23894ee4938SJerome Forissier* Add support for using secure storage for TA anti-rollback ([#1928])
23994ee4938SJerome Forissier* Crypto: replace struct crypto_ops with function interface ([#1923],
24094ee4938SJerome Forissier  [#1931])
24194ee4938SJerome Forissier* aosp_optee.mk: define OPTEE_BIN ([#1922])
24294ee4938SJerome Forissier* Add build option to allow concurrent execution of single-instance TAs
24394ee4938SJerome Forissier  ([#1915])
24494ee4938SJerome Forissier* Pager: support for address sanitizer ([#1856])
24594ee4938SJerome Forissier* Pager: make memory between CFG_TEE_RAM_START and TEE load address usable by
24694ee4938SJerome Forissier  pager ([#1826])
24794ee4938SJerome Forissier
24894ee4938SJerome Forissier## Bug fixes
24994ee4938SJerome Forissier
25094ee4938SJerome Forissier* Fix crash in tee_mmu_final() on TA loading error ([#2092])
25194ee4938SJerome Forissier* LibTomCrypt: fix issue causing invalid output when using AES CTR with
25294ee4938SJerome Forissierhardware acceleration (CFG_CRYPTO_WITH_CE) ([#2086])
25394ee4938SJerome Forissier* pl310: fix cache sync ([#2035])
25494ee4938SJerome Forissier* tzc380: do not write reserved bits ([#1994])
25594ee4938SJerome Forissier* Fix potential double free in ta_open() ([#1970])
25694ee4938SJerome Forissier* libfdt: fix undefined behaviour in fdt_offset_ptr() ([#1969])
25794ee4938SJerome Forissier* imx_wdog: fix register access ([#1966])
25894ee4938SJerome Forissier* Secure storage: fix potential memory leak after early return ([#1961])
25994ee4938SJerome Forissier* LibTomCrypt: fix double free in dsa_import() ([#1963])
26094ee4938SJerome Forissier* RPMB: fix TA independance issue in secure storage ([#1921])
26194ee4938SJerome Forissier* RPMB: return TEE_ERROR_ACCESS_CONFLICT instead of panicking when a TA
26294ee4938SJerome Forissier  attempts to create an existing persistent object without the overwrite flag
26394ee4938SJerome Forissier  ([#1919])
26494ee4938SJerome Forissier* PSCI: pass non-secure context to psci_system_suspend() ([#1916])
26594ee4938SJerome Forissier* Fix "Argument list too long" during "make clean" ([#1897])
26694ee4938SJerome Forissier
26794ee4938SJerome Forissier## Security fixes
26894ee4938SJerome Forissier
26994ee4938SJerome Forissier* Mitigations and hardening against the Spectre and Meltdown vulnerabilities
27094ee4938SJerome Forissier  (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754).
27194ee4938SJerome Forissier
27294ee4938SJerome Forissier## Known issues
27394ee4938SJerome Forissier
27494ee4938SJerome Forissier* Secure storage (REE FS): storage size not updated after
27594ee4938SJerome ForissierTEE_TruncateObjectData() ([#2094])
27694ee4938SJerome Forissier* Possible deadlock with CFG_WITH_PAGER=y when loading a TA and not enough
27794ee4938SJerome Forissierpage tables are available in pgt_cache ([#2080])
27894ee4938SJerome Forissier
27994ee4938SJerome Forissier## Tested on
28094ee4938SJerome Forissier
28194ee4938SJerome ForissierThe release was tested successfully on the platforms listed below.
28294ee4938SJerome Forissier
28394ee4938SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
28494ee4938SJerome Forissier* d02
28594ee4938SJerome Forissier* hikey
28694ee4938SJerome Forissier* hikey-hikey960
28794ee4938SJerome Forissier* imx-mx6ulevk
28894ee4938SJerome Forissier* imx-mx7dsabresd
28994ee4938SJerome Forissier* marvell-armada7k8k
29094ee4938SJerome Forissier* marvell-armada3700
29194ee4938SJerome Forissier* mediatek-mt8173
29294ee4938SJerome Forissier* rcar-salvator_m3
29394ee4938SJerome Forissier* rockchip-rk322x
29494ee4938SJerome Forissier* rpi3
29594ee4938SJerome Forissier* sam
29694ee4938SJerome Forissier* ti
29794ee4938SJerome Forissier* vexpress-juno
29894ee4938SJerome Forissier* vexpress-qemu_armv8a
29994ee4938SJerome Forissier* vexpress-qemu_virt
30094ee4938SJerome Forissier
30194ee4938SJerome Forissier[commit_0e1c6e8e]: https://github.com/OP-TEE/optee_os/commit/0e1c6e8e
30294ee4938SJerome Forissier[github_commits_3_0_0]: https://github.com/OP-TEE/optee_os/compare/2.6.0...3.0.0
30394ee4938SJerome Forissier[#2092]: https://github.com/OP-TEE/optee_os/pull/2092
30494ee4938SJerome Forissier[#2086]: https://github.com/OP-TEE/optee_os/pull/2086
30594ee4938SJerome Forissier[#2094]: https://github.com/OP-TEE/optee_os/issues/2094
30694ee4938SJerome Forissier[#2080]: https://github.com/OP-TEE/optee_os/issues/2080
30794ee4938SJerome Forissier[#2052]: https://github.com/OP-TEE/optee_os/pull/2052
30894ee4938SJerome Forissier[#2035]: https://github.com/OP-TEE/optee_os/pull/2035
30994ee4938SJerome Forissier[#2011]: https://github.com/OP-TEE/optee_os/pull/2011
31094ee4938SJerome Forissier[#1999]: https://github.com/OP-TEE/optee_os/pull/1999
31194ee4938SJerome Forissier[#1994]: https://github.com/OP-TEE/optee_os/pull/1994
31294ee4938SJerome Forissier[#1993]: https://github.com/OP-TEE/optee_os/pull/1993
31394ee4938SJerome Forissier[#1974]: https://github.com/OP-TEE/optee_os/pull/1974
31494ee4938SJerome Forissier[#1970]: https://github.com/OP-TEE/optee_os/pull/1970
31594ee4938SJerome Forissier[#1969]: https://github.com/OP-TEE/optee_os/pull/1969
31694ee4938SJerome Forissier[#1966]: https://github.com/OP-TEE/optee_os/pull/1966
31794ee4938SJerome Forissier[#1963]: https://github.com/OP-TEE/optee_os/pull/1963
31894ee4938SJerome Forissier[#1961]: https://github.com/OP-TEE/optee_os/pull/1961
31994ee4938SJerome Forissier[#1959]: https://github.com/OP-TEE/optee_os/pull/1959
32094ee4938SJerome Forissier[#1949]: https://github.com/OP-TEE/optee_os/pull/1949
32194ee4938SJerome Forissier[#1946]: https://github.com/OP-TEE/optee_os/pull/1946
32294ee4938SJerome Forissier[#1941]: https://github.com/OP-TEE/optee_os/pull/1941
32394ee4938SJerome Forissier[#1931]: https://github.com/OP-TEE/optee_os/pull/1931
32494ee4938SJerome Forissier[#1928]: https://github.com/OP-TEE/optee_os/pull/1928
32594ee4938SJerome Forissier[#1923]: https://github.com/OP-TEE/optee_os/pull/1923
32694ee4938SJerome Forissier[#1922]: https://github.com/OP-TEE/optee_os/pull/1922
32794ee4938SJerome Forissier[#1921]: https://github.com/OP-TEE/optee_os/pull/1921
32894ee4938SJerome Forissier[#1919]: https://github.com/OP-TEE/optee_os/pull/1919
32994ee4938SJerome Forissier[#1916]: https://github.com/OP-TEE/optee_os/pull/1916
33094ee4938SJerome Forissier[#1915]: https://github.com/OP-TEE/optee_os/pull/1915
33194ee4938SJerome Forissier[#1897]: https://github.com/OP-TEE/optee_os/pull/1897
33294ee4938SJerome Forissier[#1856]: https://github.com/OP-TEE/optee_os/pull/1856
33394ee4938SJerome Forissier[#1826]: https://github.com/OP-TEE/optee_os/pull/1826
33494ee4938SJerome Forissier
3356d57389fSJerome Forissier# OP-TEE - version 2.6.0
3366d57389fSJerome Forissier
3376d57389fSJerome Forissier[Link][github_commits_2_6_0] to a list of all commits between this release and
3386d57389fSJerome Forissierthe previous one (2.5.0).
3396d57389fSJerome Forissier
3406d57389fSJerome Forissier## New features
3416d57389fSJerome Forissier
3426d57389fSJerome Forissier* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]),
3436d57389fSJerome Forissier  Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell
3446d57389fSJerome Forissier  Armada 70x0/80x0 ([#1807]).
3456d57389fSJerome Forissier* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into
3466d57389fSJerome Forissier  Trusted Applications VA space) ([#1631])
3476d57389fSJerome Forissier* Dump TA call stack on panic ([#1858])
3486d57389fSJerome Forissier* i.MX: PSCI reset ([#1849])
3496d57389fSJerome Forissier* plat-ti: AM43xx: suspend/resume support ([#1822])
3506d57389fSJerome Forissier* QEMU SMP support ([#1820])
3516d57389fSJerome Forissier* plat-ti: AM43xx: disable TRNG ([#1816])
3526d57389fSJerome Forissier* plat-ti: enable Secure Data Path by default ([#1815])
3536d57389fSJerome Forissier* Improve symbolize.py ([#1778], [#1767], [#1766])
3546d57389fSJerome Forissier* Early TAs (TAs linked in tee.bin) ([#1733])
3556d57389fSJerome Forissier* Suspend/resume framework for arm32 and imx7d support ([#1729])
3566d57389fSJerome Forissier* RK322X PSCI version, features and suspend support ([#1720])
3576d57389fSJerome Forissier* arm32: handle aborts in system mode ([#1703])
3586d57389fSJerome Forissier* i.MX: add SNVS SRTC support ([#1700])
3596d57389fSJerome Forissier* GCC7 support ([#1693])
3606d57389fSJerome Forissier* Improve detection of programming errors in locking code ([#1671], [#1670])
3616d57389fSJerome Forissier* Support TEE RAM size larger than page directory size ([#1669])
3626d57389fSJerome Forissier
3636d57389fSJerome Forissier## Removed features
3646d57389fSJerome Forissier
3656d57389fSJerome Forissier* Remove TUI code ([#1842])
3666d57389fSJerome Forissier
3676d57389fSJerome Forissier## Bug fixes
3686d57389fSJerome Forissier
3696d57389fSJerome Forissier* Add missing synchronization barrier in core_mmu_map_pages() ([#1827])
3706d57389fSJerome Forissier* Secure storage: REE FS: fix bug in error path ([#1801])
3716d57389fSJerome Forissier* ASAN bug fixes ([#1799])
3726d57389fSJerome Forissier* Fix race in core_mmu_user_mapping_is_active() ([#1785])
3736d57389fSJerome Forissier* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754])
3746d57389fSJerome Forissier* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748])
3756d57389fSJerome Forissier* arm32: preserve r12 in native_intr_handler() ([#1682])
3766d57389fSJerome Forissier* arm64: fix print_kernel_stack() ([#1664])
3776d57389fSJerome Forissier* benchmark: fix core data-abort ([#1658])
3786d57389fSJerome Forissier
3796d57389fSJerome Forissier## Security fixes or enhancements
3806d57389fSJerome Forissier
3816d57389fSJerome Forissier* crypto: fix software PRNG weaknesses
3826d57389fSJerome Forissier  ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843])
3836d57389fSJerome Forissier
3846d57389fSJerome Forissier## Tested on
3856d57389fSJerome Forissier
38694ee4938SJerome ForissierThe release was tested successfully on the platforms listed below.
3876d57389fSJerome ForissierIf a platform is not listed, it means the release was not tested on this
3886d57389fSJerome Forissierplatform.
3896d57389fSJerome Forissier
3906d57389fSJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
3916d57389fSJerome Forissier* d02
3926d57389fSJerome Forissier* hikey
3936d57389fSJerome Forissier* hikey-hikey960
3946d57389fSJerome Forissier* imx-mx6ulevk
3956d57389fSJerome Forissier* imx-mx7dsabresd
3966d57389fSJerome Forissier* ls-ls1021a??? (single core)
3976d57389fSJerome Forissier* ls-ls1043ardb
3986d57389fSJerome Forissier* ls-ls1046ardb
3996d57389fSJerome Forissier* mediatek-mt8173
4006d57389fSJerome Forissier* rcar
4016d57389fSJerome Forissier* rockchip-rk322x
4026d57389fSJerome Forissier* rpi3
4036d57389fSJerome Forissier* sam
4046d57389fSJerome Forissier* stm-b2260
4056d57389fSJerome Forissier* stm-cannes
4066d57389fSJerome Forissier* ti-???
4076d57389fSJerome Forissier* vexpress-fvp
4086d57389fSJerome Forissier* vexpress-juno
4096d57389fSJerome Forissier* vexpress-qemu_armv8a
4106d57389fSJerome Forissier* vexpress-qemu_virt
4116d57389fSJerome Forissier
41294ee4938SJerome Forissier[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...2.6.0
4136d57389fSJerome Forissier[#1858]: https://github.com/OP-TEE/optee_os/issues/1858
4146d57389fSJerome Forissier[#1849]: https://github.com/OP-TEE/optee_os/issues/1849
4156d57389fSJerome Forissier[#1843]: https://github.com/OP-TEE/optee_os/issues/1843
4166d57389fSJerome Forissier[#1842]: https://github.com/OP-TEE/optee_os/issues/1842
4176d57389fSJerome Forissier[#1827]: https://github.com/OP-TEE/optee_os/issues/1827
4186d57389fSJerome Forissier[#1822]: https://github.com/OP-TEE/optee_os/issues/1822
4196d57389fSJerome Forissier[#1820]: https://github.com/OP-TEE/optee_os/issues/1820
4206d57389fSJerome Forissier[#1816]: https://github.com/OP-TEE/optee_os/issues/1816
4216d57389fSJerome Forissier[#1815]: https://github.com/OP-TEE/optee_os/issues/1815
4226d57389fSJerome Forissier[#1807]: https://github.com/OP-TEE/optee_os/issues/1807
4236d57389fSJerome Forissier[#1801]: https://github.com/OP-TEE/optee_os/issues/1801
4246d57389fSJerome Forissier[#1799]: https://github.com/OP-TEE/optee_os/issues/1799
4256d57389fSJerome Forissier[#1787]: https://github.com/OP-TEE/optee_os/issues/1787
4266d57389fSJerome Forissier[#1785]: https://github.com/OP-TEE/optee_os/issues/1785
4276d57389fSJerome Forissier[#1778]: https://github.com/OP-TEE/optee_os/issues/1778
4286d57389fSJerome Forissier[#1767]: https://github.com/OP-TEE/optee_os/issues/1767
4296d57389fSJerome Forissier[#1766]: https://github.com/OP-TEE/optee_os/issues/1766
4306d57389fSJerome Forissier[#1759]: https://github.com/OP-TEE/optee_os/issues/1759
4316d57389fSJerome Forissier[#1754]: https://github.com/OP-TEE/optee_os/issues/1754
4326d57389fSJerome Forissier[#1748]: https://github.com/OP-TEE/optee_os/issues/1748
4336d57389fSJerome Forissier[#1733]: https://github.com/OP-TEE/optee_os/issues/1733
4346d57389fSJerome Forissier[#1729]: https://github.com/OP-TEE/optee_os/issues/1729
4356d57389fSJerome Forissier[#1720]: https://github.com/OP-TEE/optee_os/issues/1720
4366d57389fSJerome Forissier[#1714]: https://github.com/OP-TEE/optee_os/issues/1714
4376d57389fSJerome Forissier[#1703]: https://github.com/OP-TEE/optee_os/issues/1703
4386d57389fSJerome Forissier[#1700]: https://github.com/OP-TEE/optee_os/issues/1700
4396d57389fSJerome Forissier[#1693]: https://github.com/OP-TEE/optee_os/issues/1693
4406d57389fSJerome Forissier[#1684]: https://github.com/OP-TEE/optee_os/issues/1684
4416d57389fSJerome Forissier[#1682]: https://github.com/OP-TEE/optee_os/issues/1682
4426d57389fSJerome Forissier[#1671]: https://github.com/OP-TEE/optee_os/issues/1671
4436d57389fSJerome Forissier[#1670]: https://github.com/OP-TEE/optee_os/issues/1670
4446d57389fSJerome Forissier[#1669]: https://github.com/OP-TEE/optee_os/issues/1669
4456d57389fSJerome Forissier[#1666]: https://github.com/OP-TEE/optee_os/issues/1666
4466d57389fSJerome Forissier[#1664]: https://github.com/OP-TEE/optee_os/issues/1664
4476d57389fSJerome Forissier[#1658]: https://github.com/OP-TEE/optee_os/issues/1658
4486d57389fSJerome Forissier[#1631]: https://github.com/OP-TEE/optee_os/issues/1631
4496d57389fSJerome Forissier[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/
4506d57389fSJerome Forissier
4515d8aaa04SJerome Forissier# OP-TEE - version 2.5.0
4525d8aaa04SJerome Forissier
4535d8aaa04SJerome Forissier[Link][github_commits_2_5_0] to a list of all commits between this release and
4545d8aaa04SJerome Forissierthe previous one (2.4.0).
4555d8aaa04SJerome Forissier
4565d8aaa04SJerome Forissier## New features
4575d8aaa04SJerome Forissier
4585d8aaa04SJerome Forissier* New supported platform: i.MX7D ([#1639])
4595d8aaa04SJerome Forissier* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630])
4605d8aaa04SJerome Forissier* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623])
4615d8aaa04SJerome Forissier* Add new image format: split image into three separate binaries suitable for
4625d8aaa04SJerome Forissier  upcoming ARM Trusted Firmware ([#1589]).
4635d8aaa04SJerome Forissier* Make alignment check configurable ([#1586])
4645d8aaa04SJerome Forissier* drivers: add TZC380 driver ([#1578])
4655d8aaa04SJerome Forissier* plat-imx: PSCI CPU off ([#1577])
4665d8aaa04SJerome Forissier* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592])
4675d8aaa04SJerome Forissier* Benchmark framework ([#1365])
4685d8aaa04SJerome Forissier* Dump call stack of user TAs on abort ([#1552])
4695d8aaa04SJerome Forissier* plat-hikey: enable Secure Data Path ([#1440])
4705d8aaa04SJerome Forissier* Add interface to load and decrypt/authenticate user TAs ([#1513])
4715d8aaa04SJerome Forissier* plat-ti: add secure paging support ([#1493])
4725d8aaa04SJerome Forissier* plat-ti: add OTP hardware key support ([#1492])
4735d8aaa04SJerome Forissier* Support ARM GICv3 ([#1465])
4745d8aaa04SJerome Forissier
4755d8aaa04SJerome Forissier## Removed features
4765d8aaa04SJerome Forissier
4775d8aaa04SJerome Forissier* stm-orly2 is not supported anymore ([#1650])
4785d8aaa04SJerome Forissier* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490])
4795d8aaa04SJerome Forissier* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity
4805d8aaa04SJerome Forissier  (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small
4815d8aaa04SJerome Forissier  pages.
4825d8aaa04SJerome Forissier
4835d8aaa04SJerome Forissier## Bug fixes
4845d8aaa04SJerome Forissier
4855d8aaa04SJerome Forissier* Reduce size of non-pageable code ([#1621])
4865d8aaa04SJerome Forissier* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when
4875d8aaa04SJerome Forissier  `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574])
4885d8aaa04SJerome Forissier* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580])
4895d8aaa04SJerome Forissier* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519])
4905d8aaa04SJerome Forissier* Do not touch other bits in GICD_CTLR ([#1508])
4915d8aaa04SJerome Forissier* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502])
4925d8aaa04SJerome Forissier* crypto: do not restrict hash size when algorithm is ECDSA ([#1497])
4935d8aaa04SJerome Forissier
4945d8aaa04SJerome Forissier## Security fixes or enhancements
4955d8aaa04SJerome Forissier
4965d8aaa04SJerome Forissier- crypto: fix RSA key leakage after fault injection attack
4975d8aaa04SJerome Forissier  ([OP-TEE-2016-0003][OP-TEE-2016-0003])  ([#1610])
4985d8aaa04SJerome Forissier* crypto: fix RSA key leakage after side channel attack
4995d8aaa04SJerome Forissier  ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610])
5005d8aaa04SJerome Forissier* Make pager aliased pages not always writable ([#1551])
5015d8aaa04SJerome Forissier* Support for no-exec RO and RW data ([#1459], [#1550])
5025d8aaa04SJerome Forissier
5035d8aaa04SJerome Forissier## New issues
5045d8aaa04SJerome Forissier
5055d8aaa04SJerome Forissier* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites
5065d8aaa04SJerome ForissierSCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`)
5075d8aaa04SJerome Forissierand write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not
5085d8aaa04SJerome Forissierbe configured via the compile-time `CFG_` variables.
5095d8aaa04SJerome Forissier* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`)
5105d8aaa04SJerome Forissierfor improved performance.
5115d8aaa04SJerome Forissier* [#1656] qemu_armv8a: init hangs when secure data path and pager are both
5125d8aaa04SJerome Forissier  enabled.
5135d8aaa04SJerome Forissier
5145d8aaa04SJerome Forissier## Tested on
5155d8aaa04SJerome Forissier
5165d8aaa04SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
5175d8aaa04SJerome Forissierits default configuration, while _extended_ means it was run successfully
5185d8aaa04SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
5195d8aaa04SJerome Forissierv1.1.0.4.
5205d8aaa04SJerome Forissier
5215d8aaa04SJerome ForissierIf a platform is not listed, it means the release was not tested on this
5225d8aaa04SJerome Forissierplatform.
5235d8aaa04SJerome Forissier
5245d8aaa04SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
5255d8aaa04SJerome Forissier* d02: extended
5265d8aaa04SJerome Forissier* hikey: extended
5275d8aaa04SJerome Forissier* imx-mx6ulevk: standard
5285d8aaa04SJerome Forissier* imx-mx6ullevk: standard
5295d8aaa04SJerome Forissier* imx-mx7dsabresd: standard
5305d8aaa04SJerome Forissier* ls-ls1021atwr: standard
5315d8aaa04SJerome Forissier* mediatek-mt8173: standard
5325d8aaa04SJerome Forissier* rcar-h3: standard
5335d8aaa04SJerome Forissier* rpi3: standard
5345d8aaa04SJerome Forissier* stm-b2260: extended
5355d8aaa04SJerome Forissier* stm-cannes: extended
5365d8aaa04SJerome Forissier* ti-am43xx: standard
5375d8aaa04SJerome Forissier* ti-am57xx: standard
5385d8aaa04SJerome Forissier* ti-dra7xx: standard
5395d8aaa04SJerome Forissier* vexpress-fvp: standard
5405d8aaa04SJerome Forissier* vexpress-juno: standard
5415d8aaa04SJerome Forissier* vexpress-qemu_armv8a: standard
5425d8aaa04SJerome Forissier* vexpress-qemu_virt: standard
5435d8aaa04SJerome Forissier
5445d8aaa04SJerome Forissier[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1
5455d8aaa04SJerome Forissier[#1656]: https://github.com/OP-TEE/optee_os/issues/1656
5465d8aaa04SJerome Forissier[#1650]: https://github.com/OP-TEE/optee_os/pull/1650
5475d8aaa04SJerome Forissier[#1639]: https://github.com/OP-TEE/optee_os/pull/1639
5485d8aaa04SJerome Forissier[#1630]: https://github.com/OP-TEE/optee_os/pull/1630
5495d8aaa04SJerome Forissier[#1623]: https://github.com/OP-TEE/optee_os/pull/1623
5505d8aaa04SJerome Forissier[#1621]: https://github.com/OP-TEE/optee_os/pull/1621
5515d8aaa04SJerome Forissier[#1610]: https://github.com/OP-TEE/optee_os/pull/1610
5525d8aaa04SJerome Forissier[#1592]: https://github.com/OP-TEE/optee_os/pull/1592
5535d8aaa04SJerome Forissier[#1589]: https://github.com/OP-TEE/optee_os/pull/1589
5545d8aaa04SJerome Forissier[#1586]: https://github.com/OP-TEE/optee_os/pull/1586
5555d8aaa04SJerome Forissier[#1580]: https://github.com/OP-TEE/optee_os/pull/1580
5565d8aaa04SJerome Forissier[#1578]: https://github.com/OP-TEE/optee_os/pull/1578
5575d8aaa04SJerome Forissier[#1577]: https://github.com/OP-TEE/optee_os/pull/1577
5585d8aaa04SJerome Forissier[#1574]: https://github.com/OP-TEE/optee_os/pull/1574
5595d8aaa04SJerome Forissier[#1559]: https://github.com/OP-TEE/optee_os/pull/1559
5605d8aaa04SJerome Forissier[#1551]: https://github.com/OP-TEE/optee_os/pull/1551
5615d8aaa04SJerome Forissier[#1550]: https://github.com/OP-TEE/optee_os/pull/1550
5625d8aaa04SJerome Forissier[#1519]: https://github.com/OP-TEE/optee_os/pull/1519
5635d8aaa04SJerome Forissier[#1502]: https://github.com/OP-TEE/optee_os/pull/1502
5645d8aaa04SJerome Forissier[#1365]: https://github.com/OP-TEE/optee_os/pull/1365
5655d8aaa04SJerome Forissier[#1552]: https://github.com/OP-TEE/optee_os/pull/1552
5665d8aaa04SJerome Forissier[#1513]: https://github.com/OP-TEE/optee_os/pull/1513
5675d8aaa04SJerome Forissier[#1508]: https://github.com/OP-TEE/optee_os/pull/1508
5685d8aaa04SJerome Forissier[#1493]: https://github.com/OP-TEE/optee_os/pull/1493
5695d8aaa04SJerome Forissier[#1497]: https://github.com/OP-TEE/optee_os/pull/1497
5705d8aaa04SJerome Forissier[#1492]: https://github.com/OP-TEE/optee_os/pull/1492
5715d8aaa04SJerome Forissier[#1490]: https://github.com/OP-TEE/optee_os/pull/1490
5725d8aaa04SJerome Forissier[#1465]: https://github.com/OP-TEE/optee_os/pull/1465
5735d8aaa04SJerome Forissier[#1459]: https://github.com/OP-TEE/optee_os/pull/1459
5745d8aaa04SJerome Forissier[#1440]: https://github.com/OP-TEE/optee_os/pull/1440
5755d8aaa04SJerome Forissier[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/
5765d8aaa04SJerome Forissier[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/
5775d8aaa04SJerome Forissier
578702609a7SJerome Forissier# OP-TEE - version 2.4.0
579702609a7SJerome Forissier
580702609a7SJerome Forissier[Link][github_commits_2_4_0] to a list of all commits between this release and
581702609a7SJerome Forissierthe previous one (2.3.0).
582702609a7SJerome Forissier
583702609a7SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
584702609a7SJerome ForissierSecure Storage internal format for the REE and SQL FS is not compatible due to
585702609a7SJerome Forissiercommits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree
586702609a7SJerome Forissierinterface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree
587702609a7SJerome Forissierinterface").
588702609a7SJerome Forissier
589702609a7SJerome Forissier## New features
590702609a7SJerome Forissier
591702609a7SJerome Forissier* Add porting guidelines
592702609a7SJerome Forissier
593702609a7SJerome Forissier* Add support for Secure Data Path which allows Client and Trusted Applications
594702609a7SJerome Forissier  to share references to secure memory
595702609a7SJerome Forissier
596702609a7SJerome Forissier* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`)
597702609a7SJerome Forissier
598702609a7SJerome Forissier* ARMv7-A: add support for platform services in secure monitor and add these
599702609a7SJerome Forissier  services for the DRA7xx platform
600702609a7SJerome Forissier
601702609a7SJerome Forissier* SPI framework and PL022 driver cleanup and improvements
602702609a7SJerome Forissier
603702609a7SJerome Forissier* Use CNTPCT (when available) to add entropy to the software PRNG
604702609a7SJerome Forissier
605702609a7SJerome Forissier* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6)
606702609a7SJerome Forissier
607702609a7SJerome Forissier* DRA7: add TRNG driver, enable GICv2 driver
608702609a7SJerome Forissier
609702609a7SJerome Forissier* Support load address larger than 4G
610702609a7SJerome Forissier
611702609a7SJerome Forissier* libutee: preserve error code when calling TEE_Panic() for easier
612702609a7SJerome Forissier  troubleshooting
613702609a7SJerome Forissier
614702609a7SJerome Forissier* Support TA profiling with gprof (-pg compiler switch)
615702609a7SJerome Forissier
616702609a7SJerome Forissier* Optimize the ELF loader for TAs when pager is enabled
617702609a7SJerome Forissier
618702609a7SJerome Forissier* Update documentation
619702609a7SJerome Forissier
620702609a7SJerome Forissier* Add paged secure shared memory that can be transferred between TAs as
621702609a7SJerome Forissier  needed
622702609a7SJerome Forissier
623702609a7SJerome Forissier* Introduce MOBJ abstraction
624702609a7SJerome Forissier
625702609a7SJerome Forissier* i.MX6: add PSCI "on" function
626702609a7SJerome Forissier
627702609a7SJerome Forissier* arm32: introduce PSCI framework
628702609a7SJerome Forissier
629702609a7SJerome Forissier## Bug fixes
630702609a7SJerome Forissier
631702609a7SJerome Forissier* Secure storage: improve integrity checking of the REE and SQL filesystems by
632702609a7SJerome Forissier  adding a hash tree on the internal data structures. Any external modification
633702609a7SJerome Forissier  is detected, except full rollback. Fixes [#1188][issue1188].
634702609a7SJerome Forissier
635702609a7SJerome Forissier* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on
636702609a7SJerome Forissier  the device intended for use by tee-supplicant. Fixes [#1199][issue1199].
637702609a7SJerome Forissier
638702609a7SJerome Forissier* RPMB: don't try to program the RPMB key by default
639702609a7SJerome Forissier
640702609a7SJerome Forissier* Fix "make clean" error cases
641702609a7SJerome Forissier
642702609a7SJerome Forissier* Fix issue when resetting persistent storage enumerator [#1332][issue1332]
643702609a7SJerome Forissier
644702609a7SJerome Forissier* Fix TA panic when doing AES CTS with specific buffer sizes
645702609a7SJerome Forissier  [#1203][issue1203].
646702609a7SJerome Forissier
647702609a7SJerome Forissier## Known issues
648702609a7SJerome Forissier
649702609a7SJerome Forissier* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353]
650702609a7SJerome Forissier* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE.
651702609a7SJerome Forissier* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]).
652702609a7SJerome Forissier* Travis service (build.git) seems unstable from time to time.
653702609a7SJerome Forissier
654702609a7SJerome Forissier## Tested on
655702609a7SJerome Forissier
656702609a7SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
657702609a7SJerome Forissierits default configuration, while _extended_ means it was run successfully
658702609a7SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
659702609a7SJerome Forissierv1.1.0.4.
660702609a7SJerome Forissier
661702609a7SJerome ForissierIf a platform is not listed, it means the release was not tested on this
662702609a7SJerome Forissierplatform.
663702609a7SJerome Forissier
664702609a7SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
665702609a7SJerome Forissier* d02: extended
666702609a7SJerome Forissier* hikey: extended
667702609a7SJerome Forissier* imx-mx6ulevk: standard
668702609a7SJerome Forissier* ls-ls1021atwr: standard (single core)
669702609a7SJerome Forissier* mediatek-mt8173: standard
670702609a7SJerome Forissier* rcar-h3: standard
671702609a7SJerome Forissier* rpi3: standard
672702609a7SJerome Forissier* stm-b2260: extended
673702609a7SJerome Forissier* ti-dra7xx: standard
674702609a7SJerome Forissier* vexpress-fvp: standard
675702609a7SJerome Forissier* vexpress-juno: standard
676702609a7SJerome Forissier* vexpress-qemu_armv8a: standard
677702609a7SJerome Forissier* vexpress-qemu_virt: standard
678702609a7SJerome Forissier* zynqmp-zc1751_dc1: standard
679702609a7SJerome Forissier* zynqmp-zc1751_dc2: standard
680702609a7SJerome Forissier* zynqmp-zcu102: standard
681702609a7SJerome Forissier
682702609a7SJerome Forissier[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0
683702609a7SJerome Forissier[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332
684702609a7SJerome Forissier[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353
685702609a7SJerome Forissier[build issue131]: https://github.com/OP-TEE/build/issues/131
686702609a7SJerome Forissier[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3
687702609a7SJerome Forissier[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1
688702609a7SJerome Forissier
68928fcee17SJerome Forissier# OP-TEE - version 2.3.0
69028fcee17SJerome Forissier
69128fcee17SJerome Forissier[Link][github_commits_2_3_0] to a list of all commits between this release and
69228fcee17SJerome Forissierthe previous one (2.2.0).
69328fcee17SJerome Forissier
69428fcee17SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
69528fcee17SJerome ForissierSecure Storage internal format for the REE FS is not compatible due to commit
69628fcee17SJerome Forissier[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object").
69728fcee17SJerome Forissier
69828fcee17SJerome Forissier[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e
69928fcee17SJerome Forissier
70028fcee17SJerome Forissier## New features
70128fcee17SJerome Forissier
70228fcee17SJerome Forissier* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`)
70328fcee17SJerome Forissier
70428fcee17SJerome Forissier* Add debug assertions to spinlocks and mutexes
70528fcee17SJerome Forissier
70628fcee17SJerome Forissier* Add more CP15 register access macros for Cortex-A9
70728fcee17SJerome Forissier
70828fcee17SJerome Forissier* ARMv7-A: redesign secure monitor to make it easier to register services
70928fcee17SJerome Forissier
71028fcee17SJerome Forissier* ARMv7-A: cleanup boot arguments
71128fcee17SJerome Forissier
71228fcee17SJerome Forissier* libutee: extend `TEE_CheckMemoryAccessRights()` with
71328fcee17SJerome Forissier  `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE`
71428fcee17SJerome Forissier
71528fcee17SJerome Forissier* plat-hikey: enable SPI by default and add sample test code
71628fcee17SJerome Forissier
71728fcee17SJerome Forissier* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs
71828fcee17SJerome Forissier
71928fcee17SJerome Forissier* Secure storage refactoring
72028fcee17SJerome Forissier  - Simplify interface with tee-supplicant. Minimize round trips with normal
72128fcee17SJerome Forissier    world, especially by adding a cache for FS RPC payload data.
72228fcee17SJerome Forissier  - REE FS: use a single file per object, remove block cache.
72328fcee17SJerome Forissier
72428fcee17SJerome Forissier* Print call stack in panic()
72528fcee17SJerome Forissier
72628fcee17SJerome Forissier## Bug fixes
72728fcee17SJerome Forissier
72828fcee17SJerome Forissier* Fix UUID encoding when communicating with normal world (use big endian
72928fcee17SJerome Forissier  mode instead of native endianness). Related to this, the string format
73028fcee17SJerome Forissier  for UUIDs has changed in tee-supplicant, so that TA file names now follow
73128fcee17SJerome Forissier  the format defined in RFC4122 (a missing hyphen was added). The old format
73228fcee17SJerome Forissier  is still supported, but deprecated, and will likely be removed with the
73328fcee17SJerome Forissier  next major release.
73428fcee17SJerome Forissier
73528fcee17SJerome Forissier* Drop write permission to non-writable ELF segments after TA loading is
73628fcee17SJerome Forissier  complete.
73728fcee17SJerome Forissier
73828fcee17SJerome Forissier* mm: fix confusing memory mapping debug traces
73928fcee17SJerome Forissier
74028fcee17SJerome Forissier* plat-ti: fix issues with MMU mapping
74128fcee17SJerome Forissier
74228fcee17SJerome Forissier* crypto: fix clearing of big numbers
74328fcee17SJerome Forissier
74428fcee17SJerome Forissier* build: allow spaces and double quotes in CFG_ variables
74528fcee17SJerome Forissier
74628fcee17SJerome Forissier* mm: use paddr_t to support both 32- and 64-bit architectures properly.
74728fcee17SJerome Forissier  Resolves 32-bit truncation error when pool is at top of 32 bit address
74828fcee17SJerome Forissier  space on 64-bit architecture.
74928fcee17SJerome Forissier
75028fcee17SJerome Forissier* plat-stm: support pager. Fix pager on ARMv7-A SMP boards.
75128fcee17SJerome Forissier
75228fcee17SJerome Forissier* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix)
75328fcee17SJerome Forissier
75428fcee17SJerome Forissier* Do not consider TA memref parameters as TA private memory
75528fcee17SJerome Forissier
75628fcee17SJerome Forissier* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC
75728fcee17SJerome Forissier  algorithms
75828fcee17SJerome Forissier
75928fcee17SJerome Forissier* fix for 16-way PL310
76028fcee17SJerome Forissier
76128fcee17SJerome Forissier* arm32: fix call stack unwinding (`print_stack()`)
76228fcee17SJerome Forissier
76328fcee17SJerome Forissier* arm32: fix spinlock assembly code
76428fcee17SJerome Forissier
76528fcee17SJerome Forissier* plat-stm, plat-imx: fix SCR initalization
76628fcee17SJerome Forissier
76728fcee17SJerome Forissier* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values
76828fcee17SJerome Forissier  other than 7.
76928fcee17SJerome Forissier
77028fcee17SJerome Forissier* mtk-mt8173: fix panic caused by incorrect size of SHMEM
77128fcee17SJerome Forissier
77228fcee17SJerome Forissier* plat-stm: fix RNG driver (non-flat mapping)
77328fcee17SJerome Forissier
77428fcee17SJerome Forissier## Known issues
77528fcee17SJerome Forissier
77628fcee17SJerome Forissier* New issues open on GitHub
77728fcee17SJerome Forissier  * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80
77828fcee17SJerome Forissier  * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant
77928fcee17SJerome Forissier  * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to
78028fcee17SJerome Forissier    current meta header
78128fcee17SJerome Forissier  * [#1172][issue1172] paddr_t should be larger than 32 bits when
78228fcee17SJerome Forissier    CFG_WITH_LPAE is enabled
78328fcee17SJerome Forissier
78428fcee17SJerome Forissier## Tested on
78528fcee17SJerome Forissier
78628fcee17SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
78728fcee17SJerome Forissierits default configuration, while _extended_ means it was run successfully
78828fcee17SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
78928fcee17SJerome Forissierv1.1.0.4.
79028fcee17SJerome Forissier
79128fcee17SJerome ForissierIf a platform is not listed, it means the release was not tested on this
79228fcee17SJerome Forissierplatform.
79328fcee17SJerome Forissier
79428fcee17SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
79528fcee17SJerome Forissier* d02: extended
79628fcee17SJerome Forissier* hikey: extended
79728fcee17SJerome Forissier* imx-mx6ulevk: standard
79828fcee17SJerome Forissier* ls-ls1021atwr: standard
79928fcee17SJerome Forissier* mediatek-mt8173: standard
80028fcee17SJerome Forissier* rcar-h3: standard
80128fcee17SJerome Forissier* rpi3: standard
80228fcee17SJerome Forissier* stm-b2260: extended
80328fcee17SJerome Forissier* stm-cannes: extended
80428fcee17SJerome Forissier* ti-dra7xx: standard
80528fcee17SJerome Forissier* vexpress-fvp: standard
80628fcee17SJerome Forissier* vexpress-juno: standard
80728fcee17SJerome Forissier* vexpress-qemu_armv8a: standard
80828fcee17SJerome Forissier* vexpress-qemu_virt: extended
80928fcee17SJerome Forissier* zynqmp-zcu102: standard
81028fcee17SJerome Forissier
81128fcee17SJerome Forissier[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0
81228fcee17SJerome Forissier[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172
81328fcee17SJerome Forissier[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188
81428fcee17SJerome Forissier[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199
81528fcee17SJerome Forissier[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203
81628fcee17SJerome Forissier
817c0c5d399SJerome Forissier# OP-TEE - version 2.2.0
818c0c5d399SJerome Forissier
819c0c5d399SJerome Forissier[Link][github_commits_2_2_0] to a list of all commits between this release and
820c0c5d399SJerome Forissierthe previous one (2.1.0).
821c0c5d399SJerome Forissier
822c0c5d399SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
823c0c5d399SJerome ForissierSecure Storage internal format is not compatible due to commit
824c0c5d399SJerome Forissier[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key").
825c0c5d399SJerome Forissier
826c0c5d399SJerome Forissier[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75
827c0c5d399SJerome Forissier
828c0c5d399SJerome Forissier## New features
829c0c5d399SJerome Forissier
830c0c5d399SJerome Forissier* New supported platforms:
831c0c5d399SJerome Forissier	* Freescale i.MX6 Quad SABRE Lite & SD
832c0c5d399SJerome Forissier	* HiSilicon D02
833c0c5d399SJerome Forissier	* Raspberry Pi3
834c0c5d399SJerome Forissier	* Renesas RCAR H3
835c0c5d399SJerome Forissier	* STMicroelectronics b2260 - h410
836c0c5d399SJerome Forissier
837c0c5d399SJerome Forissier* Pager: Support paging of read/write pages by encrypting them with AES-GCM.
838c0c5d399SJerome Forissier  Support paging of user TAs. Add global setting for TZSRAM size
839c0c5d399SJerome Forissier  (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K.
840c0c5d399SJerome Forissier
841c0c5d399SJerome Forissier* Support for more than 8 CPU cores
842c0c5d399SJerome Forissier
843c0c5d399SJerome Forissier* Added SPI framework and PL022 driver
844c0c5d399SJerome Forissier
845c0c5d399SJerome Forissier* GPIO: framework supports multiple instances, PL061 driver now has get/set
846c0c5d399SJerome Forissier  interrupt and mode control functions
847c0c5d399SJerome Forissier
848c0c5d399SJerome Forissier* Secure storage: Encrypt the File Encryption Key with a TA-specific key for
849c0c5d399SJerome Forissier  better TA isolation. Add build-time and run-time support for multiple storage
850c0c5d399SJerome Forissier  backends. Add SQLite backend.
851c0c5d399SJerome Forissier
852c0c5d399SJerome Forissier* Trusted User Interface: some code is introduced to support the implementation
853c0c5d399SJerome Forissier  of TUI. This includes: a generic framebuffer driver, display and serial
854c0c5d399SJerome Forissier  abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2
855c0c5d399SJerome Forissier  mouse.
856c0c5d399SJerome Forissier
857c0c5d399SJerome Forissier* AES acceleration using ARMv8-A Cryptographic Extensions instructions is
858c0c5d399SJerome Forissier  now supported in AArch32 mode
859c0c5d399SJerome Forissier
860c0c5d399SJerome Forissier* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address
861c0c5d399SJerome Forissier
862c0c5d399SJerome Forissier* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default.
863c0c5d399SJerome Forissier
864c0c5d399SJerome Forissier* Add macros to unwind and print the call stack of TEE core
865c0c5d399SJerome Forissier
866c0c5d399SJerome Forissier* Libtomcrypt: sync with the latest `develop` branch.
867c0c5d399SJerome Forissier
868c0c5d399SJerome Forissier* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a)
869c0c5d399SJerome Forissier
870c0c5d399SJerome Forissier* Rework assertions and TEE core panics and properly honor NDEBUG
871c0c5d399SJerome Forissier
872c0c5d399SJerome Forissier## Bug fixes
873c0c5d399SJerome Forissier
874c0c5d399SJerome Forissier* Fix incorrect algorithm passed to cipher.final()
875c0c5d399SJerome Forissier
876c0c5d399SJerome Forissier* scripts: support Python 2.x and 3.x
877c0c5d399SJerome Forissier
878c0c5d399SJerome Forissier* Secure storage: Add proper locking to support concurrent access. Fix sign
879c0c5d399SJerome Forissier  extension bug with offset parameter of syscall storage_obj_seek which could
880c0c5d399SJerome Forissier  cause errors in Aarch32 mode. Fix reading beyond end of file.
881c0c5d399SJerome Forissier
882c0c5d399SJerome Forissier* Aarch64: mask all maskable exceptions before doing a normal return from call.
883c0c5d399SJerome Forissier
884c0c5d399SJerome Forissier* Device Tree: add no-map property to OP-TEE node in reserved-memory.
885c0c5d399SJerome Forissier
886c0c5d399SJerome Forissier* LibTomcrypt: fix CVE-2016-6129
887c0c5d399SJerome Forissier
888c0c5d399SJerome Forissier## Known issues
889c0c5d399SJerome Forissier
890c0c5d399SJerome Forissier* New issues open on GitHub
891c0c5d399SJerome Forissier  * [#1093][issue1093] rcar-h3: xtest 6010 hangs
892c0c5d399SJerome Forissier  * [#1092][issue1092] rcar-h3: xtest 4010 fails
893c0c5d399SJerome Forissier  * [#1081][issue1081] Bad mapping of TA secure memref parameters
894c0c5d399SJerome Forissier  * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER
895c0c5d399SJerome Forissier  * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK())
896c0c5d399SJerome Forissier
897c0c5d399SJerome Forissier## Tested on
898c0c5d399SJerome Forissier
899c0c5d399SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
900c0c5d399SJerome Forissierits default configuration, while _extended_ means it was run successfully
901c0c5d399SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
902c0c5d399SJerome Forissierv1.1.0.4.
903c0c5d399SJerome Forissier
904c0c5d399SJerome ForissierIf a platform is not listed, it means the release was not tested on this
905c0c5d399SJerome Forissierplatform.
906c0c5d399SJerome Forissier
907c0c5d399SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
908c0c5d399SJerome Forissier* d02: extended
909c0c5d399SJerome Forissier* hikey: extended
910c0c5d399SJerome Forissier* imx-mx6qsabrelite: standard
911c0c5d399SJerome Forissier* imx-mx6qsabresd: standard
912c0c5d399SJerome Forissier* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093]
913c0c5d399SJerome Forissier* rpi3: standard
914c0c5d399SJerome Forissier* stm-b2260: standard
915c0c5d399SJerome Forissier* stm-cannes: standard
916c0c5d399SJerome Forissier* ti-dra7xx: standard
917c0c5d399SJerome Forissier* vexpress-fvp: standard
918c0c5d399SJerome Forissier* vexpress-juno: standard
919c0c5d399SJerome Forissier* vexpress-qemu_armv8a: standard
920c0c5d399SJerome Forissier* vexpress-qemu_virt: extended
921c0c5d399SJerome Forissier* zynqmp-zcu102: standard
922c0c5d399SJerome Forissier
923c0c5d399SJerome Forissier[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0
924c0c5d399SJerome Forissier[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081
925c0c5d399SJerome Forissier[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071
926c0c5d399SJerome Forissier[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069
927c0c5d399SJerome Forissier[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092
928c0c5d399SJerome Forissier[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093
929c0c5d399SJerome Forissier
930ac3cc110SPascal Brand# OP-TEE - version 2.1.0
931a0cd5d60SPascal Brand
932ac3cc110SPascal Brand## New features
933ac3cc110SPascal Brand
934ac3cc110SPascal Brand* New supported platforms:
935ac3cc110SPascal Brand	* Xilinx Zynq UltraScale+ MPSOC
936ac3cc110SPascal Brand	* Spreadtrum SC9860
937ac3cc110SPascal Brand
938ac3cc110SPascal Brand* GCC5 support
939ac3cc110SPascal Brand
940ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
941ac3cc110SPascal Brand  addresses was linear until this release, meaning the virtual addresses
942ac3cc110SPascal Brand  were equal to the physical addresses. This is no more the case in this
943ac3cc110SPascal Brand  release.
944ac3cc110SPascal Brand
945ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an
946ac3cc110SPascal Brand  implementation of Trusted UI.
947ac3cc110SPascal Brand
948ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB
949ac3cc110SPascal Brand  implementations simultaneously.
950ac3cc110SPascal Brand
951ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
952ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
953ac3cc110SPascal Brand
954ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
955ac3cc110SPascal Brand  [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
956ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
957ac3cc110SPascal Brand
958ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and
959ac3cc110SPascal Brand  previous release.
960ac3cc110SPascal Brand
961ac3cc110SPascal Brand
962ac3cc110SPascal Brand## Tested on
963ac3cc110SPascal BrandDefinitions:
964ac3cc110SPascal Brand
965ac3cc110SPascal Brand| Type | Meaning |
966ac3cc110SPascal Brand| ---- | ------- |
967ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
968ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
969ac3cc110SPascal Brand
970ac3cc110SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
971ac3cc110SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
972ac3cc110SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
973ac3cc110SPascal Brand*	FSL i.MX6 UltraLite EVK (imx), standard.
974ac3cc110SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard tests.
975ac3cc110SPascal Brand*	HiKey (hikey), standard + extended tests.
976ac3cc110SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
977ac3cc110SPascal Brand*	Xilinx Zynq UltraScale+ MPSOC, standard tests
978ac3cc110SPascal Brand
979ac3cc110SPascal BrandNote that the following platform has not been tested:
980ac3cc110SPascal Brand*	MTK8173-EVB (mediatek-mt8173)
981ac3cc110SPascal Brand
982ac3cc110SPascal Brand
983ac3cc110SPascal Brand## Known issues
984ac3cc110SPascal Brand* Issue(s) open on GitHub
985ac3cc110SPascal Brand  * [#868][pr868]: python-wand font generation sometimes times out
986ac3cc110SPascal Brand  * [#863][pr863]: "double free or corruption" error when building optee_os
987ac3cc110SPascal Brand  * [#858][pr858]: UUIDs in binary format have wrong endinanness
988ac3cc110SPascal Brand  * [#857][pr857]: Formatting of UUIDs is incorrect
989ac3cc110SPascal Brand  * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
990ac3cc110SPascal Brand  * [#838][pr838]: TUI font rendering is _very_ slow
991ac3cc110SPascal Brand  * [#814][pr814]: Persistent objects : save informations after close
992ac3cc110SPascal Brand  * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
993ac3cc110SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
994ac3cc110SPascal Brand
995ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
996ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868
997ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863
998ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858
999ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857
1000ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847
1001ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838
1002ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814
1003ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665
1004ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
1005ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee
1006ac3cc110SPascal Brand
1007ac3cc110SPascal Brand# OP-TEE - version 2.0.0
1008a0cd5d60SPascal Brand
1009a0cd5d60SPascal Brand## New features
1010a0cd5d60SPascal Brand
1011a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being
1012a0cd5d60SPascal Brand  [upstreamed][gendrv_v9].
1013a0cd5d60SPascal Brand  In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
1014a0cd5d60SPascal Brand  Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
1015a0cd5d60SPascal Brand  as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
1016a0cd5d60SPascal Brand
1017a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
1018a0cd5d60SPascal Brand  of an eMMC device. Check the [full documentation][rpmb_doc]
1019a0cd5d60SPascal Brand
1020a0cd5d60SPascal Brand* Hard-float ABI is now available.
1021a0cd5d60SPascal Brand
1022a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and
1023a0cd5d60SPascal Brand  previous release.
1024a0cd5d60SPascal Brand
1025a0cd5d60SPascal Brand
1026a0cd5d60SPascal Brand## Tested on
1027a0cd5d60SPascal BrandDefinitions:
1028a0cd5d60SPascal Brand
1029a0cd5d60SPascal Brand| Type | Meaning |
1030a0cd5d60SPascal Brand| ---- | ------- |
1031a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
1032a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1033a0cd5d60SPascal Brand
1034a0cd5d60SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
1035a0cd5d60SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1036a0cd5d60SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1037eb00c7b9SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard.
1038a0cd5d60SPascal Brand*	HiKey (hikey), standard.
1039a0cd5d60SPascal Brand*	MTK8173-EVB (mediatek-mt8173), standard.
1040a0cd5d60SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
1041a0cd5d60SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
1042a0cd5d60SPascal Brand
1043a0cd5d60SPascal Brand## Known issues
1044a0cd5d60SPascal Brand* Issue(s) open on GitHub
1045a0cd5d60SPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1046a0cd5d60SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
1047a0cd5d60SPascal Brand
1048a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
1049a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
1050a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
1051a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
1052a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee
1053a0cd5d60SPascal Brand
1054a0cd5d60SPascal Brand
1055c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0
1056c5bbfb4dSPascal Brand
1057c5bbfb4dSPascal Brand
1058c5bbfb4dSPascal Brand## New features
1059c5bbfb4dSPascal Brand
1060c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA.
1061c5bbfb4dSPascal Brand
1062c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
1063c5bbfb4dSPascal Brand  AArch32 and/or in AArch64 in case the core is compiled in AArch64.
1064c5bbfb4dSPascal Brand  An example can be found in HiKey configuration file. Using the following
1065c5bbfb4dSPascal Brand  excerpt code, the user TA libraries are compiled in both AArch32 and
1066c5bbfb4dSPascal Brand  AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
1067c5bbfb4dSPascal Brand  `out/arm-plat-hikey/export-ta_arm64`
1068c5bbfb4dSPascal Brand
1069c5bbfb4dSPascal Brand```
1070c5bbfb4dSPascal Brand    ta-targets = ta_arm32
1071c5bbfb4dSPascal Brand    ta-targets += ta_arm64
1072c5bbfb4dSPascal Brand```
1073c5bbfb4dSPascal Brand
1074c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on
1075c5bbfb4dSPascal Brand  several cores.
1076c5bbfb4dSPascal Brand
1077c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013),
1078c5bbfb4dSPascal Brand  floating point tests (xtest 1006 and os_test TA) and corruption
1079c5bbfb4dSPascal Brand  file storage (xtest 20000)
1080c5bbfb4dSPascal Brand
1081c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and
1082c5bbfb4dSPascal Brand  previous release.
1083c5bbfb4dSPascal Brand
1084c5bbfb4dSPascal Brand
1085c5bbfb4dSPascal Brand## Tested on
1086c5bbfb4dSPascal BrandDefinitions:
1087c5bbfb4dSPascal Brand
1088c5bbfb4dSPascal Brand| Type | Meaning |
1089c5bbfb4dSPascal Brand| ---- | ------- |
1090c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
1091c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1092c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1093c5bbfb4dSPascal Brand
1094c5bbfb4dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1095c5bbfb4dSPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1096c5bbfb4dSPascal Brand*	HiKey (hikey), standard + extended tests.
1097c5bbfb4dSPascal Brand*	MT8173 (mediatek), standard tests.
1098c5bbfb4dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
1099c5bbfb4dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
1100c5bbfb4dSPascal Brand
1101c5bbfb4dSPascal Brand## Known issues
1102c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
1103c5bbfb4dSPascal Brand  is not implemented yet.
1104c5bbfb4dSPascal Brand
1105c5bbfb4dSPascal Brand* Issue(s) open on GitHub
1106c5bbfb4dSPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1107c5bbfb4dSPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
1108c5bbfb4dSPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1109c5bbfb4dSPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
1110c5bbfb4dSPascal Brand
1111c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
1112c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506
1113c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
1114c5bbfb4dSPascal Brand
1115c5bbfb4dSPascal Brand
1116c5bbfb4dSPascal Brand
11178a7ee79dSPascal Brand# OP-TEE - version 1.0.0
11188a7ee79dSPascal Brand
11198a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to
11208a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO]
11218a7ee79dSPascal Brand(Developer Certificate of Origin) instead.
11228a7ee79dSPascal Brand
11238a7ee79dSPascal Brand
11248a7ee79dSPascal Brand## New features
11258a7ee79dSPascal Brand
11268a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
11278a7ee79dSPascal Brand
11288a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1,
11298a7ee79dSPascal Brand  including ECC algorithms.
11308a7ee79dSPascal Brand
11318a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations
11328a7ee79dSPascal Brand  are made atomic in order to prevent inconsistencies in case of errors
11338a7ee79dSPascal Brand  during the storage operations. [Slides][LCStorage] describing the
11348a7ee79dSPascal Brand  Secure Storage have been presented at the Linaro Connect SFO15.
11358a7ee79dSPascal Brand
11368a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a
11378a7ee79dSPascal Brand  [signed ELF format][elf]
11388a7ee79dSPascal Brand
11398a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os.
11408a7ee79dSPascal Brand
11418a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support.
11428a7ee79dSPascal Brand
11438a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released.
11448a7ee79dSPascal Brand
11458a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
11468a7ee79dSPascal Brand  to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
11478a7ee79dSPascal Brand  that used to be in optee_os have been removed, except for Juno board.
11488a7ee79dSPascal Brand
114995422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and
115095422146SPascal Brand  previous release.
115195422146SPascal Brand
11528a7ee79dSPascal Brand
11538a7ee79dSPascal Brand## Tested on
11548a7ee79dSPascal BrandDefinitions:
11558a7ee79dSPascal Brand
11568a7ee79dSPascal Brand| Type | Meaning |
11578a7ee79dSPascal Brand| ---- | ------- |
11588a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
11598a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
11608a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
11618a7ee79dSPascal Brand
11628a7ee79dSPascal Brand*	ARM Juno Board (vexpress-juno), standard + extended tests.
11638a7ee79dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
11648a7ee79dSPascal Brand*	HiKey (hikey), standard + extended tests.
11658a7ee79dSPascal Brand*	MT8173 (mediatek), standard tests.
11668a7ee79dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
11678a7ee79dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
11688a7ee79dSPascal Brand
116995422146SPascal Brand## Known issues
117095422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
117195422146SPascal Brand  is not implemented yet.
117295422146SPascal Brand
117395422146SPascal Brand* Issue(s) open on GitHub
117495422146SPascal Brand  * [#210][pr210]: libteec.so 32-bit does not communicate well
117595422146SPascal Brand    with 64-bit kernel module
117695422146SPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
117795422146SPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
117895422146SPascal Brand  * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
117995422146SPascal Brand
118095422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210
118195422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296
118295422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493
118395422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494
118495422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
11858a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
11868a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
11878a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
11888a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
11898a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test
11908a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest
11918a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build
11928a7ee79dSPascal Brand
119395422146SPascal Brand
119495422146SPascal Brand
119511d59085SPascal Brand# OP-TEE - version 0.3.0
119611d59085SPascal Brand
119711d59085SPascal Brand## New features
119811d59085SPascal Brand
119911d59085SPascal Brand*   Add hardware support for
120011d59085SPascal Brand	*   Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
120111d59085SPascal Brand	*   Hisilicon HiKey Board, ARMv8-A (plat-hikey)
120211d59085SPascal Brand*   AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
120311d59085SPascal Brand*	Secure Storage: Data can be encrypted prior to their storage in the non-secure.
120411d59085SPascal Brand	Build is configured using `CFG_ENC_FS=y`
120511d59085SPascal Brand*	A generic boot scheme can be used. Boot configuration is commonalized. This helps
120611d59085SPascal Brand	new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
120711d59085SPascal Brand    and plat-vexpress.
120811d59085SPascal Brand
120911d59085SPascal Brand## Tested on
121011d59085SPascal BrandDefinitions:
121111d59085SPascal Brand
121211d59085SPascal Brand| Type | Meaning |
121311d59085SPascal Brand| ---- | ------- |
121411d59085SPascal Brand| Standard tests | The optee_test project. |
121511d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
121611d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
121711d59085SPascal Brand
121811d59085SPascal Brand*	ARM Juno Board (vexpress-juno), standard tests.
121911d59085SPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
122011d59085SPascal Brand*	HiKey (hikey), standard tests.
122111d59085SPascal Brand*	MT8173 (mediatek), standard tests.
122211d59085SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
122311d59085SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
122411d59085SPascal Brand
122511d59085SPascal Brand-------------------------------------------
122611d59085SPascal Brand
1227f5117af2SPascal Brand# OP-TEE - version 0.2.0
1228759cc499SJoakim Bech
1229f5117af2SPascal Brand## New features
1230f5117af2SPascal Brand
1231f5117af2SPascal Brand### Linux Driver Refactoring
1232f5117af2SPascal Brand
1233f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts:
1234f5117af2SPascal Brand*	optee.ko, the generic Linux driver. It contains all functionality
1235f5117af2SPascal Brand	common to all backends.
1236f5117af2SPascal Brand*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
1237f5117af2SPascal Brand	It depends on optee.ko.
1238f5117af2SPascal Brand
1239f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using
1240f5117af2SPascal Brand
1241f5117af2SPascal Brand    modprobe optee_armtz
1242f5117af2SPascal Brand
1243f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
1244f5117af2SPascal Brand
1245f5117af2SPascal Brand### Misc new features
1246f5117af2SPascal Brand* support PL310 lock down at TEE boot
1247f5117af2SPascal Brand* add 64bits support (division / print)
1248f5117af2SPascal Brand
1249f5117af2SPascal Brand## Tested on
1250f5117af2SPascal BrandDefinitions:
1251f5117af2SPascal Brand
1252f5117af2SPascal Brand| Type | Meaning |
1253f5117af2SPascal Brand| ---- | ------- |
1254f5117af2SPascal Brand| Standard tests | The optee_test project. |
1255f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1256f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1257f5117af2SPascal Brand
1258f5117af2SPascal Brand*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
1259f5117af2SPascal Brand
1260f5117af2SPascal Brand*   Foundation Models (vexpress-fvp), standard + extended tests.
1261f5117af2SPascal Brand
1262f5117af2SPascal Brand*   QEMU (vexpress-qemu), standard + extended tests.
1263f5117af2SPascal Brand
1264f5117af2SPascal Brand*   STM Cannes (stm-cannes), standard + extended tests.
1265f5117af2SPascal Brand
1266f5117af2SPascal Brand
126728fcee17SJerome Forissier## Issues resolved since last release
1268f5117af2SPascal Brand*	Fix user TA trace issue, in order each TA is able to select its own trace level
1269f5117af2SPascal Brand
1270f5117af2SPascal Brand
1271f5117af2SPascal Brand-------------------------------------------
1272f5117af2SPascal Brand# OP-TEE - version 0.1.0
1273f5117af2SPascal Brand
1274f5117af2SPascal Brand## New features
1275759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will
1276759cc499SJoakim Bechfind a link that present you all commits between the current and previous
1277759cc499SJoakim Bechrelease tag.
1278759cc499SJoakim Bech
1279759cc499SJoakim Bech*   GlobalPlatform Client API v1.0 support.
1280759cc499SJoakim Bech
1281759cc499SJoakim Bech*   GlobalPlatform Internal API v1.0 support.
1282759cc499SJoakim Bech
1283759cc499SJoakim Bech*   GlobalPlatform Secure Elements v1.0 support.
1284759cc499SJoakim Bech
1285759cc499SJoakim Bech*   Add hardware support for
1286759cc499SJoakim Bech
1287759cc499SJoakim Bech    *   Allwinner A80, ARMv7-A.
1288759cc499SJoakim Bech
1289759cc499SJoakim Bech    *   ARM Juno Board, ARMv8-A.
1290759cc499SJoakim Bech
1291759cc499SJoakim Bech    *   Foundation Models, ARMv8-A.
1292759cc499SJoakim Bech
1293759cc499SJoakim Bech    *   Fast Models, ARMv8-A.
1294759cc499SJoakim Bech
1295759cc499SJoakim Bech    *   QEMU, ARMv7-A.
1296759cc499SJoakim Bech
1297759cc499SJoakim Bech    *   STM Cannes, ARMv7-A.
1298759cc499SJoakim Bech
1299759cc499SJoakim Bech    *   STM Orly2, ARMv7-A.
1300759cc499SJoakim Bech
1301759cc499SJoakim Bech*   Add LibTomCrypt as the default software cryptographic library.
1302759cc499SJoakim Bech
1303759cc499SJoakim Bech*   Add cryptographic abstraction layer in on secure side to ease the use of
1304759cc499SJoakim Bech    other cryptographic software libraries or adding support for hardware
1305759cc499SJoakim Bech    acceleration.
1306759cc499SJoakim Bech
1307759cc499SJoakim Bech*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
1308759cc499SJoakim Bech
1309759cc499SJoakim Bech*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
1310759cc499SJoakim Bech
1311759cc499SJoakim Bech*   Enabled paging support in OP-TEE OS.
1312759cc499SJoakim Bech
1313759cc499SJoakim Bech*   Add support for xtest (both standard and extended) in QEMU and FVP setup
1314759cc499SJoakim Bech    scripts.
1315759cc499SJoakim Bech
1316759cc499SJoakim Bech*   Add documentation for the OS design, cryptographic abstraction layer, secure
1317759cc499SJoakim Bech    elements design, the build system, GitHub usage, key derivation extensions,
1318759cc499SJoakim Bech    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
1319759cc499SJoakim Bech    OP-TEE.
1320759cc499SJoakim Bech
1321759cc499SJoakim Bech*   Integrate support for Travis CI.
1322759cc499SJoakim Bech
1323759cc499SJoakim Bech*   [Link][github_commits_0_1_0] to a list of all commits between this and
1324759cc499SJoakim Bech    previous release.
1325759cc499SJoakim Bech
1326759cc499SJoakim Bech
1327f5117af2SPascal Brand## Tested on
1328759cc499SJoakim BechDefinitions:
1329759cc499SJoakim Bech
1330759cc499SJoakim Bech| Type | Meaning |
1331759cc499SJoakim Bech| ---- | ------- |
1332759cc499SJoakim Bech| Standard tests | The optee_test project. |
1333759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
1334759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1335759cc499SJoakim Bech
1336759cc499SJoakim Bech*   Allwinner A80 (plat-sunxi), hello world test.
1337759cc499SJoakim Bech
1338759cc499SJoakim Bech*   ARM Juno Board (vexpress-juno), standard tests.
1339759cc499SJoakim Bech
1340759cc499SJoakim Bech*   Foundation Models (plat-vexpress-fvp), standard + extended tests
1341759cc499SJoakim Bech
1342759cc499SJoakim Bech*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
1343759cc499SJoakim Bech    tested separately).
1344759cc499SJoakim Bech
1345759cc499SJoakim Bech*   STM Cannes (plat-stm-cannes), standard + extended tests.
1346759cc499SJoakim Bech
1347759cc499SJoakim Bech
134828fcee17SJerome Forissier## Issues resolved since last release
1349759cc499SJoakim BechN/A since this is the first release tag on OP-TEE.
1350759cc499SJoakim Bech
1351759cc499SJoakim Bech
1352f5117af2SPascal Brand## Known issues
1353759cc499SJoakim Bech*   Storage is implemented, but not "Secure storage", meaning that a client
1354759cc499SJoakim Bech    needs to do encrypt files on their own before storing the files.
1355759cc499SJoakim Bech
1356759cc499SJoakim Bech*   Issue(s) open on GitHub
1357759cc499SJoakim Bech    *   [#95][pr95]: An error about building the test code of libtomcrypt.
1358759cc499SJoakim Bech
1359759cc499SJoakim Bech    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
1360759cc499SJoakim Bech	utilized optee os tee.bin as bl32 image) on juno platform, I got an
1361759cc499SJoakim Bech        error.
1362759cc499SJoakim Bech
1363759cc499SJoakim Bech    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
1364759cc499SJoakim Bech        user-supplied TEE_Attributes.
1365759cc499SJoakim Bech
1366759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
1367759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
1368759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95
1369759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149
1370759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161
1371759cc499SJoakim Bech
13727583c59eSCedric Chaumont*   Global Platform Device Internal Core API v1.1
13737583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
13747583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
1375