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