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