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