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