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