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