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