xref: /optee_os/CHANGELOG.md (revision d1c635434c55b7d75eadf471bde04926bd1e50a7)
1*d1c63543SJerome Forissier# OP-TEE - version 3.10.0 (2020-08-21)
2*d1c63543SJerome Forissier
3*d1c63543SJerome Forissier- Links to the release pages, commits and pull requests merged into this release for:
4*d1c63543SJerome 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]
5*d1c63543SJerome 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]
6*d1c63543SJerome 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]
7*d1c63543SJerome 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]
8*d1c63543SJerome 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]
9*d1c63543SJerome Forissier
10*d1c63543SJerome Forissier
11*d1c63543SJerome Forissier[OP_TEE_optee_os_release_3_10_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.10.0
12*d1c63543SJerome Forissier[OP_TEE_optee_os_commits_3_10_0]: https://github.com/OP-TEE/optee_os/compare/3.9.0...3.10.0
13*d1c63543SJerome 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
14*d1c63543SJerome Forissier
15*d1c63543SJerome Forissier[OP_TEE_optee_client_release_3_10_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.10.0
16*d1c63543SJerome Forissier[OP_TEE_optee_client_commits_3_10_0]: https://github.com/OP-TEE/optee_client/compare/3.9.0...3.10.0
17*d1c63543SJerome 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
18*d1c63543SJerome Forissier
19*d1c63543SJerome Forissier[OP_TEE_optee_test_release_3_10_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.10.0
20*d1c63543SJerome Forissier[OP_TEE_optee_test_commits_3_10_0]: https://github.com/OP-TEE/optee_test/compare/3.9.0...3.10.0
21*d1c63543SJerome 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
22*d1c63543SJerome Forissier
23*d1c63543SJerome Forissier[OP_TEE_build_release_3_10_0]: https://github.com/OP-TEE/build/releases/tag/3.10.0
24*d1c63543SJerome Forissier[OP_TEE_build_commits_3_10_0]: https://github.com/OP-TEE/build/compare/3.9.0...3.10.0
25*d1c63543SJerome 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
26*d1c63543SJerome Forissier
27*d1c63543SJerome Forissier[linaro_swg_optee_examples_release_3_10_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.10.0
28*d1c63543SJerome Forissier[linaro_swg_optee_examples_commits_3_10_0]: https://github.com/linaro-swg/optee_examples/compare/3.9.0...3.10.0
29*d1c63543SJerome 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
30*d1c63543SJerome Forissier
31af141c61SJens Wiklander# OP-TEE - version 3.9.0 (2020-04-22)
32af141c61SJens Wiklander
33af141c61SJens Wiklander- Links to the release pages, commits and pull requests merged into this release for:
34af141c61SJens 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]
35af141c61SJens 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]
36af141c61SJens 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]
37af141c61SJens 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]
38af141c61SJens 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]
39af141c61SJens Wiklander
40af141c61SJens Wiklander
41af141c61SJens Wiklander[OP_TEE_optee_os_release_3_9_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.9.0
42af141c61SJens Wiklander[OP_TEE_optee_os_commits_3_9_0]: https://github.com/OP-TEE/optee_os/compare/3.8.0...3.9.0
43af141c61SJens 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
44af141c61SJens Wiklander
45af141c61SJens Wiklander[OP_TEE_optee_client_release_3_9_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.9.0
46af141c61SJens Wiklander[OP_TEE_optee_client_commits_3_9_0]: https://github.com/OP-TEE/optee_client/compare/3.8.0...3.9.0
47af141c61SJens 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
48af141c61SJens Wiklander
49af141c61SJens Wiklander[OP_TEE_optee_test_release_3_9_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.9.0
50af141c61SJens Wiklander[OP_TEE_optee_test_commits_3_9_0]: https://github.com/OP-TEE/optee_test/compare/3.8.0...3.9.0
51af141c61SJens 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
52af141c61SJens Wiklander
53af141c61SJens Wiklander[OP_TEE_build_release_3_9_0]: https://github.com/OP-TEE/build/releases/tag/3.9.0
54af141c61SJens Wiklander[OP_TEE_build_commits_3_9_0]: https://github.com/OP-TEE/build/compare/3.8.0...3.9.0
55af141c61SJens 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
56af141c61SJens Wiklander
57af141c61SJens Wiklander[linaro_swg_optee_examples_release_3_9_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.9.0
58af141c61SJens Wiklander[linaro_swg_optee_examples_commits_3_9_0]: https://github.com/linaro-swg/optee_examples/compare/3.8.0...3.9.0
59af141c61SJens 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
60af141c61SJens Wiklander
61023e3365SJerome Forissier# OP-TEE - version 3.8.0 (2020-01-24)
62023e3365SJerome Forissier
63023e3365SJerome Forissier- Links to the release pages, commits and pull requests merged into this release for:
64023e3365SJerome 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]
65023e3365SJerome 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]
66023e3365SJerome 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]
67023e3365SJerome 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]
68023e3365SJerome 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]
69023e3365SJerome Forissier
70023e3365SJerome Forissier
71023e3365SJerome Forissier[OP_TEE_optee_os_release_3_8_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.8.0
72023e3365SJerome Forissier[OP_TEE_optee_os_commits_3_8_0]: https://github.com/OP-TEE/optee_os/compare/3.7.0...3.8.0
73023e3365SJerome 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
74023e3365SJerome Forissier
75023e3365SJerome Forissier[OP_TEE_optee_client_release_3_8_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.8.0
76023e3365SJerome Forissier[OP_TEE_optee_client_commits_3_8_0]: https://github.com/OP-TEE/optee_client/compare/3.7.0...3.8.0
77023e3365SJerome 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
78023e3365SJerome Forissier
79023e3365SJerome Forissier[OP_TEE_optee_test_release_3_8_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.8.0
80023e3365SJerome Forissier[OP_TEE_optee_test_commits_3_8_0]: https://github.com/OP-TEE/optee_test/compare/3.7.0...3.8.0
81023e3365SJerome 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
82023e3365SJerome Forissier
83023e3365SJerome Forissier[OP_TEE_build_release_3_8_0]: https://github.com/OP-TEE/build/releases/tag/3.8.0
84023e3365SJerome Forissier[OP_TEE_build_commits_3_8_0]: https://github.com/OP-TEE/build/compare/3.7.0...3.8.0
85023e3365SJerome 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
86023e3365SJerome Forissier
87023e3365SJerome Forissier[linaro_swg_optee_examples_release_3_8_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.8.0
88023e3365SJerome Forissier[linaro_swg_optee_examples_commits_3_8_0]: https://github.com/linaro-swg/optee_examples/compare/3.7.0...3.8.0
89023e3365SJerome 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
90023e3365SJerome Forissier
91a2fa5018SJoakim Bech# OP-TEE - version 3.7.0 (2019-10-18)
92a2fa5018SJoakim Bech
93a2fa5018SJoakim Bech- Links to the release pages, commits and pull requests merged into this release for:
94a2fa5018SJoakim 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]
95a2fa5018SJoakim 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]
96a2fa5018SJoakim 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]
97a2fa5018SJoakim 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]
98a2fa5018SJoakim 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]
99a2fa5018SJoakim Bech
100a2fa5018SJoakim Bech
101a2fa5018SJoakim Bech[OP_TEE_optee_os_release_3_7_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.7.0
102a2fa5018SJoakim Bech[OP_TEE_optee_os_commits_3_7_0]: https://github.com/OP-TEE/optee_os/compare/3.6.0...3.7.0
103a2fa5018SJoakim 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
104a2fa5018SJoakim Bech
105a2fa5018SJoakim Bech[OP_TEE_optee_client_release_3_7_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.7.0
106a2fa5018SJoakim Bech[OP_TEE_optee_client_commits_3_7_0]: https://github.com/OP-TEE/optee_client/compare/3.6.0...3.7.0
107a2fa5018SJoakim 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
108a2fa5018SJoakim Bech
109a2fa5018SJoakim Bech[OP_TEE_optee_test_release_3_7_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.7.0
110a2fa5018SJoakim Bech[OP_TEE_optee_test_commits_3_7_0]: https://github.com/OP-TEE/optee_test/compare/3.6.0...3.7.0
111a2fa5018SJoakim 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
112a2fa5018SJoakim Bech
113a2fa5018SJoakim Bech[OP_TEE_build_release_3_7_0]: https://github.com/OP-TEE/build/releases/tag/3.7.0
114a2fa5018SJoakim Bech[OP_TEE_build_commits_3_7_0]: https://github.com/OP-TEE/build/compare/3.6.0...3.7.0
115a2fa5018SJoakim 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
116a2fa5018SJoakim Bech
117a2fa5018SJoakim Bech[linaro_swg_optee_examples_release_3_7_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.7.0
118a2fa5018SJoakim Bech[linaro_swg_optee_examples_commits_3_7_0]: https://github.com/linaro-swg/optee_examples/compare/3.6.0...3.7.0
119a2fa5018SJoakim 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
120a2fa5018SJoakim Bech
121f398d492SJerome Forissier# OP-TEE - version 3.6.0 (2019-07-05)
122f398d492SJerome Forissier
123f398d492SJerome Forissier- Link to the GitHub [release page][github_release_3_6_0].
124f398d492SJerome Forissier- Links to the [commits][github_commits_3_6_0] and
125f398d492SJerome Forissier[pull requests][github_pr_3_6_0] merged into this release.
126f398d492SJerome Forissier
127f398d492SJerome Forissier[github_release_3_6_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.6.0
128f398d492SJerome Forissier[github_commits_3_6_0]: https://github.com/OP-TEE/optee_os/compare/3.5.0...3.6.0
129f398d492SJerome 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
130f398d492SJerome Forissier
1315df2a985SJoakim Bech# OP-TEE - version 3.5.0 (2019-04-26)
1325df2a985SJoakim Bech
1335df2a985SJoakim Bech- Link to the GitHub [release page][github_release_3_5_0].
1345df2a985SJoakim Bech- Links to the [commits][github_commits_3_5_0] and
1355df2a985SJoakim Bech[pull requests][github_pr_3_5_0] merged into this release.
1365df2a985SJoakim Bech
1375df2a985SJoakim Bech[github_release_3_5_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.5.0
1385df2a985SJoakim Bech[github_commits_3_5_0]: https://github.com/OP-TEE/optee_os/compare/3.4.0...3.5.0
1395df2a985SJoakim 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
1405df2a985SJoakim Bech
141406c609bSJerome Forissier# OP-TEE - version 3.4.0 (2019-01-25)
142406c609bSJerome Forissier
143406c609bSJerome Forissier- Link to the GitHub [release page][github_release_3_4_0].
144406c609bSJerome Forissier- Links to the [commits][github_commits_3_4_0] and
145406c609bSJerome Forissier[pull requests][github_pr_3_4_0] merged into this release.
146406c609bSJerome Forissier
147406c609bSJerome Forissier[github_release_3_4_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.4.0
148406c609bSJerome Forissier[github_commits_3_4_0]: https://github.com/OP-TEE/optee_os/compare/3.3.0...3.4.0
149406c609bSJerome 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
150406c609bSJerome Forissier
151ee595e95SJerome Forissier# OP-TEE - version 3.3.0 (2018-10-12)
152ee595e95SJerome Forissier
153ee595e95SJerome Forissier- Link to the GitHub [release page][github_release_3_3_0].
154ee595e95SJerome Forissier- Links to the [commits][github_commits_3_3_0] and
155ee595e95SJerome Forissier[pull requests][github_pr_3_3_0] merged into this release.
156ee595e95SJerome Forissier
157ee595e95SJerome Forissier[github_release_3_3_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.3.0
158ee595e95SJerome Forissier[github_commits_3_3_0]: https://github.com/OP-TEE/optee_os/compare/3.2.0...3.3.0
159ee595e95SJerome 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
160ee595e95SJerome Forissier
16153bf1c38SJerome Forissier# OP-TEE - version 3.2.0 (2018-07-04)
16253bf1c38SJerome Forissier
16353bf1c38SJerome Forissier- Link to the GitHub [release page][github_release_3_2_0].
16453bf1c38SJerome Forissier- Links to the [commits][github_commits_3_2_0] and
16553bf1c38SJerome Forissier[pull requests][github_pr_3_2_0] merged into this release.
16653bf1c38SJerome Forissier
16753bf1c38SJerome Forissier## Known issues
16853bf1c38SJerome Forissier
16953bf1c38SJerome Forissier* HiKey960: assertion in bget create_free_block() \[memalign() self-test\] ([#2414])
17053bf1c38SJerome Forissier* D02: assertion '!have_spinlock()' ([#2437])
17153bf1c38SJerome Forissier
17253bf1c38SJerome Forissier[github_commits_3_2_0]: https://github.com/OP-TEE/optee_os/compare/3.1.0...3.2.0
17353bf1c38SJerome 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
17453bf1c38SJerome Forissier[github_release_3_2_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.2.0
17553bf1c38SJerome Forissier[#2414]: https://github.com/OP-TEE/optee_os/issues/2414
17653bf1c38SJerome Forissier[#2437]: https://github.com/OP-TEE/optee_os/issues/2437
17753bf1c38SJerome Forissier
1780ab9388cSJens Wiklander# OP-TEE - version 3.1.0 (2018-04-13)
1790ab9388cSJens Wiklander
1800ab9388cSJens Wiklander- Link to the GitHub [release page][github_release_3_1_0].
1810ab9388cSJens Wiklander- Links to the [commits][github_commits_3_1_0] and
1820ab9388cSJens Wiklander[pull requests][github_pr_3_1_0] merged into this release.
1830ab9388cSJens Wiklander
1840ab9388cSJens Wiklander[github_commits_3_1_0]: https://github.com/OP-TEE/optee_os/compare/3.0.0...3.1.0
1850ab9388cSJens 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
1860ab9388cSJens Wiklander[github_release_3_1_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.1.0
1870ab9388cSJens Wiklander
1880ab9388cSJens Wiklander# OP-TEE - version 3.0.0 (2018-01-26)
18994ee4938SJerome Forissier
19094ee4938SJerome Forissier[Link][github_commits_3_0_0] to a list of all commits between this release and
19194ee4938SJerome Forissierthe previous one (2.6.0).
19294ee4938SJerome Forissier
19394ee4938SJerome ForissierAbout backwards compatibility: Trusted Applications built with OP-TEE 2.5.0 or
19494ee4938SJerome Forissierearlier will not run properly with a *debug* build of this release due
19594ee4938SJerome Forissierto commit [0e1c6e8e][commit_0e1c6e8e] ("Dump call stack on TA panic").
19694ee4938SJerome ForissierNon-debug builds are not affected.
19794ee4938SJerome Forissier
19894ee4938SJerome Forissier## New features
19994ee4938SJerome Forissier
20094ee4938SJerome Forissier* New supported platforms: Armada 3700 ([#1946]), Poplar ([#1999]), 64-bit
20194ee4938SJerome Forissier  support for FSL ls1012ardb ([#1941]), i.MX6SX Sabreauto ([#1974]).
20294ee4938SJerome Forissier* arm32: sm: init CNTVOFF ([#2052])
20394ee4938SJerome Forissier* Debug/info/error traces: make output more compact ([#2011])
20494ee4938SJerome Forissier* tzc380: implement new functions ([#1994])
20594ee4938SJerome Forissier* Secure Data Path: add pseudo-TA to convert VA to PA (#1993])
20694ee4938SJerome Forissier* Pager: use NEON AES GCM implementation ([#1959])
20794ee4938SJerome Forissier* Crypto: add optimized AES GCM implementation using NEON ([#1949])
20894ee4938SJerome Forissier* Add support for using secure storage for TA anti-rollback ([#1928])
20994ee4938SJerome Forissier* Crypto: replace struct crypto_ops with function interface ([#1923],
21094ee4938SJerome Forissier  [#1931])
21194ee4938SJerome Forissier* aosp_optee.mk: define OPTEE_BIN ([#1922])
21294ee4938SJerome Forissier* Add build option to allow concurrent execution of single-instance TAs
21394ee4938SJerome Forissier  ([#1915])
21494ee4938SJerome Forissier* Pager: support for address sanitizer ([#1856])
21594ee4938SJerome Forissier* Pager: make memory between CFG_TEE_RAM_START and TEE load address usable by
21694ee4938SJerome Forissier  pager ([#1826])
21794ee4938SJerome Forissier
21894ee4938SJerome Forissier## Bug fixes
21994ee4938SJerome Forissier
22094ee4938SJerome Forissier* Fix crash in tee_mmu_final() on TA loading error ([#2092])
22194ee4938SJerome Forissier* LibTomCrypt: fix issue causing invalid output when using AES CTR with
22294ee4938SJerome Forissierhardware acceleration (CFG_CRYPTO_WITH_CE) ([#2086])
22394ee4938SJerome Forissier* pl310: fix cache sync ([#2035])
22494ee4938SJerome Forissier* tzc380: do not write reserved bits ([#1994])
22594ee4938SJerome Forissier* Fix potential double free in ta_open() ([#1970])
22694ee4938SJerome Forissier* libfdt: fix undefined behaviour in fdt_offset_ptr() ([#1969])
22794ee4938SJerome Forissier* imx_wdog: fix register access ([#1966])
22894ee4938SJerome Forissier* Secure storage: fix potential memory leak after early return ([#1961])
22994ee4938SJerome Forissier* LibTomCrypt: fix double free in dsa_import() ([#1963])
23094ee4938SJerome Forissier* RPMB: fix TA independance issue in secure storage ([#1921])
23194ee4938SJerome Forissier* RPMB: return TEE_ERROR_ACCESS_CONFLICT instead of panicking when a TA
23294ee4938SJerome Forissier  attempts to create an existing persistent object without the overwrite flag
23394ee4938SJerome Forissier  ([#1919])
23494ee4938SJerome Forissier* PSCI: pass non-secure context to psci_system_suspend() ([#1916])
23594ee4938SJerome Forissier* Fix "Argument list too long" during "make clean" ([#1897])
23694ee4938SJerome Forissier
23794ee4938SJerome Forissier## Security fixes
23894ee4938SJerome Forissier
23994ee4938SJerome Forissier* Mitigations and hardening against the Spectre and Meltdown vulnerabilities
24094ee4938SJerome Forissier  (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754).
24194ee4938SJerome Forissier
24294ee4938SJerome Forissier## Known issues
24394ee4938SJerome Forissier
24494ee4938SJerome Forissier* Secure storage (REE FS): storage size not updated after
24594ee4938SJerome ForissierTEE_TruncateObjectData() ([#2094])
24694ee4938SJerome Forissier* Possible deadlock with CFG_WITH_PAGER=y when loading a TA and not enough
24794ee4938SJerome Forissierpage tables are available in pgt_cache ([#2080])
24894ee4938SJerome Forissier
24994ee4938SJerome Forissier## Tested on
25094ee4938SJerome Forissier
25194ee4938SJerome ForissierThe release was tested successfully on the platforms listed below.
25294ee4938SJerome Forissier
25394ee4938SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
25494ee4938SJerome Forissier* d02
25594ee4938SJerome Forissier* hikey
25694ee4938SJerome Forissier* hikey-hikey960
25794ee4938SJerome Forissier* imx-mx6ulevk
25894ee4938SJerome Forissier* imx-mx7dsabresd
25994ee4938SJerome Forissier* marvell-armada7k8k
26094ee4938SJerome Forissier* marvell-armada3700
26194ee4938SJerome Forissier* mediatek-mt8173
26294ee4938SJerome Forissier* rcar-salvator_m3
26394ee4938SJerome Forissier* rockchip-rk322x
26494ee4938SJerome Forissier* rpi3
26594ee4938SJerome Forissier* sam
26694ee4938SJerome Forissier* ti
26794ee4938SJerome Forissier* vexpress-juno
26894ee4938SJerome Forissier* vexpress-qemu_armv8a
26994ee4938SJerome Forissier* vexpress-qemu_virt
27094ee4938SJerome Forissier
27194ee4938SJerome Forissier[commit_0e1c6e8e]: https://github.com/OP-TEE/optee_os/commit/0e1c6e8e
27294ee4938SJerome Forissier[github_commits_3_0_0]: https://github.com/OP-TEE/optee_os/compare/2.6.0...3.0.0
27394ee4938SJerome Forissier[#2092]: https://github.com/OP-TEE/optee_os/pull/2092
27494ee4938SJerome Forissier[#2086]: https://github.com/OP-TEE/optee_os/pull/2086
27594ee4938SJerome Forissier[#2094]: https://github.com/OP-TEE/optee_os/issues/2094
27694ee4938SJerome Forissier[#2080]: https://github.com/OP-TEE/optee_os/issues/2080
27794ee4938SJerome Forissier[#2052]: https://github.com/OP-TEE/optee_os/pull/2052
27894ee4938SJerome Forissier[#2035]: https://github.com/OP-TEE/optee_os/pull/2035
27994ee4938SJerome Forissier[#2011]: https://github.com/OP-TEE/optee_os/pull/2011
28094ee4938SJerome Forissier[#1999]: https://github.com/OP-TEE/optee_os/pull/1999
28194ee4938SJerome Forissier[#1994]: https://github.com/OP-TEE/optee_os/pull/1994
28294ee4938SJerome Forissier[#1993]: https://github.com/OP-TEE/optee_os/pull/1993
28394ee4938SJerome Forissier[#1974]: https://github.com/OP-TEE/optee_os/pull/1974
28494ee4938SJerome Forissier[#1970]: https://github.com/OP-TEE/optee_os/pull/1970
28594ee4938SJerome Forissier[#1969]: https://github.com/OP-TEE/optee_os/pull/1969
28694ee4938SJerome Forissier[#1966]: https://github.com/OP-TEE/optee_os/pull/1966
28794ee4938SJerome Forissier[#1963]: https://github.com/OP-TEE/optee_os/pull/1963
28894ee4938SJerome Forissier[#1961]: https://github.com/OP-TEE/optee_os/pull/1961
28994ee4938SJerome Forissier[#1959]: https://github.com/OP-TEE/optee_os/pull/1959
29094ee4938SJerome Forissier[#1949]: https://github.com/OP-TEE/optee_os/pull/1949
29194ee4938SJerome Forissier[#1946]: https://github.com/OP-TEE/optee_os/pull/1946
29294ee4938SJerome Forissier[#1941]: https://github.com/OP-TEE/optee_os/pull/1941
29394ee4938SJerome Forissier[#1931]: https://github.com/OP-TEE/optee_os/pull/1931
29494ee4938SJerome Forissier[#1928]: https://github.com/OP-TEE/optee_os/pull/1928
29594ee4938SJerome Forissier[#1923]: https://github.com/OP-TEE/optee_os/pull/1923
29694ee4938SJerome Forissier[#1922]: https://github.com/OP-TEE/optee_os/pull/1922
29794ee4938SJerome Forissier[#1921]: https://github.com/OP-TEE/optee_os/pull/1921
29894ee4938SJerome Forissier[#1919]: https://github.com/OP-TEE/optee_os/pull/1919
29994ee4938SJerome Forissier[#1916]: https://github.com/OP-TEE/optee_os/pull/1916
30094ee4938SJerome Forissier[#1915]: https://github.com/OP-TEE/optee_os/pull/1915
30194ee4938SJerome Forissier[#1897]: https://github.com/OP-TEE/optee_os/pull/1897
30294ee4938SJerome Forissier[#1856]: https://github.com/OP-TEE/optee_os/pull/1856
30394ee4938SJerome Forissier[#1826]: https://github.com/OP-TEE/optee_os/pull/1826
30494ee4938SJerome Forissier
3056d57389fSJerome Forissier# OP-TEE - version 2.6.0
3066d57389fSJerome Forissier
3076d57389fSJerome Forissier[Link][github_commits_2_6_0] to a list of all commits between this release and
3086d57389fSJerome Forissierthe previous one (2.5.0).
3096d57389fSJerome Forissier
3106d57389fSJerome Forissier## New features
3116d57389fSJerome Forissier
3126d57389fSJerome Forissier* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]),
3136d57389fSJerome Forissier  Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell
3146d57389fSJerome Forissier  Armada 70x0/80x0 ([#1807]).
3156d57389fSJerome Forissier* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into
3166d57389fSJerome Forissier  Trusted Applications VA space) ([#1631])
3176d57389fSJerome Forissier* Dump TA call stack on panic ([#1858])
3186d57389fSJerome Forissier* i.MX: PSCI reset ([#1849])
3196d57389fSJerome Forissier* plat-ti: AM43xx: suspend/resume support ([#1822])
3206d57389fSJerome Forissier* QEMU SMP support ([#1820])
3216d57389fSJerome Forissier* plat-ti: AM43xx: disable TRNG ([#1816])
3226d57389fSJerome Forissier* plat-ti: enable Secure Data Path by default ([#1815])
3236d57389fSJerome Forissier* Improve symbolize.py ([#1778], [#1767], [#1766])
3246d57389fSJerome Forissier* Early TAs (TAs linked in tee.bin) ([#1733])
3256d57389fSJerome Forissier* Suspend/resume framework for arm32 and imx7d support ([#1729])
3266d57389fSJerome Forissier* RK322X PSCI version, features and suspend support ([#1720])
3276d57389fSJerome Forissier* arm32: handle aborts in system mode ([#1703])
3286d57389fSJerome Forissier* i.MX: add SNVS SRTC support ([#1700])
3296d57389fSJerome Forissier* GCC7 support ([#1693])
3306d57389fSJerome Forissier* Improve detection of programming errors in locking code ([#1671], [#1670])
3316d57389fSJerome Forissier* Support TEE RAM size larger than page directory size ([#1669])
3326d57389fSJerome Forissier
3336d57389fSJerome Forissier## Removed features
3346d57389fSJerome Forissier
3356d57389fSJerome Forissier* Remove TUI code ([#1842])
3366d57389fSJerome Forissier
3376d57389fSJerome Forissier## Bug fixes
3386d57389fSJerome Forissier
3396d57389fSJerome Forissier* Add missing synchronization barrier in core_mmu_map_pages() ([#1827])
3406d57389fSJerome Forissier* Secure storage: REE FS: fix bug in error path ([#1801])
3416d57389fSJerome Forissier* ASAN bug fixes ([#1799])
3426d57389fSJerome Forissier* Fix race in core_mmu_user_mapping_is_active() ([#1785])
3436d57389fSJerome Forissier* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754])
3446d57389fSJerome Forissier* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748])
3456d57389fSJerome Forissier* arm32: preserve r12 in native_intr_handler() ([#1682])
3466d57389fSJerome Forissier* arm64: fix print_kernel_stack() ([#1664])
3476d57389fSJerome Forissier* benchmark: fix core data-abort ([#1658])
3486d57389fSJerome Forissier
3496d57389fSJerome Forissier## Security fixes or enhancements
3506d57389fSJerome Forissier
3516d57389fSJerome Forissier* crypto: fix software PRNG weaknesses
3526d57389fSJerome Forissier  ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843])
3536d57389fSJerome Forissier
3546d57389fSJerome Forissier## Tested on
3556d57389fSJerome Forissier
35694ee4938SJerome ForissierThe release was tested successfully on the platforms listed below.
3576d57389fSJerome ForissierIf a platform is not listed, it means the release was not tested on this
3586d57389fSJerome Forissierplatform.
3596d57389fSJerome Forissier
3606d57389fSJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
3616d57389fSJerome Forissier* d02
3626d57389fSJerome Forissier* hikey
3636d57389fSJerome Forissier* hikey-hikey960
3646d57389fSJerome Forissier* imx-mx6ulevk
3656d57389fSJerome Forissier* imx-mx7dsabresd
3666d57389fSJerome Forissier* ls-ls1021a??? (single core)
3676d57389fSJerome Forissier* ls-ls1043ardb
3686d57389fSJerome Forissier* ls-ls1046ardb
3696d57389fSJerome Forissier* mediatek-mt8173
3706d57389fSJerome Forissier* rcar
3716d57389fSJerome Forissier* rockchip-rk322x
3726d57389fSJerome Forissier* rpi3
3736d57389fSJerome Forissier* sam
3746d57389fSJerome Forissier* stm-b2260
3756d57389fSJerome Forissier* stm-cannes
3766d57389fSJerome Forissier* ti-???
3776d57389fSJerome Forissier* vexpress-fvp
3786d57389fSJerome Forissier* vexpress-juno
3796d57389fSJerome Forissier* vexpress-qemu_armv8a
3806d57389fSJerome Forissier* vexpress-qemu_virt
3816d57389fSJerome Forissier
38294ee4938SJerome Forissier[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...2.6.0
3836d57389fSJerome Forissier[#1858]: https://github.com/OP-TEE/optee_os/issues/1858
3846d57389fSJerome Forissier[#1849]: https://github.com/OP-TEE/optee_os/issues/1849
3856d57389fSJerome Forissier[#1843]: https://github.com/OP-TEE/optee_os/issues/1843
3866d57389fSJerome Forissier[#1842]: https://github.com/OP-TEE/optee_os/issues/1842
3876d57389fSJerome Forissier[#1827]: https://github.com/OP-TEE/optee_os/issues/1827
3886d57389fSJerome Forissier[#1822]: https://github.com/OP-TEE/optee_os/issues/1822
3896d57389fSJerome Forissier[#1820]: https://github.com/OP-TEE/optee_os/issues/1820
3906d57389fSJerome Forissier[#1816]: https://github.com/OP-TEE/optee_os/issues/1816
3916d57389fSJerome Forissier[#1815]: https://github.com/OP-TEE/optee_os/issues/1815
3926d57389fSJerome Forissier[#1807]: https://github.com/OP-TEE/optee_os/issues/1807
3936d57389fSJerome Forissier[#1801]: https://github.com/OP-TEE/optee_os/issues/1801
3946d57389fSJerome Forissier[#1799]: https://github.com/OP-TEE/optee_os/issues/1799
3956d57389fSJerome Forissier[#1787]: https://github.com/OP-TEE/optee_os/issues/1787
3966d57389fSJerome Forissier[#1785]: https://github.com/OP-TEE/optee_os/issues/1785
3976d57389fSJerome Forissier[#1778]: https://github.com/OP-TEE/optee_os/issues/1778
3986d57389fSJerome Forissier[#1767]: https://github.com/OP-TEE/optee_os/issues/1767
3996d57389fSJerome Forissier[#1766]: https://github.com/OP-TEE/optee_os/issues/1766
4006d57389fSJerome Forissier[#1759]: https://github.com/OP-TEE/optee_os/issues/1759
4016d57389fSJerome Forissier[#1754]: https://github.com/OP-TEE/optee_os/issues/1754
4026d57389fSJerome Forissier[#1748]: https://github.com/OP-TEE/optee_os/issues/1748
4036d57389fSJerome Forissier[#1733]: https://github.com/OP-TEE/optee_os/issues/1733
4046d57389fSJerome Forissier[#1729]: https://github.com/OP-TEE/optee_os/issues/1729
4056d57389fSJerome Forissier[#1720]: https://github.com/OP-TEE/optee_os/issues/1720
4066d57389fSJerome Forissier[#1714]: https://github.com/OP-TEE/optee_os/issues/1714
4076d57389fSJerome Forissier[#1703]: https://github.com/OP-TEE/optee_os/issues/1703
4086d57389fSJerome Forissier[#1700]: https://github.com/OP-TEE/optee_os/issues/1700
4096d57389fSJerome Forissier[#1693]: https://github.com/OP-TEE/optee_os/issues/1693
4106d57389fSJerome Forissier[#1684]: https://github.com/OP-TEE/optee_os/issues/1684
4116d57389fSJerome Forissier[#1682]: https://github.com/OP-TEE/optee_os/issues/1682
4126d57389fSJerome Forissier[#1671]: https://github.com/OP-TEE/optee_os/issues/1671
4136d57389fSJerome Forissier[#1670]: https://github.com/OP-TEE/optee_os/issues/1670
4146d57389fSJerome Forissier[#1669]: https://github.com/OP-TEE/optee_os/issues/1669
4156d57389fSJerome Forissier[#1666]: https://github.com/OP-TEE/optee_os/issues/1666
4166d57389fSJerome Forissier[#1664]: https://github.com/OP-TEE/optee_os/issues/1664
4176d57389fSJerome Forissier[#1658]: https://github.com/OP-TEE/optee_os/issues/1658
4186d57389fSJerome Forissier[#1631]: https://github.com/OP-TEE/optee_os/issues/1631
4196d57389fSJerome Forissier[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/
4206d57389fSJerome Forissier
4215d8aaa04SJerome Forissier# OP-TEE - version 2.5.0
4225d8aaa04SJerome Forissier
4235d8aaa04SJerome Forissier[Link][github_commits_2_5_0] to a list of all commits between this release and
4245d8aaa04SJerome Forissierthe previous one (2.4.0).
4255d8aaa04SJerome Forissier
4265d8aaa04SJerome Forissier## New features
4275d8aaa04SJerome Forissier
4285d8aaa04SJerome Forissier* New supported platform: i.MX7D ([#1639])
4295d8aaa04SJerome Forissier* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630])
4305d8aaa04SJerome Forissier* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623])
4315d8aaa04SJerome Forissier* Add new image format: split image into three separate binaries suitable for
4325d8aaa04SJerome Forissier  upcoming ARM Trusted Firmware ([#1589]).
4335d8aaa04SJerome Forissier* Make alignment check configurable ([#1586])
4345d8aaa04SJerome Forissier* drivers: add TZC380 driver ([#1578])
4355d8aaa04SJerome Forissier* plat-imx: PSCI CPU off ([#1577])
4365d8aaa04SJerome Forissier* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592])
4375d8aaa04SJerome Forissier* Benchmark framework ([#1365])
4385d8aaa04SJerome Forissier* Dump call stack of user TAs on abort ([#1552])
4395d8aaa04SJerome Forissier* plat-hikey: enable Secure Data Path ([#1440])
4405d8aaa04SJerome Forissier* Add interface to load and decrypt/authenticate user TAs ([#1513])
4415d8aaa04SJerome Forissier* plat-ti: add secure paging support ([#1493])
4425d8aaa04SJerome Forissier* plat-ti: add OTP hardware key support ([#1492])
4435d8aaa04SJerome Forissier* Support ARM GICv3 ([#1465])
4445d8aaa04SJerome Forissier
4455d8aaa04SJerome Forissier## Removed features
4465d8aaa04SJerome Forissier
4475d8aaa04SJerome Forissier* stm-orly2 is not supported anymore ([#1650])
4485d8aaa04SJerome Forissier* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490])
4495d8aaa04SJerome Forissier* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity
4505d8aaa04SJerome Forissier  (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small
4515d8aaa04SJerome Forissier  pages.
4525d8aaa04SJerome Forissier
4535d8aaa04SJerome Forissier## Bug fixes
4545d8aaa04SJerome Forissier
4555d8aaa04SJerome Forissier* Reduce size of non-pageable code ([#1621])
4565d8aaa04SJerome Forissier* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when
4575d8aaa04SJerome Forissier  `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574])
4585d8aaa04SJerome Forissier* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580])
4595d8aaa04SJerome Forissier* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519])
4605d8aaa04SJerome Forissier* Do not touch other bits in GICD_CTLR ([#1508])
4615d8aaa04SJerome Forissier* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502])
4625d8aaa04SJerome Forissier* crypto: do not restrict hash size when algorithm is ECDSA ([#1497])
4635d8aaa04SJerome Forissier
4645d8aaa04SJerome Forissier## Security fixes or enhancements
4655d8aaa04SJerome Forissier
4665d8aaa04SJerome Forissier- crypto: fix RSA key leakage after fault injection attack
4675d8aaa04SJerome Forissier  ([OP-TEE-2016-0003][OP-TEE-2016-0003])  ([#1610])
4685d8aaa04SJerome Forissier* crypto: fix RSA key leakage after side channel attack
4695d8aaa04SJerome Forissier  ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610])
4705d8aaa04SJerome Forissier* Make pager aliased pages not always writable ([#1551])
4715d8aaa04SJerome Forissier* Support for no-exec RO and RW data ([#1459], [#1550])
4725d8aaa04SJerome Forissier
4735d8aaa04SJerome Forissier## New issues
4745d8aaa04SJerome Forissier
4755d8aaa04SJerome Forissier* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites
4765d8aaa04SJerome ForissierSCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`)
4775d8aaa04SJerome Forissierand write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not
4785d8aaa04SJerome Forissierbe configured via the compile-time `CFG_` variables.
4795d8aaa04SJerome Forissier* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`)
4805d8aaa04SJerome Forissierfor improved performance.
4815d8aaa04SJerome Forissier* [#1656] qemu_armv8a: init hangs when secure data path and pager are both
4825d8aaa04SJerome Forissier  enabled.
4835d8aaa04SJerome Forissier
4845d8aaa04SJerome Forissier## Tested on
4855d8aaa04SJerome Forissier
4865d8aaa04SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
4875d8aaa04SJerome Forissierits default configuration, while _extended_ means it was run successfully
4885d8aaa04SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
4895d8aaa04SJerome Forissierv1.1.0.4.
4905d8aaa04SJerome Forissier
4915d8aaa04SJerome ForissierIf a platform is not listed, it means the release was not tested on this
4925d8aaa04SJerome Forissierplatform.
4935d8aaa04SJerome Forissier
4945d8aaa04SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
4955d8aaa04SJerome Forissier* d02: extended
4965d8aaa04SJerome Forissier* hikey: extended
4975d8aaa04SJerome Forissier* imx-mx6ulevk: standard
4985d8aaa04SJerome Forissier* imx-mx6ullevk: standard
4995d8aaa04SJerome Forissier* imx-mx7dsabresd: standard
5005d8aaa04SJerome Forissier* ls-ls1021atwr: standard
5015d8aaa04SJerome Forissier* mediatek-mt8173: standard
5025d8aaa04SJerome Forissier* rcar-h3: standard
5035d8aaa04SJerome Forissier* rpi3: standard
5045d8aaa04SJerome Forissier* stm-b2260: extended
5055d8aaa04SJerome Forissier* stm-cannes: extended
5065d8aaa04SJerome Forissier* ti-am43xx: standard
5075d8aaa04SJerome Forissier* ti-am57xx: standard
5085d8aaa04SJerome Forissier* ti-dra7xx: standard
5095d8aaa04SJerome Forissier* vexpress-fvp: standard
5105d8aaa04SJerome Forissier* vexpress-juno: standard
5115d8aaa04SJerome Forissier* vexpress-qemu_armv8a: standard
5125d8aaa04SJerome Forissier* vexpress-qemu_virt: standard
5135d8aaa04SJerome Forissier
5145d8aaa04SJerome Forissier[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1
5155d8aaa04SJerome Forissier[#1656]: https://github.com/OP-TEE/optee_os/issues/1656
5165d8aaa04SJerome Forissier[#1650]: https://github.com/OP-TEE/optee_os/pull/1650
5175d8aaa04SJerome Forissier[#1639]: https://github.com/OP-TEE/optee_os/pull/1639
5185d8aaa04SJerome Forissier[#1630]: https://github.com/OP-TEE/optee_os/pull/1630
5195d8aaa04SJerome Forissier[#1623]: https://github.com/OP-TEE/optee_os/pull/1623
5205d8aaa04SJerome Forissier[#1621]: https://github.com/OP-TEE/optee_os/pull/1621
5215d8aaa04SJerome Forissier[#1610]: https://github.com/OP-TEE/optee_os/pull/1610
5225d8aaa04SJerome Forissier[#1592]: https://github.com/OP-TEE/optee_os/pull/1592
5235d8aaa04SJerome Forissier[#1589]: https://github.com/OP-TEE/optee_os/pull/1589
5245d8aaa04SJerome Forissier[#1586]: https://github.com/OP-TEE/optee_os/pull/1586
5255d8aaa04SJerome Forissier[#1580]: https://github.com/OP-TEE/optee_os/pull/1580
5265d8aaa04SJerome Forissier[#1578]: https://github.com/OP-TEE/optee_os/pull/1578
5275d8aaa04SJerome Forissier[#1577]: https://github.com/OP-TEE/optee_os/pull/1577
5285d8aaa04SJerome Forissier[#1574]: https://github.com/OP-TEE/optee_os/pull/1574
5295d8aaa04SJerome Forissier[#1559]: https://github.com/OP-TEE/optee_os/pull/1559
5305d8aaa04SJerome Forissier[#1551]: https://github.com/OP-TEE/optee_os/pull/1551
5315d8aaa04SJerome Forissier[#1550]: https://github.com/OP-TEE/optee_os/pull/1550
5325d8aaa04SJerome Forissier[#1519]: https://github.com/OP-TEE/optee_os/pull/1519
5335d8aaa04SJerome Forissier[#1502]: https://github.com/OP-TEE/optee_os/pull/1502
5345d8aaa04SJerome Forissier[#1365]: https://github.com/OP-TEE/optee_os/pull/1365
5355d8aaa04SJerome Forissier[#1552]: https://github.com/OP-TEE/optee_os/pull/1552
5365d8aaa04SJerome Forissier[#1513]: https://github.com/OP-TEE/optee_os/pull/1513
5375d8aaa04SJerome Forissier[#1508]: https://github.com/OP-TEE/optee_os/pull/1508
5385d8aaa04SJerome Forissier[#1493]: https://github.com/OP-TEE/optee_os/pull/1493
5395d8aaa04SJerome Forissier[#1497]: https://github.com/OP-TEE/optee_os/pull/1497
5405d8aaa04SJerome Forissier[#1492]: https://github.com/OP-TEE/optee_os/pull/1492
5415d8aaa04SJerome Forissier[#1490]: https://github.com/OP-TEE/optee_os/pull/1490
5425d8aaa04SJerome Forissier[#1465]: https://github.com/OP-TEE/optee_os/pull/1465
5435d8aaa04SJerome Forissier[#1459]: https://github.com/OP-TEE/optee_os/pull/1459
5445d8aaa04SJerome Forissier[#1440]: https://github.com/OP-TEE/optee_os/pull/1440
5455d8aaa04SJerome Forissier[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/
5465d8aaa04SJerome Forissier[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/
5475d8aaa04SJerome Forissier
548702609a7SJerome Forissier# OP-TEE - version 2.4.0
549702609a7SJerome Forissier
550702609a7SJerome Forissier[Link][github_commits_2_4_0] to a list of all commits between this release and
551702609a7SJerome Forissierthe previous one (2.3.0).
552702609a7SJerome Forissier
553702609a7SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
554702609a7SJerome ForissierSecure Storage internal format for the REE and SQL FS is not compatible due to
555702609a7SJerome Forissiercommits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree
556702609a7SJerome Forissierinterface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree
557702609a7SJerome Forissierinterface").
558702609a7SJerome Forissier
559702609a7SJerome Forissier## New features
560702609a7SJerome Forissier
561702609a7SJerome Forissier* Add porting guidelines
562702609a7SJerome Forissier
563702609a7SJerome Forissier* Add support for Secure Data Path which allows Client and Trusted Applications
564702609a7SJerome Forissier  to share references to secure memory
565702609a7SJerome Forissier
566702609a7SJerome Forissier* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`)
567702609a7SJerome Forissier
568702609a7SJerome Forissier* ARMv7-A: add support for platform services in secure monitor and add these
569702609a7SJerome Forissier  services for the DRA7xx platform
570702609a7SJerome Forissier
571702609a7SJerome Forissier* SPI framework and PL022 driver cleanup and improvements
572702609a7SJerome Forissier
573702609a7SJerome Forissier* Use CNTPCT (when available) to add entropy to the software PRNG
574702609a7SJerome Forissier
575702609a7SJerome Forissier* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6)
576702609a7SJerome Forissier
577702609a7SJerome Forissier* DRA7: add TRNG driver, enable GICv2 driver
578702609a7SJerome Forissier
579702609a7SJerome Forissier* Support load address larger than 4G
580702609a7SJerome Forissier
581702609a7SJerome Forissier* libutee: preserve error code when calling TEE_Panic() for easier
582702609a7SJerome Forissier  troubleshooting
583702609a7SJerome Forissier
584702609a7SJerome Forissier* Support TA profiling with gprof (-pg compiler switch)
585702609a7SJerome Forissier
586702609a7SJerome Forissier* Optimize the ELF loader for TAs when pager is enabled
587702609a7SJerome Forissier
588702609a7SJerome Forissier* Update documentation
589702609a7SJerome Forissier
590702609a7SJerome Forissier* Add paged secure shared memory that can be transferred between TAs as
591702609a7SJerome Forissier  needed
592702609a7SJerome Forissier
593702609a7SJerome Forissier* Introduce MOBJ abstraction
594702609a7SJerome Forissier
595702609a7SJerome Forissier* i.MX6: add PSCI "on" function
596702609a7SJerome Forissier
597702609a7SJerome Forissier* arm32: introduce PSCI framework
598702609a7SJerome Forissier
599702609a7SJerome Forissier## Bug fixes
600702609a7SJerome Forissier
601702609a7SJerome Forissier* Secure storage: improve integrity checking of the REE and SQL filesystems by
602702609a7SJerome Forissier  adding a hash tree on the internal data structures. Any external modification
603702609a7SJerome Forissier  is detected, except full rollback. Fixes [#1188][issue1188].
604702609a7SJerome Forissier
605702609a7SJerome Forissier* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on
606702609a7SJerome Forissier  the device intended for use by tee-supplicant. Fixes [#1199][issue1199].
607702609a7SJerome Forissier
608702609a7SJerome Forissier* RPMB: don't try to program the RPMB key by default
609702609a7SJerome Forissier
610702609a7SJerome Forissier* Fix "make clean" error cases
611702609a7SJerome Forissier
612702609a7SJerome Forissier* Fix issue when resetting persistent storage enumerator [#1332][issue1332]
613702609a7SJerome Forissier
614702609a7SJerome Forissier* Fix TA panic when doing AES CTS with specific buffer sizes
615702609a7SJerome Forissier  [#1203][issue1203].
616702609a7SJerome Forissier
617702609a7SJerome Forissier## Known issues
618702609a7SJerome Forissier
619702609a7SJerome Forissier* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353]
620702609a7SJerome Forissier* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE.
621702609a7SJerome Forissier* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]).
622702609a7SJerome Forissier* Travis service (build.git) seems unstable from time to time.
623702609a7SJerome Forissier
624702609a7SJerome Forissier## Tested on
625702609a7SJerome Forissier
626702609a7SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
627702609a7SJerome Forissierits default configuration, while _extended_ means it was run successfully
628702609a7SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
629702609a7SJerome Forissierv1.1.0.4.
630702609a7SJerome Forissier
631702609a7SJerome ForissierIf a platform is not listed, it means the release was not tested on this
632702609a7SJerome Forissierplatform.
633702609a7SJerome Forissier
634702609a7SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
635702609a7SJerome Forissier* d02: extended
636702609a7SJerome Forissier* hikey: extended
637702609a7SJerome Forissier* imx-mx6ulevk: standard
638702609a7SJerome Forissier* ls-ls1021atwr: standard (single core)
639702609a7SJerome Forissier* mediatek-mt8173: standard
640702609a7SJerome Forissier* rcar-h3: standard
641702609a7SJerome Forissier* rpi3: standard
642702609a7SJerome Forissier* stm-b2260: extended
643702609a7SJerome Forissier* ti-dra7xx: standard
644702609a7SJerome Forissier* vexpress-fvp: standard
645702609a7SJerome Forissier* vexpress-juno: standard
646702609a7SJerome Forissier* vexpress-qemu_armv8a: standard
647702609a7SJerome Forissier* vexpress-qemu_virt: standard
648702609a7SJerome Forissier* zynqmp-zc1751_dc1: standard
649702609a7SJerome Forissier* zynqmp-zc1751_dc2: standard
650702609a7SJerome Forissier* zynqmp-zcu102: standard
651702609a7SJerome Forissier
652702609a7SJerome Forissier[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0
653702609a7SJerome Forissier[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332
654702609a7SJerome Forissier[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353
655702609a7SJerome Forissier[build issue131]: https://github.com/OP-TEE/build/issues/131
656702609a7SJerome Forissier[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3
657702609a7SJerome Forissier[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1
658702609a7SJerome Forissier
65928fcee17SJerome Forissier# OP-TEE - version 2.3.0
66028fcee17SJerome Forissier
66128fcee17SJerome Forissier[Link][github_commits_2_3_0] to a list of all commits between this release and
66228fcee17SJerome Forissierthe previous one (2.2.0).
66328fcee17SJerome Forissier
66428fcee17SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
66528fcee17SJerome ForissierSecure Storage internal format for the REE FS is not compatible due to commit
66628fcee17SJerome Forissier[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object").
66728fcee17SJerome Forissier
66828fcee17SJerome Forissier[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e
66928fcee17SJerome Forissier
67028fcee17SJerome Forissier## New features
67128fcee17SJerome Forissier
67228fcee17SJerome Forissier* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`)
67328fcee17SJerome Forissier
67428fcee17SJerome Forissier* Add debug assertions to spinlocks and mutexes
67528fcee17SJerome Forissier
67628fcee17SJerome Forissier* Add more CP15 register access macros for Cortex-A9
67728fcee17SJerome Forissier
67828fcee17SJerome Forissier* ARMv7-A: redesign secure monitor to make it easier to register services
67928fcee17SJerome Forissier
68028fcee17SJerome Forissier* ARMv7-A: cleanup boot arguments
68128fcee17SJerome Forissier
68228fcee17SJerome Forissier* libutee: extend `TEE_CheckMemoryAccessRights()` with
68328fcee17SJerome Forissier  `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE`
68428fcee17SJerome Forissier
68528fcee17SJerome Forissier* plat-hikey: enable SPI by default and add sample test code
68628fcee17SJerome Forissier
68728fcee17SJerome Forissier* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs
68828fcee17SJerome Forissier
68928fcee17SJerome Forissier* Secure storage refactoring
69028fcee17SJerome Forissier  - Simplify interface with tee-supplicant. Minimize round trips with normal
69128fcee17SJerome Forissier    world, especially by adding a cache for FS RPC payload data.
69228fcee17SJerome Forissier  - REE FS: use a single file per object, remove block cache.
69328fcee17SJerome Forissier
69428fcee17SJerome Forissier* Print call stack in panic()
69528fcee17SJerome Forissier
69628fcee17SJerome Forissier## Bug fixes
69728fcee17SJerome Forissier
69828fcee17SJerome Forissier* Fix UUID encoding when communicating with normal world (use big endian
69928fcee17SJerome Forissier  mode instead of native endianness). Related to this, the string format
70028fcee17SJerome Forissier  for UUIDs has changed in tee-supplicant, so that TA file names now follow
70128fcee17SJerome Forissier  the format defined in RFC4122 (a missing hyphen was added). The old format
70228fcee17SJerome Forissier  is still supported, but deprecated, and will likely be removed with the
70328fcee17SJerome Forissier  next major release.
70428fcee17SJerome Forissier
70528fcee17SJerome Forissier* Drop write permission to non-writable ELF segments after TA loading is
70628fcee17SJerome Forissier  complete.
70728fcee17SJerome Forissier
70828fcee17SJerome Forissier* mm: fix confusing memory mapping debug traces
70928fcee17SJerome Forissier
71028fcee17SJerome Forissier* plat-ti: fix issues with MMU mapping
71128fcee17SJerome Forissier
71228fcee17SJerome Forissier* crypto: fix clearing of big numbers
71328fcee17SJerome Forissier
71428fcee17SJerome Forissier* build: allow spaces and double quotes in CFG_ variables
71528fcee17SJerome Forissier
71628fcee17SJerome Forissier* mm: use paddr_t to support both 32- and 64-bit architectures properly.
71728fcee17SJerome Forissier  Resolves 32-bit truncation error when pool is at top of 32 bit address
71828fcee17SJerome Forissier  space on 64-bit architecture.
71928fcee17SJerome Forissier
72028fcee17SJerome Forissier* plat-stm: support pager. Fix pager on ARMv7-A SMP boards.
72128fcee17SJerome Forissier
72228fcee17SJerome Forissier* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix)
72328fcee17SJerome Forissier
72428fcee17SJerome Forissier* Do not consider TA memref parameters as TA private memory
72528fcee17SJerome Forissier
72628fcee17SJerome Forissier* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC
72728fcee17SJerome Forissier  algorithms
72828fcee17SJerome Forissier
72928fcee17SJerome Forissier* fix for 16-way PL310
73028fcee17SJerome Forissier
73128fcee17SJerome Forissier* arm32: fix call stack unwinding (`print_stack()`)
73228fcee17SJerome Forissier
73328fcee17SJerome Forissier* arm32: fix spinlock assembly code
73428fcee17SJerome Forissier
73528fcee17SJerome Forissier* plat-stm, plat-imx: fix SCR initalization
73628fcee17SJerome Forissier
73728fcee17SJerome Forissier* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values
73828fcee17SJerome Forissier  other than 7.
73928fcee17SJerome Forissier
74028fcee17SJerome Forissier* mtk-mt8173: fix panic caused by incorrect size of SHMEM
74128fcee17SJerome Forissier
74228fcee17SJerome Forissier* plat-stm: fix RNG driver (non-flat mapping)
74328fcee17SJerome Forissier
74428fcee17SJerome Forissier## Known issues
74528fcee17SJerome Forissier
74628fcee17SJerome Forissier* New issues open on GitHub
74728fcee17SJerome Forissier  * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80
74828fcee17SJerome Forissier  * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant
74928fcee17SJerome Forissier  * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to
75028fcee17SJerome Forissier    current meta header
75128fcee17SJerome Forissier  * [#1172][issue1172] paddr_t should be larger than 32 bits when
75228fcee17SJerome Forissier    CFG_WITH_LPAE is enabled
75328fcee17SJerome Forissier
75428fcee17SJerome Forissier## Tested on
75528fcee17SJerome Forissier
75628fcee17SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
75728fcee17SJerome Forissierits default configuration, while _extended_ means it was run successfully
75828fcee17SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
75928fcee17SJerome Forissierv1.1.0.4.
76028fcee17SJerome Forissier
76128fcee17SJerome ForissierIf a platform is not listed, it means the release was not tested on this
76228fcee17SJerome Forissierplatform.
76328fcee17SJerome Forissier
76428fcee17SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
76528fcee17SJerome Forissier* d02: extended
76628fcee17SJerome Forissier* hikey: extended
76728fcee17SJerome Forissier* imx-mx6ulevk: standard
76828fcee17SJerome Forissier* ls-ls1021atwr: standard
76928fcee17SJerome Forissier* mediatek-mt8173: standard
77028fcee17SJerome Forissier* rcar-h3: standard
77128fcee17SJerome Forissier* rpi3: standard
77228fcee17SJerome Forissier* stm-b2260: extended
77328fcee17SJerome Forissier* stm-cannes: extended
77428fcee17SJerome Forissier* ti-dra7xx: standard
77528fcee17SJerome Forissier* vexpress-fvp: standard
77628fcee17SJerome Forissier* vexpress-juno: standard
77728fcee17SJerome Forissier* vexpress-qemu_armv8a: standard
77828fcee17SJerome Forissier* vexpress-qemu_virt: extended
77928fcee17SJerome Forissier* zynqmp-zcu102: standard
78028fcee17SJerome Forissier
78128fcee17SJerome Forissier[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0
78228fcee17SJerome Forissier[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172
78328fcee17SJerome Forissier[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188
78428fcee17SJerome Forissier[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199
78528fcee17SJerome Forissier[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203
78628fcee17SJerome Forissier
787c0c5d399SJerome Forissier# OP-TEE - version 2.2.0
788c0c5d399SJerome Forissier
789c0c5d399SJerome Forissier[Link][github_commits_2_2_0] to a list of all commits between this release and
790c0c5d399SJerome Forissierthe previous one (2.1.0).
791c0c5d399SJerome Forissier
792c0c5d399SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
793c0c5d399SJerome ForissierSecure Storage internal format is not compatible due to commit
794c0c5d399SJerome Forissier[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key").
795c0c5d399SJerome Forissier
796c0c5d399SJerome Forissier[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75
797c0c5d399SJerome Forissier
798c0c5d399SJerome Forissier## New features
799c0c5d399SJerome Forissier
800c0c5d399SJerome Forissier* New supported platforms:
801c0c5d399SJerome Forissier	* Freescale i.MX6 Quad SABRE Lite & SD
802c0c5d399SJerome Forissier	* HiSilicon D02
803c0c5d399SJerome Forissier	* Raspberry Pi3
804c0c5d399SJerome Forissier	* Renesas RCAR H3
805c0c5d399SJerome Forissier	* STMicroelectronics b2260 - h410
806c0c5d399SJerome Forissier
807c0c5d399SJerome Forissier* Pager: Support paging of read/write pages by encrypting them with AES-GCM.
808c0c5d399SJerome Forissier  Support paging of user TAs. Add global setting for TZSRAM size
809c0c5d399SJerome Forissier  (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K.
810c0c5d399SJerome Forissier
811c0c5d399SJerome Forissier* Support for more than 8 CPU cores
812c0c5d399SJerome Forissier
813c0c5d399SJerome Forissier* Added SPI framework and PL022 driver
814c0c5d399SJerome Forissier
815c0c5d399SJerome Forissier* GPIO: framework supports multiple instances, PL061 driver now has get/set
816c0c5d399SJerome Forissier  interrupt and mode control functions
817c0c5d399SJerome Forissier
818c0c5d399SJerome Forissier* Secure storage: Encrypt the File Encryption Key with a TA-specific key for
819c0c5d399SJerome Forissier  better TA isolation. Add build-time and run-time support for multiple storage
820c0c5d399SJerome Forissier  backends. Add SQLite backend.
821c0c5d399SJerome Forissier
822c0c5d399SJerome Forissier* Trusted User Interface: some code is introduced to support the implementation
823c0c5d399SJerome Forissier  of TUI. This includes: a generic framebuffer driver, display and serial
824c0c5d399SJerome Forissier  abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2
825c0c5d399SJerome Forissier  mouse.
826c0c5d399SJerome Forissier
827c0c5d399SJerome Forissier* AES acceleration using ARMv8-A Cryptographic Extensions instructions is
828c0c5d399SJerome Forissier  now supported in AArch32 mode
829c0c5d399SJerome Forissier
830c0c5d399SJerome Forissier* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address
831c0c5d399SJerome Forissier
832c0c5d399SJerome Forissier* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default.
833c0c5d399SJerome Forissier
834c0c5d399SJerome Forissier* Add macros to unwind and print the call stack of TEE core
835c0c5d399SJerome Forissier
836c0c5d399SJerome Forissier* Libtomcrypt: sync with the latest `develop` branch.
837c0c5d399SJerome Forissier
838c0c5d399SJerome Forissier* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a)
839c0c5d399SJerome Forissier
840c0c5d399SJerome Forissier* Rework assertions and TEE core panics and properly honor NDEBUG
841c0c5d399SJerome Forissier
842c0c5d399SJerome Forissier## Bug fixes
843c0c5d399SJerome Forissier
844c0c5d399SJerome Forissier* Fix incorrect algorithm passed to cipher.final()
845c0c5d399SJerome Forissier
846c0c5d399SJerome Forissier* scripts: support Python 2.x and 3.x
847c0c5d399SJerome Forissier
848c0c5d399SJerome Forissier* Secure storage: Add proper locking to support concurrent access. Fix sign
849c0c5d399SJerome Forissier  extension bug with offset parameter of syscall storage_obj_seek which could
850c0c5d399SJerome Forissier  cause errors in Aarch32 mode. Fix reading beyond end of file.
851c0c5d399SJerome Forissier
852c0c5d399SJerome Forissier* Aarch64: mask all maskable exceptions before doing a normal return from call.
853c0c5d399SJerome Forissier
854c0c5d399SJerome Forissier* Device Tree: add no-map property to OP-TEE node in reserved-memory.
855c0c5d399SJerome Forissier
856c0c5d399SJerome Forissier* LibTomcrypt: fix CVE-2016-6129
857c0c5d399SJerome Forissier
858c0c5d399SJerome Forissier## Known issues
859c0c5d399SJerome Forissier
860c0c5d399SJerome Forissier* New issues open on GitHub
861c0c5d399SJerome Forissier  * [#1093][issue1093] rcar-h3: xtest 6010 hangs
862c0c5d399SJerome Forissier  * [#1092][issue1092] rcar-h3: xtest 4010 fails
863c0c5d399SJerome Forissier  * [#1081][issue1081] Bad mapping of TA secure memref parameters
864c0c5d399SJerome Forissier  * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER
865c0c5d399SJerome Forissier  * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK())
866c0c5d399SJerome Forissier
867c0c5d399SJerome Forissier## Tested on
868c0c5d399SJerome Forissier
869c0c5d399SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
870c0c5d399SJerome Forissierits default configuration, while _extended_ means it was run successfully
871c0c5d399SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
872c0c5d399SJerome Forissierv1.1.0.4.
873c0c5d399SJerome Forissier
874c0c5d399SJerome ForissierIf a platform is not listed, it means the release was not tested on this
875c0c5d399SJerome Forissierplatform.
876c0c5d399SJerome Forissier
877c0c5d399SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
878c0c5d399SJerome Forissier* d02: extended
879c0c5d399SJerome Forissier* hikey: extended
880c0c5d399SJerome Forissier* imx-mx6qsabrelite: standard
881c0c5d399SJerome Forissier* imx-mx6qsabresd: standard
882c0c5d399SJerome Forissier* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093]
883c0c5d399SJerome Forissier* rpi3: standard
884c0c5d399SJerome Forissier* stm-b2260: standard
885c0c5d399SJerome Forissier* stm-cannes: standard
886c0c5d399SJerome Forissier* ti-dra7xx: standard
887c0c5d399SJerome Forissier* vexpress-fvp: standard
888c0c5d399SJerome Forissier* vexpress-juno: standard
889c0c5d399SJerome Forissier* vexpress-qemu_armv8a: standard
890c0c5d399SJerome Forissier* vexpress-qemu_virt: extended
891c0c5d399SJerome Forissier* zynqmp-zcu102: standard
892c0c5d399SJerome Forissier
893c0c5d399SJerome Forissier[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0
894c0c5d399SJerome Forissier[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081
895c0c5d399SJerome Forissier[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071
896c0c5d399SJerome Forissier[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069
897c0c5d399SJerome Forissier[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092
898c0c5d399SJerome Forissier[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093
899c0c5d399SJerome Forissier
900ac3cc110SPascal Brand# OP-TEE - version 2.1.0
901a0cd5d60SPascal Brand
902ac3cc110SPascal Brand## New features
903ac3cc110SPascal Brand
904ac3cc110SPascal Brand* New supported platforms:
905ac3cc110SPascal Brand	* Xilinx Zynq UltraScale+ MPSOC
906ac3cc110SPascal Brand	* Spreadtrum SC9860
907ac3cc110SPascal Brand
908ac3cc110SPascal Brand* GCC5 support
909ac3cc110SPascal Brand
910ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
911ac3cc110SPascal Brand  addresses was linear until this release, meaning the virtual addresses
912ac3cc110SPascal Brand  were equal to the physical addresses. This is no more the case in this
913ac3cc110SPascal Brand  release.
914ac3cc110SPascal Brand
915ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an
916ac3cc110SPascal Brand  implementation of Trusted UI.
917ac3cc110SPascal Brand
918ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB
919ac3cc110SPascal Brand  implementations simultaneously.
920ac3cc110SPascal Brand
921ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
922ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
923ac3cc110SPascal Brand
924ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
925ac3cc110SPascal Brand  [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
926ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
927ac3cc110SPascal Brand
928ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and
929ac3cc110SPascal Brand  previous release.
930ac3cc110SPascal Brand
931ac3cc110SPascal Brand
932ac3cc110SPascal Brand## Tested on
933ac3cc110SPascal BrandDefinitions:
934ac3cc110SPascal Brand
935ac3cc110SPascal Brand| Type | Meaning |
936ac3cc110SPascal Brand| ---- | ------- |
937ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
938ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
939ac3cc110SPascal Brand
940ac3cc110SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
941ac3cc110SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
942ac3cc110SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
943ac3cc110SPascal Brand*	FSL i.MX6 UltraLite EVK (imx), standard.
944ac3cc110SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard tests.
945ac3cc110SPascal Brand*	HiKey (hikey), standard + extended tests.
946ac3cc110SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
947ac3cc110SPascal Brand*	Xilinx Zynq UltraScale+ MPSOC, standard tests
948ac3cc110SPascal Brand
949ac3cc110SPascal BrandNote that the following platform has not been tested:
950ac3cc110SPascal Brand*	MTK8173-EVB (mediatek-mt8173)
951ac3cc110SPascal Brand
952ac3cc110SPascal Brand
953ac3cc110SPascal Brand## Known issues
954ac3cc110SPascal Brand* Issue(s) open on GitHub
955ac3cc110SPascal Brand  * [#868][pr868]: python-wand font generation sometimes times out
956ac3cc110SPascal Brand  * [#863][pr863]: "double free or corruption" error when building optee_os
957ac3cc110SPascal Brand  * [#858][pr858]: UUIDs in binary format have wrong endinanness
958ac3cc110SPascal Brand  * [#857][pr857]: Formatting of UUIDs is incorrect
959ac3cc110SPascal Brand  * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
960ac3cc110SPascal Brand  * [#838][pr838]: TUI font rendering is _very_ slow
961ac3cc110SPascal Brand  * [#814][pr814]: Persistent objects : save informations after close
962ac3cc110SPascal Brand  * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
963ac3cc110SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
964ac3cc110SPascal Brand
965ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
966ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868
967ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863
968ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858
969ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857
970ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847
971ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838
972ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814
973ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665
974ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
975ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee
976ac3cc110SPascal Brand
977ac3cc110SPascal Brand# OP-TEE - version 2.0.0
978a0cd5d60SPascal Brand
979a0cd5d60SPascal Brand## New features
980a0cd5d60SPascal Brand
981a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being
982a0cd5d60SPascal Brand  [upstreamed][gendrv_v9].
983a0cd5d60SPascal Brand  In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
984a0cd5d60SPascal Brand  Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
985a0cd5d60SPascal Brand  as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
986a0cd5d60SPascal Brand
987a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
988a0cd5d60SPascal Brand  of an eMMC device. Check the [full documentation][rpmb_doc]
989a0cd5d60SPascal Brand
990a0cd5d60SPascal Brand* Hard-float ABI is now available.
991a0cd5d60SPascal Brand
992a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and
993a0cd5d60SPascal Brand  previous release.
994a0cd5d60SPascal Brand
995a0cd5d60SPascal Brand
996a0cd5d60SPascal Brand## Tested on
997a0cd5d60SPascal BrandDefinitions:
998a0cd5d60SPascal Brand
999a0cd5d60SPascal Brand| Type | Meaning |
1000a0cd5d60SPascal Brand| ---- | ------- |
1001a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
1002a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1003a0cd5d60SPascal Brand
1004a0cd5d60SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
1005a0cd5d60SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1006a0cd5d60SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1007eb00c7b9SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard.
1008a0cd5d60SPascal Brand*	HiKey (hikey), standard.
1009a0cd5d60SPascal Brand*	MTK8173-EVB (mediatek-mt8173), standard.
1010a0cd5d60SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
1011a0cd5d60SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
1012a0cd5d60SPascal Brand
1013a0cd5d60SPascal Brand## Known issues
1014a0cd5d60SPascal Brand* Issue(s) open on GitHub
1015a0cd5d60SPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1016a0cd5d60SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
1017a0cd5d60SPascal Brand
1018a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
1019a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
1020a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
1021a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
1022a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee
1023a0cd5d60SPascal Brand
1024a0cd5d60SPascal Brand
1025c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0
1026c5bbfb4dSPascal Brand
1027c5bbfb4dSPascal Brand
1028c5bbfb4dSPascal Brand## New features
1029c5bbfb4dSPascal Brand
1030c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA.
1031c5bbfb4dSPascal Brand
1032c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
1033c5bbfb4dSPascal Brand  AArch32 and/or in AArch64 in case the core is compiled in AArch64.
1034c5bbfb4dSPascal Brand  An example can be found in HiKey configuration file. Using the following
1035c5bbfb4dSPascal Brand  excerpt code, the user TA libraries are compiled in both AArch32 and
1036c5bbfb4dSPascal Brand  AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
1037c5bbfb4dSPascal Brand  `out/arm-plat-hikey/export-ta_arm64`
1038c5bbfb4dSPascal Brand
1039c5bbfb4dSPascal Brand```
1040c5bbfb4dSPascal Brand    ta-targets = ta_arm32
1041c5bbfb4dSPascal Brand    ta-targets += ta_arm64
1042c5bbfb4dSPascal Brand```
1043c5bbfb4dSPascal Brand
1044c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on
1045c5bbfb4dSPascal Brand  several cores.
1046c5bbfb4dSPascal Brand
1047c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013),
1048c5bbfb4dSPascal Brand  floating point tests (xtest 1006 and os_test TA) and corruption
1049c5bbfb4dSPascal Brand  file storage (xtest 20000)
1050c5bbfb4dSPascal Brand
1051c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and
1052c5bbfb4dSPascal Brand  previous release.
1053c5bbfb4dSPascal Brand
1054c5bbfb4dSPascal Brand
1055c5bbfb4dSPascal Brand## Tested on
1056c5bbfb4dSPascal BrandDefinitions:
1057c5bbfb4dSPascal Brand
1058c5bbfb4dSPascal Brand| Type | Meaning |
1059c5bbfb4dSPascal Brand| ---- | ------- |
1060c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
1061c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1062c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1063c5bbfb4dSPascal Brand
1064c5bbfb4dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1065c5bbfb4dSPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1066c5bbfb4dSPascal Brand*	HiKey (hikey), standard + extended tests.
1067c5bbfb4dSPascal Brand*	MT8173 (mediatek), standard tests.
1068c5bbfb4dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
1069c5bbfb4dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
1070c5bbfb4dSPascal Brand
1071c5bbfb4dSPascal Brand## Known issues
1072c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
1073c5bbfb4dSPascal Brand  is not implemented yet.
1074c5bbfb4dSPascal Brand
1075c5bbfb4dSPascal Brand* Issue(s) open on GitHub
1076c5bbfb4dSPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1077c5bbfb4dSPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
1078c5bbfb4dSPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1079c5bbfb4dSPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
1080c5bbfb4dSPascal Brand
1081c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
1082c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506
1083c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
1084c5bbfb4dSPascal Brand
1085c5bbfb4dSPascal Brand
1086c5bbfb4dSPascal Brand
10878a7ee79dSPascal Brand# OP-TEE - version 1.0.0
10888a7ee79dSPascal Brand
10898a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to
10908a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO]
10918a7ee79dSPascal Brand(Developer Certificate of Origin) instead.
10928a7ee79dSPascal Brand
10938a7ee79dSPascal Brand
10948a7ee79dSPascal Brand## New features
10958a7ee79dSPascal Brand
10968a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
10978a7ee79dSPascal Brand
10988a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1,
10998a7ee79dSPascal Brand  including ECC algorithms.
11008a7ee79dSPascal Brand
11018a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations
11028a7ee79dSPascal Brand  are made atomic in order to prevent inconsistencies in case of errors
11038a7ee79dSPascal Brand  during the storage operations. [Slides][LCStorage] describing the
11048a7ee79dSPascal Brand  Secure Storage have been presented at the Linaro Connect SFO15.
11058a7ee79dSPascal Brand
11068a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a
11078a7ee79dSPascal Brand  [signed ELF format][elf]
11088a7ee79dSPascal Brand
11098a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os.
11108a7ee79dSPascal Brand
11118a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support.
11128a7ee79dSPascal Brand
11138a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released.
11148a7ee79dSPascal Brand
11158a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
11168a7ee79dSPascal Brand  to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
11178a7ee79dSPascal Brand  that used to be in optee_os have been removed, except for Juno board.
11188a7ee79dSPascal Brand
111995422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and
112095422146SPascal Brand  previous release.
112195422146SPascal Brand
11228a7ee79dSPascal Brand
11238a7ee79dSPascal Brand## Tested on
11248a7ee79dSPascal BrandDefinitions:
11258a7ee79dSPascal Brand
11268a7ee79dSPascal Brand| Type | Meaning |
11278a7ee79dSPascal Brand| ---- | ------- |
11288a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
11298a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
11308a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
11318a7ee79dSPascal Brand
11328a7ee79dSPascal Brand*	ARM Juno Board (vexpress-juno), standard + extended tests.
11338a7ee79dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
11348a7ee79dSPascal Brand*	HiKey (hikey), standard + extended tests.
11358a7ee79dSPascal Brand*	MT8173 (mediatek), standard tests.
11368a7ee79dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
11378a7ee79dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
11388a7ee79dSPascal Brand
113995422146SPascal Brand## Known issues
114095422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
114195422146SPascal Brand  is not implemented yet.
114295422146SPascal Brand
114395422146SPascal Brand* Issue(s) open on GitHub
114495422146SPascal Brand  * [#210][pr210]: libteec.so 32-bit does not communicate well
114595422146SPascal Brand    with 64-bit kernel module
114695422146SPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
114795422146SPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
114895422146SPascal Brand  * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
114995422146SPascal Brand
115095422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210
115195422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296
115295422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493
115395422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494
115495422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
11558a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
11568a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
11578a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
11588a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
11598a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test
11608a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest
11618a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build
11628a7ee79dSPascal Brand
116395422146SPascal Brand
116495422146SPascal Brand
116511d59085SPascal Brand# OP-TEE - version 0.3.0
116611d59085SPascal Brand
116711d59085SPascal Brand## New features
116811d59085SPascal Brand
116911d59085SPascal Brand*   Add hardware support for
117011d59085SPascal Brand	*   Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
117111d59085SPascal Brand	*   Hisilicon HiKey Board, ARMv8-A (plat-hikey)
117211d59085SPascal Brand*   AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
117311d59085SPascal Brand*	Secure Storage: Data can be encrypted prior to their storage in the non-secure.
117411d59085SPascal Brand	Build is configured using `CFG_ENC_FS=y`
117511d59085SPascal Brand*	A generic boot scheme can be used. Boot configuration is commonalized. This helps
117611d59085SPascal Brand	new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
117711d59085SPascal Brand    and plat-vexpress.
117811d59085SPascal Brand
117911d59085SPascal Brand## Tested on
118011d59085SPascal BrandDefinitions:
118111d59085SPascal Brand
118211d59085SPascal Brand| Type | Meaning |
118311d59085SPascal Brand| ---- | ------- |
118411d59085SPascal Brand| Standard tests | The optee_test project. |
118511d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
118611d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
118711d59085SPascal Brand
118811d59085SPascal Brand*	ARM Juno Board (vexpress-juno), standard tests.
118911d59085SPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
119011d59085SPascal Brand*	HiKey (hikey), standard tests.
119111d59085SPascal Brand*	MT8173 (mediatek), standard tests.
119211d59085SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
119311d59085SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
119411d59085SPascal Brand
119511d59085SPascal Brand-------------------------------------------
119611d59085SPascal Brand
1197f5117af2SPascal Brand# OP-TEE - version 0.2.0
1198759cc499SJoakim Bech
1199f5117af2SPascal Brand## New features
1200f5117af2SPascal Brand
1201f5117af2SPascal Brand### Linux Driver Refactoring
1202f5117af2SPascal Brand
1203f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts:
1204f5117af2SPascal Brand*	optee.ko, the generic Linux driver. It contains all functionality
1205f5117af2SPascal Brand	common to all backends.
1206f5117af2SPascal Brand*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
1207f5117af2SPascal Brand	It depends on optee.ko.
1208f5117af2SPascal Brand
1209f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using
1210f5117af2SPascal Brand
1211f5117af2SPascal Brand    modprobe optee_armtz
1212f5117af2SPascal Brand
1213f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
1214f5117af2SPascal Brand
1215f5117af2SPascal Brand### Misc new features
1216f5117af2SPascal Brand* support PL310 lock down at TEE boot
1217f5117af2SPascal Brand* add 64bits support (division / print)
1218f5117af2SPascal Brand
1219f5117af2SPascal Brand## Tested on
1220f5117af2SPascal BrandDefinitions:
1221f5117af2SPascal Brand
1222f5117af2SPascal Brand| Type | Meaning |
1223f5117af2SPascal Brand| ---- | ------- |
1224f5117af2SPascal Brand| Standard tests | The optee_test project. |
1225f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1226f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1227f5117af2SPascal Brand
1228f5117af2SPascal Brand*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
1229f5117af2SPascal Brand
1230f5117af2SPascal Brand*   Foundation Models (vexpress-fvp), standard + extended tests.
1231f5117af2SPascal Brand
1232f5117af2SPascal Brand*   QEMU (vexpress-qemu), standard + extended tests.
1233f5117af2SPascal Brand
1234f5117af2SPascal Brand*   STM Cannes (stm-cannes), standard + extended tests.
1235f5117af2SPascal Brand
1236f5117af2SPascal Brand
123728fcee17SJerome Forissier## Issues resolved since last release
1238f5117af2SPascal Brand*	Fix user TA trace issue, in order each TA is able to select its own trace level
1239f5117af2SPascal Brand
1240f5117af2SPascal Brand
1241f5117af2SPascal Brand-------------------------------------------
1242f5117af2SPascal Brand# OP-TEE - version 0.1.0
1243f5117af2SPascal Brand
1244f5117af2SPascal Brand## New features
1245759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will
1246759cc499SJoakim Bechfind a link that present you all commits between the current and previous
1247759cc499SJoakim Bechrelease tag.
1248759cc499SJoakim Bech
1249759cc499SJoakim Bech*   GlobalPlatform Client API v1.0 support.
1250759cc499SJoakim Bech
1251759cc499SJoakim Bech*   GlobalPlatform Internal API v1.0 support.
1252759cc499SJoakim Bech
1253759cc499SJoakim Bech*   GlobalPlatform Secure Elements v1.0 support.
1254759cc499SJoakim Bech
1255759cc499SJoakim Bech*   Add hardware support for
1256759cc499SJoakim Bech
1257759cc499SJoakim Bech    *   Allwinner A80, ARMv7-A.
1258759cc499SJoakim Bech
1259759cc499SJoakim Bech    *   ARM Juno Board, ARMv8-A.
1260759cc499SJoakim Bech
1261759cc499SJoakim Bech    *   Foundation Models, ARMv8-A.
1262759cc499SJoakim Bech
1263759cc499SJoakim Bech    *   Fast Models, ARMv8-A.
1264759cc499SJoakim Bech
1265759cc499SJoakim Bech    *   QEMU, ARMv7-A.
1266759cc499SJoakim Bech
1267759cc499SJoakim Bech    *   STM Cannes, ARMv7-A.
1268759cc499SJoakim Bech
1269759cc499SJoakim Bech    *   STM Orly2, ARMv7-A.
1270759cc499SJoakim Bech
1271759cc499SJoakim Bech*   Add LibTomCrypt as the default software cryptographic library.
1272759cc499SJoakim Bech
1273759cc499SJoakim Bech*   Add cryptographic abstraction layer in on secure side to ease the use of
1274759cc499SJoakim Bech    other cryptographic software libraries or adding support for hardware
1275759cc499SJoakim Bech    acceleration.
1276759cc499SJoakim Bech
1277759cc499SJoakim Bech*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
1278759cc499SJoakim Bech
1279759cc499SJoakim Bech*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
1280759cc499SJoakim Bech
1281759cc499SJoakim Bech*   Enabled paging support in OP-TEE OS.
1282759cc499SJoakim Bech
1283759cc499SJoakim Bech*   Add support for xtest (both standard and extended) in QEMU and FVP setup
1284759cc499SJoakim Bech    scripts.
1285759cc499SJoakim Bech
1286759cc499SJoakim Bech*   Add documentation for the OS design, cryptographic abstraction layer, secure
1287759cc499SJoakim Bech    elements design, the build system, GitHub usage, key derivation extensions,
1288759cc499SJoakim Bech    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
1289759cc499SJoakim Bech    OP-TEE.
1290759cc499SJoakim Bech
1291759cc499SJoakim Bech*   Integrate support for Travis CI.
1292759cc499SJoakim Bech
1293759cc499SJoakim Bech*   [Link][github_commits_0_1_0] to a list of all commits between this and
1294759cc499SJoakim Bech    previous release.
1295759cc499SJoakim Bech
1296759cc499SJoakim Bech
1297f5117af2SPascal Brand## Tested on
1298759cc499SJoakim BechDefinitions:
1299759cc499SJoakim Bech
1300759cc499SJoakim Bech| Type | Meaning |
1301759cc499SJoakim Bech| ---- | ------- |
1302759cc499SJoakim Bech| Standard tests | The optee_test project. |
1303759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
1304759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1305759cc499SJoakim Bech
1306759cc499SJoakim Bech*   Allwinner A80 (plat-sunxi), hello world test.
1307759cc499SJoakim Bech
1308759cc499SJoakim Bech*   ARM Juno Board (vexpress-juno), standard tests.
1309759cc499SJoakim Bech
1310759cc499SJoakim Bech*   Foundation Models (plat-vexpress-fvp), standard + extended tests
1311759cc499SJoakim Bech
1312759cc499SJoakim Bech*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
1313759cc499SJoakim Bech    tested separately).
1314759cc499SJoakim Bech
1315759cc499SJoakim Bech*   STM Cannes (plat-stm-cannes), standard + extended tests.
1316759cc499SJoakim Bech
1317759cc499SJoakim Bech
131828fcee17SJerome Forissier## Issues resolved since last release
1319759cc499SJoakim BechN/A since this is the first release tag on OP-TEE.
1320759cc499SJoakim Bech
1321759cc499SJoakim Bech
1322f5117af2SPascal Brand## Known issues
1323759cc499SJoakim Bech*   Storage is implemented, but not "Secure storage", meaning that a client
1324759cc499SJoakim Bech    needs to do encrypt files on their own before storing the files.
1325759cc499SJoakim Bech
1326759cc499SJoakim Bech*   Issue(s) open on GitHub
1327759cc499SJoakim Bech    *   [#95][pr95]: An error about building the test code of libtomcrypt.
1328759cc499SJoakim Bech
1329759cc499SJoakim Bech    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
1330759cc499SJoakim Bech	utilized optee os tee.bin as bl32 image) on juno platform, I got an
1331759cc499SJoakim Bech        error.
1332759cc499SJoakim Bech
1333759cc499SJoakim Bech    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
1334759cc499SJoakim Bech        user-supplied TEE_Attributes.
1335759cc499SJoakim Bech
1336759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
1337759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
1338759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95
1339759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149
1340759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161
1341759cc499SJoakim Bech
13427583c59eSCedric Chaumont*   Global Platform Device Internal Core API v1.1
13437583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
13447583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
1345