1*a2fa5018SJoakim Bech# OP-TEE - version 3.7.0 (2019-10-18) 2*a2fa5018SJoakim Bech 3*a2fa5018SJoakim Bech- Links to the release pages, commits and pull requests merged into this release for: 4*a2fa5018SJoakim Bech - 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] 5*a2fa5018SJoakim Bech - 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] 6*a2fa5018SJoakim Bech - 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] 7*a2fa5018SJoakim Bech - 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] 8*a2fa5018SJoakim Bech - 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] 9*a2fa5018SJoakim Bech 10*a2fa5018SJoakim Bech 11*a2fa5018SJoakim Bech[OP_TEE_optee_os_release_3_7_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.7.0 12*a2fa5018SJoakim Bech[OP_TEE_optee_os_commits_3_7_0]: https://github.com/OP-TEE/optee_os/compare/3.6.0...3.7.0 13*a2fa5018SJoakim Bech[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 14*a2fa5018SJoakim Bech 15*a2fa5018SJoakim Bech[OP_TEE_optee_client_release_3_7_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.7.0 16*a2fa5018SJoakim Bech[OP_TEE_optee_client_commits_3_7_0]: https://github.com/OP-TEE/optee_client/compare/3.6.0...3.7.0 17*a2fa5018SJoakim Bech[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 18*a2fa5018SJoakim Bech 19*a2fa5018SJoakim Bech[OP_TEE_optee_test_release_3_7_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.7.0 20*a2fa5018SJoakim Bech[OP_TEE_optee_test_commits_3_7_0]: https://github.com/OP-TEE/optee_test/compare/3.6.0...3.7.0 21*a2fa5018SJoakim Bech[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 22*a2fa5018SJoakim Bech 23*a2fa5018SJoakim Bech[OP_TEE_build_release_3_7_0]: https://github.com/OP-TEE/build/releases/tag/3.7.0 24*a2fa5018SJoakim Bech[OP_TEE_build_commits_3_7_0]: https://github.com/OP-TEE/build/compare/3.6.0...3.7.0 25*a2fa5018SJoakim Bech[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 26*a2fa5018SJoakim Bech 27*a2fa5018SJoakim Bech[linaro_swg_optee_examples_release_3_7_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.7.0 28*a2fa5018SJoakim Bech[linaro_swg_optee_examples_commits_3_7_0]: https://github.com/linaro-swg/optee_examples/compare/3.6.0...3.7.0 29*a2fa5018SJoakim Bech[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 30*a2fa5018SJoakim Bech 31f398d492SJerome Forissier# OP-TEE - version 3.6.0 (2019-07-05) 32f398d492SJerome Forissier 33f398d492SJerome Forissier- Link to the GitHub [release page][github_release_3_6_0]. 34f398d492SJerome Forissier- Links to the [commits][github_commits_3_6_0] and 35f398d492SJerome Forissier[pull requests][github_pr_3_6_0] merged into this release. 36f398d492SJerome Forissier 37f398d492SJerome Forissier[github_release_3_6_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.6.0 38f398d492SJerome Forissier[github_commits_3_6_0]: https://github.com/OP-TEE/optee_os/compare/3.5.0...3.6.0 39f398d492SJerome Forissier[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 40f398d492SJerome Forissier 415df2a985SJoakim Bech# OP-TEE - version 3.5.0 (2019-04-26) 425df2a985SJoakim Bech 435df2a985SJoakim Bech- Link to the GitHub [release page][github_release_3_5_0]. 445df2a985SJoakim Bech- Links to the [commits][github_commits_3_5_0] and 455df2a985SJoakim Bech[pull requests][github_pr_3_5_0] merged into this release. 465df2a985SJoakim Bech 475df2a985SJoakim Bech[github_release_3_5_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.5.0 485df2a985SJoakim Bech[github_commits_3_5_0]: https://github.com/OP-TEE/optee_os/compare/3.4.0...3.5.0 495df2a985SJoakim Bech[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 505df2a985SJoakim Bech 51406c609bSJerome Forissier# OP-TEE - version 3.4.0 (2019-01-25) 52406c609bSJerome Forissier 53406c609bSJerome Forissier- Link to the GitHub [release page][github_release_3_4_0]. 54406c609bSJerome Forissier- Links to the [commits][github_commits_3_4_0] and 55406c609bSJerome Forissier[pull requests][github_pr_3_4_0] merged into this release. 56406c609bSJerome Forissier 57406c609bSJerome Forissier[github_release_3_4_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.4.0 58406c609bSJerome Forissier[github_commits_3_4_0]: https://github.com/OP-TEE/optee_os/compare/3.3.0...3.4.0 59406c609bSJerome Forissier[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 60406c609bSJerome Forissier 61ee595e95SJerome Forissier# OP-TEE - version 3.3.0 (2018-10-12) 62ee595e95SJerome Forissier 63ee595e95SJerome Forissier- Link to the GitHub [release page][github_release_3_3_0]. 64ee595e95SJerome Forissier- Links to the [commits][github_commits_3_3_0] and 65ee595e95SJerome Forissier[pull requests][github_pr_3_3_0] merged into this release. 66ee595e95SJerome Forissier 67ee595e95SJerome Forissier[github_release_3_3_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.3.0 68ee595e95SJerome Forissier[github_commits_3_3_0]: https://github.com/OP-TEE/optee_os/compare/3.2.0...3.3.0 69ee595e95SJerome Forissier[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 70ee595e95SJerome Forissier 7153bf1c38SJerome Forissier# OP-TEE - version 3.2.0 (2018-07-04) 7253bf1c38SJerome Forissier 7353bf1c38SJerome Forissier- Link to the GitHub [release page][github_release_3_2_0]. 7453bf1c38SJerome Forissier- Links to the [commits][github_commits_3_2_0] and 7553bf1c38SJerome Forissier[pull requests][github_pr_3_2_0] merged into this release. 7653bf1c38SJerome Forissier 7753bf1c38SJerome Forissier## Known issues 7853bf1c38SJerome Forissier 7953bf1c38SJerome Forissier* HiKey960: assertion in bget create_free_block() \[memalign() self-test\] ([#2414]) 8053bf1c38SJerome Forissier* D02: assertion '!have_spinlock()' ([#2437]) 8153bf1c38SJerome Forissier 8253bf1c38SJerome Forissier[github_commits_3_2_0]: https://github.com/OP-TEE/optee_os/compare/3.1.0...3.2.0 8353bf1c38SJerome Forissier[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 8453bf1c38SJerome Forissier[github_release_3_2_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.2.0 8553bf1c38SJerome Forissier[#2414]: https://github.com/OP-TEE/optee_os/issues/2414 8653bf1c38SJerome Forissier[#2437]: https://github.com/OP-TEE/optee_os/issues/2437 8753bf1c38SJerome Forissier 880ab9388cSJens Wiklander# OP-TEE - version 3.1.0 (2018-04-13) 890ab9388cSJens Wiklander 900ab9388cSJens Wiklander- Link to the GitHub [release page][github_release_3_1_0]. 910ab9388cSJens Wiklander- Links to the [commits][github_commits_3_1_0] and 920ab9388cSJens Wiklander[pull requests][github_pr_3_1_0] merged into this release. 930ab9388cSJens Wiklander 940ab9388cSJens Wiklander[github_commits_3_1_0]: https://github.com/OP-TEE/optee_os/compare/3.0.0...3.1.0 950ab9388cSJens Wiklander[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 960ab9388cSJens Wiklander[github_release_3_1_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.1.0 970ab9388cSJens Wiklander 980ab9388cSJens Wiklander# OP-TEE - version 3.0.0 (2018-01-26) 9994ee4938SJerome Forissier 10094ee4938SJerome Forissier[Link][github_commits_3_0_0] to a list of all commits between this release and 10194ee4938SJerome Forissierthe previous one (2.6.0). 10294ee4938SJerome Forissier 10394ee4938SJerome ForissierAbout backwards compatibility: Trusted Applications built with OP-TEE 2.5.0 or 10494ee4938SJerome Forissierearlier will not run properly with a *debug* build of this release due 10594ee4938SJerome Forissierto commit [0e1c6e8e][commit_0e1c6e8e] ("Dump call stack on TA panic"). 10694ee4938SJerome ForissierNon-debug builds are not affected. 10794ee4938SJerome Forissier 10894ee4938SJerome Forissier## New features 10994ee4938SJerome Forissier 11094ee4938SJerome Forissier* New supported platforms: Armada 3700 ([#1946]), Poplar ([#1999]), 64-bit 11194ee4938SJerome Forissier support for FSL ls1012ardb ([#1941]), i.MX6SX Sabreauto ([#1974]). 11294ee4938SJerome Forissier* arm32: sm: init CNTVOFF ([#2052]) 11394ee4938SJerome Forissier* Debug/info/error traces: make output more compact ([#2011]) 11494ee4938SJerome Forissier* tzc380: implement new functions ([#1994]) 11594ee4938SJerome Forissier* Secure Data Path: add pseudo-TA to convert VA to PA (#1993]) 11694ee4938SJerome Forissier* Pager: use NEON AES GCM implementation ([#1959]) 11794ee4938SJerome Forissier* Crypto: add optimized AES GCM implementation using NEON ([#1949]) 11894ee4938SJerome Forissier* Add support for using secure storage for TA anti-rollback ([#1928]) 11994ee4938SJerome Forissier* Crypto: replace struct crypto_ops with function interface ([#1923], 12094ee4938SJerome Forissier [#1931]) 12194ee4938SJerome Forissier* aosp_optee.mk: define OPTEE_BIN ([#1922]) 12294ee4938SJerome Forissier* Add build option to allow concurrent execution of single-instance TAs 12394ee4938SJerome Forissier ([#1915]) 12494ee4938SJerome Forissier* Pager: support for address sanitizer ([#1856]) 12594ee4938SJerome Forissier* Pager: make memory between CFG_TEE_RAM_START and TEE load address usable by 12694ee4938SJerome Forissier pager ([#1826]) 12794ee4938SJerome Forissier 12894ee4938SJerome Forissier## Bug fixes 12994ee4938SJerome Forissier 13094ee4938SJerome Forissier* Fix crash in tee_mmu_final() on TA loading error ([#2092]) 13194ee4938SJerome Forissier* LibTomCrypt: fix issue causing invalid output when using AES CTR with 13294ee4938SJerome Forissierhardware acceleration (CFG_CRYPTO_WITH_CE) ([#2086]) 13394ee4938SJerome Forissier* pl310: fix cache sync ([#2035]) 13494ee4938SJerome Forissier* tzc380: do not write reserved bits ([#1994]) 13594ee4938SJerome Forissier* Fix potential double free in ta_open() ([#1970]) 13694ee4938SJerome Forissier* libfdt: fix undefined behaviour in fdt_offset_ptr() ([#1969]) 13794ee4938SJerome Forissier* imx_wdog: fix register access ([#1966]) 13894ee4938SJerome Forissier* Secure storage: fix potential memory leak after early return ([#1961]) 13994ee4938SJerome Forissier* LibTomCrypt: fix double free in dsa_import() ([#1963]) 14094ee4938SJerome Forissier* RPMB: fix TA independance issue in secure storage ([#1921]) 14194ee4938SJerome Forissier* RPMB: return TEE_ERROR_ACCESS_CONFLICT instead of panicking when a TA 14294ee4938SJerome Forissier attempts to create an existing persistent object without the overwrite flag 14394ee4938SJerome Forissier ([#1919]) 14494ee4938SJerome Forissier* PSCI: pass non-secure context to psci_system_suspend() ([#1916]) 14594ee4938SJerome Forissier* Fix "Argument list too long" during "make clean" ([#1897]) 14694ee4938SJerome Forissier 14794ee4938SJerome Forissier## Security fixes 14894ee4938SJerome Forissier 14994ee4938SJerome Forissier* Mitigations and hardening against the Spectre and Meltdown vulnerabilities 15094ee4938SJerome Forissier (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754). 15194ee4938SJerome Forissier 15294ee4938SJerome Forissier## Known issues 15394ee4938SJerome Forissier 15494ee4938SJerome Forissier* Secure storage (REE FS): storage size not updated after 15594ee4938SJerome ForissierTEE_TruncateObjectData() ([#2094]) 15694ee4938SJerome Forissier* Possible deadlock with CFG_WITH_PAGER=y when loading a TA and not enough 15794ee4938SJerome Forissierpage tables are available in pgt_cache ([#2080]) 15894ee4938SJerome Forissier 15994ee4938SJerome Forissier## Tested on 16094ee4938SJerome Forissier 16194ee4938SJerome ForissierThe release was tested successfully on the platforms listed below. 16294ee4938SJerome Forissier 16394ee4938SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 16494ee4938SJerome Forissier* d02 16594ee4938SJerome Forissier* hikey 16694ee4938SJerome Forissier* hikey-hikey960 16794ee4938SJerome Forissier* imx-mx6ulevk 16894ee4938SJerome Forissier* imx-mx7dsabresd 16994ee4938SJerome Forissier* marvell-armada7k8k 17094ee4938SJerome Forissier* marvell-armada3700 17194ee4938SJerome Forissier* mediatek-mt8173 17294ee4938SJerome Forissier* rcar-salvator_m3 17394ee4938SJerome Forissier* rockchip-rk322x 17494ee4938SJerome Forissier* rpi3 17594ee4938SJerome Forissier* sam 17694ee4938SJerome Forissier* ti 17794ee4938SJerome Forissier* vexpress-juno 17894ee4938SJerome Forissier* vexpress-qemu_armv8a 17994ee4938SJerome Forissier* vexpress-qemu_virt 18094ee4938SJerome Forissier 18194ee4938SJerome Forissier[commit_0e1c6e8e]: https://github.com/OP-TEE/optee_os/commit/0e1c6e8e 18294ee4938SJerome Forissier[github_commits_3_0_0]: https://github.com/OP-TEE/optee_os/compare/2.6.0...3.0.0 18394ee4938SJerome Forissier[#2092]: https://github.com/OP-TEE/optee_os/pull/2092 18494ee4938SJerome Forissier[#2086]: https://github.com/OP-TEE/optee_os/pull/2086 18594ee4938SJerome Forissier[#2094]: https://github.com/OP-TEE/optee_os/issues/2094 18694ee4938SJerome Forissier[#2080]: https://github.com/OP-TEE/optee_os/issues/2080 18794ee4938SJerome Forissier[#2052]: https://github.com/OP-TEE/optee_os/pull/2052 18894ee4938SJerome Forissier[#2035]: https://github.com/OP-TEE/optee_os/pull/2035 18994ee4938SJerome Forissier[#2011]: https://github.com/OP-TEE/optee_os/pull/2011 19094ee4938SJerome Forissier[#1999]: https://github.com/OP-TEE/optee_os/pull/1999 19194ee4938SJerome Forissier[#1994]: https://github.com/OP-TEE/optee_os/pull/1994 19294ee4938SJerome Forissier[#1993]: https://github.com/OP-TEE/optee_os/pull/1993 19394ee4938SJerome Forissier[#1974]: https://github.com/OP-TEE/optee_os/pull/1974 19494ee4938SJerome Forissier[#1970]: https://github.com/OP-TEE/optee_os/pull/1970 19594ee4938SJerome Forissier[#1969]: https://github.com/OP-TEE/optee_os/pull/1969 19694ee4938SJerome Forissier[#1966]: https://github.com/OP-TEE/optee_os/pull/1966 19794ee4938SJerome Forissier[#1963]: https://github.com/OP-TEE/optee_os/pull/1963 19894ee4938SJerome Forissier[#1961]: https://github.com/OP-TEE/optee_os/pull/1961 19994ee4938SJerome Forissier[#1959]: https://github.com/OP-TEE/optee_os/pull/1959 20094ee4938SJerome Forissier[#1949]: https://github.com/OP-TEE/optee_os/pull/1949 20194ee4938SJerome Forissier[#1946]: https://github.com/OP-TEE/optee_os/pull/1946 20294ee4938SJerome Forissier[#1941]: https://github.com/OP-TEE/optee_os/pull/1941 20394ee4938SJerome Forissier[#1931]: https://github.com/OP-TEE/optee_os/pull/1931 20494ee4938SJerome Forissier[#1928]: https://github.com/OP-TEE/optee_os/pull/1928 20594ee4938SJerome Forissier[#1923]: https://github.com/OP-TEE/optee_os/pull/1923 20694ee4938SJerome Forissier[#1922]: https://github.com/OP-TEE/optee_os/pull/1922 20794ee4938SJerome Forissier[#1921]: https://github.com/OP-TEE/optee_os/pull/1921 20894ee4938SJerome Forissier[#1919]: https://github.com/OP-TEE/optee_os/pull/1919 20994ee4938SJerome Forissier[#1916]: https://github.com/OP-TEE/optee_os/pull/1916 21094ee4938SJerome Forissier[#1915]: https://github.com/OP-TEE/optee_os/pull/1915 21194ee4938SJerome Forissier[#1897]: https://github.com/OP-TEE/optee_os/pull/1897 21294ee4938SJerome Forissier[#1856]: https://github.com/OP-TEE/optee_os/pull/1856 21394ee4938SJerome Forissier[#1826]: https://github.com/OP-TEE/optee_os/pull/1826 21494ee4938SJerome Forissier 2156d57389fSJerome Forissier# OP-TEE - version 2.6.0 2166d57389fSJerome Forissier 2176d57389fSJerome Forissier[Link][github_commits_2_6_0] to a list of all commits between this release and 2186d57389fSJerome Forissierthe previous one (2.5.0). 2196d57389fSJerome Forissier 2206d57389fSJerome Forissier## New features 2216d57389fSJerome Forissier 2226d57389fSJerome Forissier* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]), 2236d57389fSJerome Forissier Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell 2246d57389fSJerome Forissier Armada 70x0/80x0 ([#1807]). 2256d57389fSJerome Forissier* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into 2266d57389fSJerome Forissier Trusted Applications VA space) ([#1631]) 2276d57389fSJerome Forissier* Dump TA call stack on panic ([#1858]) 2286d57389fSJerome Forissier* i.MX: PSCI reset ([#1849]) 2296d57389fSJerome Forissier* plat-ti: AM43xx: suspend/resume support ([#1822]) 2306d57389fSJerome Forissier* QEMU SMP support ([#1820]) 2316d57389fSJerome Forissier* plat-ti: AM43xx: disable TRNG ([#1816]) 2326d57389fSJerome Forissier* plat-ti: enable Secure Data Path by default ([#1815]) 2336d57389fSJerome Forissier* Improve symbolize.py ([#1778], [#1767], [#1766]) 2346d57389fSJerome Forissier* Early TAs (TAs linked in tee.bin) ([#1733]) 2356d57389fSJerome Forissier* Suspend/resume framework for arm32 and imx7d support ([#1729]) 2366d57389fSJerome Forissier* RK322X PSCI version, features and suspend support ([#1720]) 2376d57389fSJerome Forissier* arm32: handle aborts in system mode ([#1703]) 2386d57389fSJerome Forissier* i.MX: add SNVS SRTC support ([#1700]) 2396d57389fSJerome Forissier* GCC7 support ([#1693]) 2406d57389fSJerome Forissier* Improve detection of programming errors in locking code ([#1671], [#1670]) 2416d57389fSJerome Forissier* Support TEE RAM size larger than page directory size ([#1669]) 2426d57389fSJerome Forissier 2436d57389fSJerome Forissier## Removed features 2446d57389fSJerome Forissier 2456d57389fSJerome Forissier* Remove TUI code ([#1842]) 2466d57389fSJerome Forissier 2476d57389fSJerome Forissier## Bug fixes 2486d57389fSJerome Forissier 2496d57389fSJerome Forissier* Add missing synchronization barrier in core_mmu_map_pages() ([#1827]) 2506d57389fSJerome Forissier* Secure storage: REE FS: fix bug in error path ([#1801]) 2516d57389fSJerome Forissier* ASAN bug fixes ([#1799]) 2526d57389fSJerome Forissier* Fix race in core_mmu_user_mapping_is_active() ([#1785]) 2536d57389fSJerome Forissier* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754]) 2546d57389fSJerome Forissier* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748]) 2556d57389fSJerome Forissier* arm32: preserve r12 in native_intr_handler() ([#1682]) 2566d57389fSJerome Forissier* arm64: fix print_kernel_stack() ([#1664]) 2576d57389fSJerome Forissier* benchmark: fix core data-abort ([#1658]) 2586d57389fSJerome Forissier 2596d57389fSJerome Forissier## Security fixes or enhancements 2606d57389fSJerome Forissier 2616d57389fSJerome Forissier* crypto: fix software PRNG weaknesses 2626d57389fSJerome Forissier ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843]) 2636d57389fSJerome Forissier 2646d57389fSJerome Forissier## Tested on 2656d57389fSJerome Forissier 26694ee4938SJerome ForissierThe release was tested successfully on the platforms listed below. 2676d57389fSJerome ForissierIf a platform is not listed, it means the release was not tested on this 2686d57389fSJerome Forissierplatform. 2696d57389fSJerome Forissier 2706d57389fSJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 2716d57389fSJerome Forissier* d02 2726d57389fSJerome Forissier* hikey 2736d57389fSJerome Forissier* hikey-hikey960 2746d57389fSJerome Forissier* imx-mx6ulevk 2756d57389fSJerome Forissier* imx-mx7dsabresd 2766d57389fSJerome Forissier* ls-ls1021a??? (single core) 2776d57389fSJerome Forissier* ls-ls1043ardb 2786d57389fSJerome Forissier* ls-ls1046ardb 2796d57389fSJerome Forissier* mediatek-mt8173 2806d57389fSJerome Forissier* rcar 2816d57389fSJerome Forissier* rockchip-rk322x 2826d57389fSJerome Forissier* rpi3 2836d57389fSJerome Forissier* sam 2846d57389fSJerome Forissier* stm-b2260 2856d57389fSJerome Forissier* stm-cannes 2866d57389fSJerome Forissier* ti-??? 2876d57389fSJerome Forissier* vexpress-fvp 2886d57389fSJerome Forissier* vexpress-juno 2896d57389fSJerome Forissier* vexpress-qemu_armv8a 2906d57389fSJerome Forissier* vexpress-qemu_virt 2916d57389fSJerome Forissier 29294ee4938SJerome Forissier[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...2.6.0 2936d57389fSJerome Forissier[#1858]: https://github.com/OP-TEE/optee_os/issues/1858 2946d57389fSJerome Forissier[#1849]: https://github.com/OP-TEE/optee_os/issues/1849 2956d57389fSJerome Forissier[#1843]: https://github.com/OP-TEE/optee_os/issues/1843 2966d57389fSJerome Forissier[#1842]: https://github.com/OP-TEE/optee_os/issues/1842 2976d57389fSJerome Forissier[#1827]: https://github.com/OP-TEE/optee_os/issues/1827 2986d57389fSJerome Forissier[#1822]: https://github.com/OP-TEE/optee_os/issues/1822 2996d57389fSJerome Forissier[#1820]: https://github.com/OP-TEE/optee_os/issues/1820 3006d57389fSJerome Forissier[#1816]: https://github.com/OP-TEE/optee_os/issues/1816 3016d57389fSJerome Forissier[#1815]: https://github.com/OP-TEE/optee_os/issues/1815 3026d57389fSJerome Forissier[#1807]: https://github.com/OP-TEE/optee_os/issues/1807 3036d57389fSJerome Forissier[#1801]: https://github.com/OP-TEE/optee_os/issues/1801 3046d57389fSJerome Forissier[#1799]: https://github.com/OP-TEE/optee_os/issues/1799 3056d57389fSJerome Forissier[#1787]: https://github.com/OP-TEE/optee_os/issues/1787 3066d57389fSJerome Forissier[#1785]: https://github.com/OP-TEE/optee_os/issues/1785 3076d57389fSJerome Forissier[#1778]: https://github.com/OP-TEE/optee_os/issues/1778 3086d57389fSJerome Forissier[#1767]: https://github.com/OP-TEE/optee_os/issues/1767 3096d57389fSJerome Forissier[#1766]: https://github.com/OP-TEE/optee_os/issues/1766 3106d57389fSJerome Forissier[#1759]: https://github.com/OP-TEE/optee_os/issues/1759 3116d57389fSJerome Forissier[#1754]: https://github.com/OP-TEE/optee_os/issues/1754 3126d57389fSJerome Forissier[#1748]: https://github.com/OP-TEE/optee_os/issues/1748 3136d57389fSJerome Forissier[#1733]: https://github.com/OP-TEE/optee_os/issues/1733 3146d57389fSJerome Forissier[#1729]: https://github.com/OP-TEE/optee_os/issues/1729 3156d57389fSJerome Forissier[#1720]: https://github.com/OP-TEE/optee_os/issues/1720 3166d57389fSJerome Forissier[#1714]: https://github.com/OP-TEE/optee_os/issues/1714 3176d57389fSJerome Forissier[#1703]: https://github.com/OP-TEE/optee_os/issues/1703 3186d57389fSJerome Forissier[#1700]: https://github.com/OP-TEE/optee_os/issues/1700 3196d57389fSJerome Forissier[#1693]: https://github.com/OP-TEE/optee_os/issues/1693 3206d57389fSJerome Forissier[#1684]: https://github.com/OP-TEE/optee_os/issues/1684 3216d57389fSJerome Forissier[#1682]: https://github.com/OP-TEE/optee_os/issues/1682 3226d57389fSJerome Forissier[#1671]: https://github.com/OP-TEE/optee_os/issues/1671 3236d57389fSJerome Forissier[#1670]: https://github.com/OP-TEE/optee_os/issues/1670 3246d57389fSJerome Forissier[#1669]: https://github.com/OP-TEE/optee_os/issues/1669 3256d57389fSJerome Forissier[#1666]: https://github.com/OP-TEE/optee_os/issues/1666 3266d57389fSJerome Forissier[#1664]: https://github.com/OP-TEE/optee_os/issues/1664 3276d57389fSJerome Forissier[#1658]: https://github.com/OP-TEE/optee_os/issues/1658 3286d57389fSJerome Forissier[#1631]: https://github.com/OP-TEE/optee_os/issues/1631 3296d57389fSJerome Forissier[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/ 3306d57389fSJerome Forissier 3315d8aaa04SJerome Forissier# OP-TEE - version 2.5.0 3325d8aaa04SJerome Forissier 3335d8aaa04SJerome Forissier[Link][github_commits_2_5_0] to a list of all commits between this release and 3345d8aaa04SJerome Forissierthe previous one (2.4.0). 3355d8aaa04SJerome Forissier 3365d8aaa04SJerome Forissier## New features 3375d8aaa04SJerome Forissier 3385d8aaa04SJerome Forissier* New supported platform: i.MX7D ([#1639]) 3395d8aaa04SJerome Forissier* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630]) 3405d8aaa04SJerome Forissier* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623]) 3415d8aaa04SJerome Forissier* Add new image format: split image into three separate binaries suitable for 3425d8aaa04SJerome Forissier upcoming ARM Trusted Firmware ([#1589]). 3435d8aaa04SJerome Forissier* Make alignment check configurable ([#1586]) 3445d8aaa04SJerome Forissier* drivers: add TZC380 driver ([#1578]) 3455d8aaa04SJerome Forissier* plat-imx: PSCI CPU off ([#1577]) 3465d8aaa04SJerome Forissier* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592]) 3475d8aaa04SJerome Forissier* Benchmark framework ([#1365]) 3485d8aaa04SJerome Forissier* Dump call stack of user TAs on abort ([#1552]) 3495d8aaa04SJerome Forissier* plat-hikey: enable Secure Data Path ([#1440]) 3505d8aaa04SJerome Forissier* Add interface to load and decrypt/authenticate user TAs ([#1513]) 3515d8aaa04SJerome Forissier* plat-ti: add secure paging support ([#1493]) 3525d8aaa04SJerome Forissier* plat-ti: add OTP hardware key support ([#1492]) 3535d8aaa04SJerome Forissier* Support ARM GICv3 ([#1465]) 3545d8aaa04SJerome Forissier 3555d8aaa04SJerome Forissier## Removed features 3565d8aaa04SJerome Forissier 3575d8aaa04SJerome Forissier* stm-orly2 is not supported anymore ([#1650]) 3585d8aaa04SJerome Forissier* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490]) 3595d8aaa04SJerome Forissier* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity 3605d8aaa04SJerome Forissier (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small 3615d8aaa04SJerome Forissier pages. 3625d8aaa04SJerome Forissier 3635d8aaa04SJerome Forissier## Bug fixes 3645d8aaa04SJerome Forissier 3655d8aaa04SJerome Forissier* Reduce size of non-pageable code ([#1621]) 3665d8aaa04SJerome Forissier* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when 3675d8aaa04SJerome Forissier `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574]) 3685d8aaa04SJerome Forissier* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580]) 3695d8aaa04SJerome Forissier* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519]) 3705d8aaa04SJerome Forissier* Do not touch other bits in GICD_CTLR ([#1508]) 3715d8aaa04SJerome Forissier* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502]) 3725d8aaa04SJerome Forissier* crypto: do not restrict hash size when algorithm is ECDSA ([#1497]) 3735d8aaa04SJerome Forissier 3745d8aaa04SJerome Forissier## Security fixes or enhancements 3755d8aaa04SJerome Forissier 3765d8aaa04SJerome Forissier- crypto: fix RSA key leakage after fault injection attack 3775d8aaa04SJerome Forissier ([OP-TEE-2016-0003][OP-TEE-2016-0003]) ([#1610]) 3785d8aaa04SJerome Forissier* crypto: fix RSA key leakage after side channel attack 3795d8aaa04SJerome Forissier ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610]) 3805d8aaa04SJerome Forissier* Make pager aliased pages not always writable ([#1551]) 3815d8aaa04SJerome Forissier* Support for no-exec RO and RW data ([#1459], [#1550]) 3825d8aaa04SJerome Forissier 3835d8aaa04SJerome Forissier## New issues 3845d8aaa04SJerome Forissier 3855d8aaa04SJerome Forissier* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites 3865d8aaa04SJerome ForissierSCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`) 3875d8aaa04SJerome Forissierand write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not 3885d8aaa04SJerome Forissierbe configured via the compile-time `CFG_` variables. 3895d8aaa04SJerome Forissier* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`) 3905d8aaa04SJerome Forissierfor improved performance. 3915d8aaa04SJerome Forissier* [#1656] qemu_armv8a: init hangs when secure data path and pager are both 3925d8aaa04SJerome Forissier enabled. 3935d8aaa04SJerome Forissier 3945d8aaa04SJerome Forissier## Tested on 3955d8aaa04SJerome Forissier 3965d8aaa04SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 3975d8aaa04SJerome Forissierits default configuration, while _extended_ means it was run successfully 3985d8aaa04SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 3995d8aaa04SJerome Forissierv1.1.0.4. 4005d8aaa04SJerome Forissier 4015d8aaa04SJerome ForissierIf a platform is not listed, it means the release was not tested on this 4025d8aaa04SJerome Forissierplatform. 4035d8aaa04SJerome Forissier 4045d8aaa04SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 4055d8aaa04SJerome Forissier* d02: extended 4065d8aaa04SJerome Forissier* hikey: extended 4075d8aaa04SJerome Forissier* imx-mx6ulevk: standard 4085d8aaa04SJerome Forissier* imx-mx6ullevk: standard 4095d8aaa04SJerome Forissier* imx-mx7dsabresd: standard 4105d8aaa04SJerome Forissier* ls-ls1021atwr: standard 4115d8aaa04SJerome Forissier* mediatek-mt8173: standard 4125d8aaa04SJerome Forissier* rcar-h3: standard 4135d8aaa04SJerome Forissier* rpi3: standard 4145d8aaa04SJerome Forissier* stm-b2260: extended 4155d8aaa04SJerome Forissier* stm-cannes: extended 4165d8aaa04SJerome Forissier* ti-am43xx: standard 4175d8aaa04SJerome Forissier* ti-am57xx: standard 4185d8aaa04SJerome Forissier* ti-dra7xx: standard 4195d8aaa04SJerome Forissier* vexpress-fvp: standard 4205d8aaa04SJerome Forissier* vexpress-juno: standard 4215d8aaa04SJerome Forissier* vexpress-qemu_armv8a: standard 4225d8aaa04SJerome Forissier* vexpress-qemu_virt: standard 4235d8aaa04SJerome Forissier 4245d8aaa04SJerome Forissier[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1 4255d8aaa04SJerome Forissier[#1656]: https://github.com/OP-TEE/optee_os/issues/1656 4265d8aaa04SJerome Forissier[#1650]: https://github.com/OP-TEE/optee_os/pull/1650 4275d8aaa04SJerome Forissier[#1639]: https://github.com/OP-TEE/optee_os/pull/1639 4285d8aaa04SJerome Forissier[#1630]: https://github.com/OP-TEE/optee_os/pull/1630 4295d8aaa04SJerome Forissier[#1623]: https://github.com/OP-TEE/optee_os/pull/1623 4305d8aaa04SJerome Forissier[#1621]: https://github.com/OP-TEE/optee_os/pull/1621 4315d8aaa04SJerome Forissier[#1610]: https://github.com/OP-TEE/optee_os/pull/1610 4325d8aaa04SJerome Forissier[#1592]: https://github.com/OP-TEE/optee_os/pull/1592 4335d8aaa04SJerome Forissier[#1589]: https://github.com/OP-TEE/optee_os/pull/1589 4345d8aaa04SJerome Forissier[#1586]: https://github.com/OP-TEE/optee_os/pull/1586 4355d8aaa04SJerome Forissier[#1580]: https://github.com/OP-TEE/optee_os/pull/1580 4365d8aaa04SJerome Forissier[#1578]: https://github.com/OP-TEE/optee_os/pull/1578 4375d8aaa04SJerome Forissier[#1577]: https://github.com/OP-TEE/optee_os/pull/1577 4385d8aaa04SJerome Forissier[#1574]: https://github.com/OP-TEE/optee_os/pull/1574 4395d8aaa04SJerome Forissier[#1559]: https://github.com/OP-TEE/optee_os/pull/1559 4405d8aaa04SJerome Forissier[#1551]: https://github.com/OP-TEE/optee_os/pull/1551 4415d8aaa04SJerome Forissier[#1550]: https://github.com/OP-TEE/optee_os/pull/1550 4425d8aaa04SJerome Forissier[#1519]: https://github.com/OP-TEE/optee_os/pull/1519 4435d8aaa04SJerome Forissier[#1502]: https://github.com/OP-TEE/optee_os/pull/1502 4445d8aaa04SJerome Forissier[#1365]: https://github.com/OP-TEE/optee_os/pull/1365 4455d8aaa04SJerome Forissier[#1552]: https://github.com/OP-TEE/optee_os/pull/1552 4465d8aaa04SJerome Forissier[#1513]: https://github.com/OP-TEE/optee_os/pull/1513 4475d8aaa04SJerome Forissier[#1508]: https://github.com/OP-TEE/optee_os/pull/1508 4485d8aaa04SJerome Forissier[#1493]: https://github.com/OP-TEE/optee_os/pull/1493 4495d8aaa04SJerome Forissier[#1497]: https://github.com/OP-TEE/optee_os/pull/1497 4505d8aaa04SJerome Forissier[#1492]: https://github.com/OP-TEE/optee_os/pull/1492 4515d8aaa04SJerome Forissier[#1490]: https://github.com/OP-TEE/optee_os/pull/1490 4525d8aaa04SJerome Forissier[#1465]: https://github.com/OP-TEE/optee_os/pull/1465 4535d8aaa04SJerome Forissier[#1459]: https://github.com/OP-TEE/optee_os/pull/1459 4545d8aaa04SJerome Forissier[#1440]: https://github.com/OP-TEE/optee_os/pull/1440 4555d8aaa04SJerome Forissier[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/ 4565d8aaa04SJerome Forissier[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/ 4575d8aaa04SJerome Forissier 458702609a7SJerome Forissier# OP-TEE - version 2.4.0 459702609a7SJerome Forissier 460702609a7SJerome Forissier[Link][github_commits_2_4_0] to a list of all commits between this release and 461702609a7SJerome Forissierthe previous one (2.3.0). 462702609a7SJerome Forissier 463702609a7SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 464702609a7SJerome ForissierSecure Storage internal format for the REE and SQL FS is not compatible due to 465702609a7SJerome Forissiercommits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree 466702609a7SJerome Forissierinterface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree 467702609a7SJerome Forissierinterface"). 468702609a7SJerome Forissier 469702609a7SJerome Forissier## New features 470702609a7SJerome Forissier 471702609a7SJerome Forissier* Add porting guidelines 472702609a7SJerome Forissier 473702609a7SJerome Forissier* Add support for Secure Data Path which allows Client and Trusted Applications 474702609a7SJerome Forissier to share references to secure memory 475702609a7SJerome Forissier 476702609a7SJerome Forissier* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`) 477702609a7SJerome Forissier 478702609a7SJerome Forissier* ARMv7-A: add support for platform services in secure monitor and add these 479702609a7SJerome Forissier services for the DRA7xx platform 480702609a7SJerome Forissier 481702609a7SJerome Forissier* SPI framework and PL022 driver cleanup and improvements 482702609a7SJerome Forissier 483702609a7SJerome Forissier* Use CNTPCT (when available) to add entropy to the software PRNG 484702609a7SJerome Forissier 485702609a7SJerome Forissier* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6) 486702609a7SJerome Forissier 487702609a7SJerome Forissier* DRA7: add TRNG driver, enable GICv2 driver 488702609a7SJerome Forissier 489702609a7SJerome Forissier* Support load address larger than 4G 490702609a7SJerome Forissier 491702609a7SJerome Forissier* libutee: preserve error code when calling TEE_Panic() for easier 492702609a7SJerome Forissier troubleshooting 493702609a7SJerome Forissier 494702609a7SJerome Forissier* Support TA profiling with gprof (-pg compiler switch) 495702609a7SJerome Forissier 496702609a7SJerome Forissier* Optimize the ELF loader for TAs when pager is enabled 497702609a7SJerome Forissier 498702609a7SJerome Forissier* Update documentation 499702609a7SJerome Forissier 500702609a7SJerome Forissier* Add paged secure shared memory that can be transferred between TAs as 501702609a7SJerome Forissier needed 502702609a7SJerome Forissier 503702609a7SJerome Forissier* Introduce MOBJ abstraction 504702609a7SJerome Forissier 505702609a7SJerome Forissier* i.MX6: add PSCI "on" function 506702609a7SJerome Forissier 507702609a7SJerome Forissier* arm32: introduce PSCI framework 508702609a7SJerome Forissier 509702609a7SJerome Forissier## Bug fixes 510702609a7SJerome Forissier 511702609a7SJerome Forissier* Secure storage: improve integrity checking of the REE and SQL filesystems by 512702609a7SJerome Forissier adding a hash tree on the internal data structures. Any external modification 513702609a7SJerome Forissier is detected, except full rollback. Fixes [#1188][issue1188]. 514702609a7SJerome Forissier 515702609a7SJerome Forissier* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on 516702609a7SJerome Forissier the device intended for use by tee-supplicant. Fixes [#1199][issue1199]. 517702609a7SJerome Forissier 518702609a7SJerome Forissier* RPMB: don't try to program the RPMB key by default 519702609a7SJerome Forissier 520702609a7SJerome Forissier* Fix "make clean" error cases 521702609a7SJerome Forissier 522702609a7SJerome Forissier* Fix issue when resetting persistent storage enumerator [#1332][issue1332] 523702609a7SJerome Forissier 524702609a7SJerome Forissier* Fix TA panic when doing AES CTS with specific buffer sizes 525702609a7SJerome Forissier [#1203][issue1203]. 526702609a7SJerome Forissier 527702609a7SJerome Forissier## Known issues 528702609a7SJerome Forissier 529702609a7SJerome Forissier* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353] 530702609a7SJerome Forissier* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE. 531702609a7SJerome Forissier* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]). 532702609a7SJerome Forissier* Travis service (build.git) seems unstable from time to time. 533702609a7SJerome Forissier 534702609a7SJerome Forissier## Tested on 535702609a7SJerome Forissier 536702609a7SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 537702609a7SJerome Forissierits default configuration, while _extended_ means it was run successfully 538702609a7SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 539702609a7SJerome Forissierv1.1.0.4. 540702609a7SJerome Forissier 541702609a7SJerome ForissierIf a platform is not listed, it means the release was not tested on this 542702609a7SJerome Forissierplatform. 543702609a7SJerome Forissier 544702609a7SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 545702609a7SJerome Forissier* d02: extended 546702609a7SJerome Forissier* hikey: extended 547702609a7SJerome Forissier* imx-mx6ulevk: standard 548702609a7SJerome Forissier* ls-ls1021atwr: standard (single core) 549702609a7SJerome Forissier* mediatek-mt8173: standard 550702609a7SJerome Forissier* rcar-h3: standard 551702609a7SJerome Forissier* rpi3: standard 552702609a7SJerome Forissier* stm-b2260: extended 553702609a7SJerome Forissier* ti-dra7xx: standard 554702609a7SJerome Forissier* vexpress-fvp: standard 555702609a7SJerome Forissier* vexpress-juno: standard 556702609a7SJerome Forissier* vexpress-qemu_armv8a: standard 557702609a7SJerome Forissier* vexpress-qemu_virt: standard 558702609a7SJerome Forissier* zynqmp-zc1751_dc1: standard 559702609a7SJerome Forissier* zynqmp-zc1751_dc2: standard 560702609a7SJerome Forissier* zynqmp-zcu102: standard 561702609a7SJerome Forissier 562702609a7SJerome Forissier[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0 563702609a7SJerome Forissier[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332 564702609a7SJerome Forissier[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353 565702609a7SJerome Forissier[build issue131]: https://github.com/OP-TEE/build/issues/131 566702609a7SJerome Forissier[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3 567702609a7SJerome Forissier[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1 568702609a7SJerome Forissier 56928fcee17SJerome Forissier# OP-TEE - version 2.3.0 57028fcee17SJerome Forissier 57128fcee17SJerome Forissier[Link][github_commits_2_3_0] to a list of all commits between this release and 57228fcee17SJerome Forissierthe previous one (2.2.0). 57328fcee17SJerome Forissier 57428fcee17SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 57528fcee17SJerome ForissierSecure Storage internal format for the REE FS is not compatible due to commit 57628fcee17SJerome Forissier[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object"). 57728fcee17SJerome Forissier 57828fcee17SJerome Forissier[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e 57928fcee17SJerome Forissier 58028fcee17SJerome Forissier## New features 58128fcee17SJerome Forissier 58228fcee17SJerome Forissier* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`) 58328fcee17SJerome Forissier 58428fcee17SJerome Forissier* Add debug assertions to spinlocks and mutexes 58528fcee17SJerome Forissier 58628fcee17SJerome Forissier* Add more CP15 register access macros for Cortex-A9 58728fcee17SJerome Forissier 58828fcee17SJerome Forissier* ARMv7-A: redesign secure monitor to make it easier to register services 58928fcee17SJerome Forissier 59028fcee17SJerome Forissier* ARMv7-A: cleanup boot arguments 59128fcee17SJerome Forissier 59228fcee17SJerome Forissier* libutee: extend `TEE_CheckMemoryAccessRights()` with 59328fcee17SJerome Forissier `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE` 59428fcee17SJerome Forissier 59528fcee17SJerome Forissier* plat-hikey: enable SPI by default and add sample test code 59628fcee17SJerome Forissier 59728fcee17SJerome Forissier* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs 59828fcee17SJerome Forissier 59928fcee17SJerome Forissier* Secure storage refactoring 60028fcee17SJerome Forissier - Simplify interface with tee-supplicant. Minimize round trips with normal 60128fcee17SJerome Forissier world, especially by adding a cache for FS RPC payload data. 60228fcee17SJerome Forissier - REE FS: use a single file per object, remove block cache. 60328fcee17SJerome Forissier 60428fcee17SJerome Forissier* Print call stack in panic() 60528fcee17SJerome Forissier 60628fcee17SJerome Forissier## Bug fixes 60728fcee17SJerome Forissier 60828fcee17SJerome Forissier* Fix UUID encoding when communicating with normal world (use big endian 60928fcee17SJerome Forissier mode instead of native endianness). Related to this, the string format 61028fcee17SJerome Forissier for UUIDs has changed in tee-supplicant, so that TA file names now follow 61128fcee17SJerome Forissier the format defined in RFC4122 (a missing hyphen was added). The old format 61228fcee17SJerome Forissier is still supported, but deprecated, and will likely be removed with the 61328fcee17SJerome Forissier next major release. 61428fcee17SJerome Forissier 61528fcee17SJerome Forissier* Drop write permission to non-writable ELF segments after TA loading is 61628fcee17SJerome Forissier complete. 61728fcee17SJerome Forissier 61828fcee17SJerome Forissier* mm: fix confusing memory mapping debug traces 61928fcee17SJerome Forissier 62028fcee17SJerome Forissier* plat-ti: fix issues with MMU mapping 62128fcee17SJerome Forissier 62228fcee17SJerome Forissier* crypto: fix clearing of big numbers 62328fcee17SJerome Forissier 62428fcee17SJerome Forissier* build: allow spaces and double quotes in CFG_ variables 62528fcee17SJerome Forissier 62628fcee17SJerome Forissier* mm: use paddr_t to support both 32- and 64-bit architectures properly. 62728fcee17SJerome Forissier Resolves 32-bit truncation error when pool is at top of 32 bit address 62828fcee17SJerome Forissier space on 64-bit architecture. 62928fcee17SJerome Forissier 63028fcee17SJerome Forissier* plat-stm: support pager. Fix pager on ARMv7-A SMP boards. 63128fcee17SJerome Forissier 63228fcee17SJerome Forissier* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix) 63328fcee17SJerome Forissier 63428fcee17SJerome Forissier* Do not consider TA memref parameters as TA private memory 63528fcee17SJerome Forissier 63628fcee17SJerome Forissier* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC 63728fcee17SJerome Forissier algorithms 63828fcee17SJerome Forissier 63928fcee17SJerome Forissier* fix for 16-way PL310 64028fcee17SJerome Forissier 64128fcee17SJerome Forissier* arm32: fix call stack unwinding (`print_stack()`) 64228fcee17SJerome Forissier 64328fcee17SJerome Forissier* arm32: fix spinlock assembly code 64428fcee17SJerome Forissier 64528fcee17SJerome Forissier* plat-stm, plat-imx: fix SCR initalization 64628fcee17SJerome Forissier 64728fcee17SJerome Forissier* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values 64828fcee17SJerome Forissier other than 7. 64928fcee17SJerome Forissier 65028fcee17SJerome Forissier* mtk-mt8173: fix panic caused by incorrect size of SHMEM 65128fcee17SJerome Forissier 65228fcee17SJerome Forissier* plat-stm: fix RNG driver (non-flat mapping) 65328fcee17SJerome Forissier 65428fcee17SJerome Forissier## Known issues 65528fcee17SJerome Forissier 65628fcee17SJerome Forissier* New issues open on GitHub 65728fcee17SJerome Forissier * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80 65828fcee17SJerome Forissier * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant 65928fcee17SJerome Forissier * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to 66028fcee17SJerome Forissier current meta header 66128fcee17SJerome Forissier * [#1172][issue1172] paddr_t should be larger than 32 bits when 66228fcee17SJerome Forissier CFG_WITH_LPAE is enabled 66328fcee17SJerome Forissier 66428fcee17SJerome Forissier## Tested on 66528fcee17SJerome Forissier 66628fcee17SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 66728fcee17SJerome Forissierits default configuration, while _extended_ means it was run successfully 66828fcee17SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 66928fcee17SJerome Forissierv1.1.0.4. 67028fcee17SJerome Forissier 67128fcee17SJerome ForissierIf a platform is not listed, it means the release was not tested on this 67228fcee17SJerome Forissierplatform. 67328fcee17SJerome Forissier 67428fcee17SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 67528fcee17SJerome Forissier* d02: extended 67628fcee17SJerome Forissier* hikey: extended 67728fcee17SJerome Forissier* imx-mx6ulevk: standard 67828fcee17SJerome Forissier* ls-ls1021atwr: standard 67928fcee17SJerome Forissier* mediatek-mt8173: standard 68028fcee17SJerome Forissier* rcar-h3: standard 68128fcee17SJerome Forissier* rpi3: standard 68228fcee17SJerome Forissier* stm-b2260: extended 68328fcee17SJerome Forissier* stm-cannes: extended 68428fcee17SJerome Forissier* ti-dra7xx: standard 68528fcee17SJerome Forissier* vexpress-fvp: standard 68628fcee17SJerome Forissier* vexpress-juno: standard 68728fcee17SJerome Forissier* vexpress-qemu_armv8a: standard 68828fcee17SJerome Forissier* vexpress-qemu_virt: extended 68928fcee17SJerome Forissier* zynqmp-zcu102: standard 69028fcee17SJerome Forissier 69128fcee17SJerome Forissier[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0 69228fcee17SJerome Forissier[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172 69328fcee17SJerome Forissier[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188 69428fcee17SJerome Forissier[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199 69528fcee17SJerome Forissier[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203 69628fcee17SJerome Forissier 697c0c5d399SJerome Forissier# OP-TEE - version 2.2.0 698c0c5d399SJerome Forissier 699c0c5d399SJerome Forissier[Link][github_commits_2_2_0] to a list of all commits between this release and 700c0c5d399SJerome Forissierthe previous one (2.1.0). 701c0c5d399SJerome Forissier 702c0c5d399SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 703c0c5d399SJerome ForissierSecure Storage internal format is not compatible due to commit 704c0c5d399SJerome Forissier[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key"). 705c0c5d399SJerome Forissier 706c0c5d399SJerome Forissier[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75 707c0c5d399SJerome Forissier 708c0c5d399SJerome Forissier## New features 709c0c5d399SJerome Forissier 710c0c5d399SJerome Forissier* New supported platforms: 711c0c5d399SJerome Forissier * Freescale i.MX6 Quad SABRE Lite & SD 712c0c5d399SJerome Forissier * HiSilicon D02 713c0c5d399SJerome Forissier * Raspberry Pi3 714c0c5d399SJerome Forissier * Renesas RCAR H3 715c0c5d399SJerome Forissier * STMicroelectronics b2260 - h410 716c0c5d399SJerome Forissier 717c0c5d399SJerome Forissier* Pager: Support paging of read/write pages by encrypting them with AES-GCM. 718c0c5d399SJerome Forissier Support paging of user TAs. Add global setting for TZSRAM size 719c0c5d399SJerome Forissier (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K. 720c0c5d399SJerome Forissier 721c0c5d399SJerome Forissier* Support for more than 8 CPU cores 722c0c5d399SJerome Forissier 723c0c5d399SJerome Forissier* Added SPI framework and PL022 driver 724c0c5d399SJerome Forissier 725c0c5d399SJerome Forissier* GPIO: framework supports multiple instances, PL061 driver now has get/set 726c0c5d399SJerome Forissier interrupt and mode control functions 727c0c5d399SJerome Forissier 728c0c5d399SJerome Forissier* Secure storage: Encrypt the File Encryption Key with a TA-specific key for 729c0c5d399SJerome Forissier better TA isolation. Add build-time and run-time support for multiple storage 730c0c5d399SJerome Forissier backends. Add SQLite backend. 731c0c5d399SJerome Forissier 732c0c5d399SJerome Forissier* Trusted User Interface: some code is introduced to support the implementation 733c0c5d399SJerome Forissier of TUI. This includes: a generic framebuffer driver, display and serial 734c0c5d399SJerome Forissier abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2 735c0c5d399SJerome Forissier mouse. 736c0c5d399SJerome Forissier 737c0c5d399SJerome Forissier* AES acceleration using ARMv8-A Cryptographic Extensions instructions is 738c0c5d399SJerome Forissier now supported in AArch32 mode 739c0c5d399SJerome Forissier 740c0c5d399SJerome Forissier* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address 741c0c5d399SJerome Forissier 742c0c5d399SJerome Forissier* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default. 743c0c5d399SJerome Forissier 744c0c5d399SJerome Forissier* Add macros to unwind and print the call stack of TEE core 745c0c5d399SJerome Forissier 746c0c5d399SJerome Forissier* Libtomcrypt: sync with the latest `develop` branch. 747c0c5d399SJerome Forissier 748c0c5d399SJerome Forissier* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a) 749c0c5d399SJerome Forissier 750c0c5d399SJerome Forissier* Rework assertions and TEE core panics and properly honor NDEBUG 751c0c5d399SJerome Forissier 752c0c5d399SJerome Forissier## Bug fixes 753c0c5d399SJerome Forissier 754c0c5d399SJerome Forissier* Fix incorrect algorithm passed to cipher.final() 755c0c5d399SJerome Forissier 756c0c5d399SJerome Forissier* scripts: support Python 2.x and 3.x 757c0c5d399SJerome Forissier 758c0c5d399SJerome Forissier* Secure storage: Add proper locking to support concurrent access. Fix sign 759c0c5d399SJerome Forissier extension bug with offset parameter of syscall storage_obj_seek which could 760c0c5d399SJerome Forissier cause errors in Aarch32 mode. Fix reading beyond end of file. 761c0c5d399SJerome Forissier 762c0c5d399SJerome Forissier* Aarch64: mask all maskable exceptions before doing a normal return from call. 763c0c5d399SJerome Forissier 764c0c5d399SJerome Forissier* Device Tree: add no-map property to OP-TEE node in reserved-memory. 765c0c5d399SJerome Forissier 766c0c5d399SJerome Forissier* LibTomcrypt: fix CVE-2016-6129 767c0c5d399SJerome Forissier 768c0c5d399SJerome Forissier## Known issues 769c0c5d399SJerome Forissier 770c0c5d399SJerome Forissier* New issues open on GitHub 771c0c5d399SJerome Forissier * [#1093][issue1093] rcar-h3: xtest 6010 hangs 772c0c5d399SJerome Forissier * [#1092][issue1092] rcar-h3: xtest 4010 fails 773c0c5d399SJerome Forissier * [#1081][issue1081] Bad mapping of TA secure memref parameters 774c0c5d399SJerome Forissier * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER 775c0c5d399SJerome Forissier * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK()) 776c0c5d399SJerome Forissier 777c0c5d399SJerome Forissier## Tested on 778c0c5d399SJerome Forissier 779c0c5d399SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 780c0c5d399SJerome Forissierits default configuration, while _extended_ means it was run successfully 781c0c5d399SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 782c0c5d399SJerome Forissierv1.1.0.4. 783c0c5d399SJerome Forissier 784c0c5d399SJerome ForissierIf a platform is not listed, it means the release was not tested on this 785c0c5d399SJerome Forissierplatform. 786c0c5d399SJerome Forissier 787c0c5d399SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 788c0c5d399SJerome Forissier* d02: extended 789c0c5d399SJerome Forissier* hikey: extended 790c0c5d399SJerome Forissier* imx-mx6qsabrelite: standard 791c0c5d399SJerome Forissier* imx-mx6qsabresd: standard 792c0c5d399SJerome Forissier* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093] 793c0c5d399SJerome Forissier* rpi3: standard 794c0c5d399SJerome Forissier* stm-b2260: standard 795c0c5d399SJerome Forissier* stm-cannes: standard 796c0c5d399SJerome Forissier* ti-dra7xx: standard 797c0c5d399SJerome Forissier* vexpress-fvp: standard 798c0c5d399SJerome Forissier* vexpress-juno: standard 799c0c5d399SJerome Forissier* vexpress-qemu_armv8a: standard 800c0c5d399SJerome Forissier* vexpress-qemu_virt: extended 801c0c5d399SJerome Forissier* zynqmp-zcu102: standard 802c0c5d399SJerome Forissier 803c0c5d399SJerome Forissier[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0 804c0c5d399SJerome Forissier[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081 805c0c5d399SJerome Forissier[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071 806c0c5d399SJerome Forissier[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069 807c0c5d399SJerome Forissier[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092 808c0c5d399SJerome Forissier[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093 809c0c5d399SJerome Forissier 810ac3cc110SPascal Brand# OP-TEE - version 2.1.0 811a0cd5d60SPascal Brand 812ac3cc110SPascal Brand## New features 813ac3cc110SPascal Brand 814ac3cc110SPascal Brand* New supported platforms: 815ac3cc110SPascal Brand * Xilinx Zynq UltraScale+ MPSOC 816ac3cc110SPascal Brand * Spreadtrum SC9860 817ac3cc110SPascal Brand 818ac3cc110SPascal Brand* GCC5 support 819ac3cc110SPascal Brand 820ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual 821ac3cc110SPascal Brand addresses was linear until this release, meaning the virtual addresses 822ac3cc110SPascal Brand were equal to the physical addresses. This is no more the case in this 823ac3cc110SPascal Brand release. 824ac3cc110SPascal Brand 825ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an 826ac3cc110SPascal Brand implementation of Trusted UI. 827ac3cc110SPascal Brand 828ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB 829ac3cc110SPascal Brand implementations simultaneously. 830ac3cc110SPascal Brand 831ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey. 832ac3cc110SPascal Brand Please refer to the README in that repo for instructions. 833ac3cc110SPascal Brand 834ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an 835ac3cc110SPascal Brand [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit). 836ac3cc110SPascal Brand Please refer to the README in that repo for instructions. 837ac3cc110SPascal Brand 838ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and 839ac3cc110SPascal Brand previous release. 840ac3cc110SPascal Brand 841ac3cc110SPascal Brand 842ac3cc110SPascal Brand## Tested on 843ac3cc110SPascal BrandDefinitions: 844ac3cc110SPascal Brand 845ac3cc110SPascal Brand| Type | Meaning | 846ac3cc110SPascal Brand| ---- | ------- | 847ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. | 848ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 849ac3cc110SPascal Brand 850ac3cc110SPascal Brand* ARM Juno Board (vexpress-juno), standard. 851ac3cc110SPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 852ac3cc110SPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37) 853ac3cc110SPascal Brand* FSL i.MX6 UltraLite EVK (imx), standard. 854ac3cc110SPascal Brand* FSL ls1021a (ls-ls1021atwr), standard tests. 855ac3cc110SPascal Brand* HiKey (hikey), standard + extended tests. 856ac3cc110SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 857ac3cc110SPascal Brand* Xilinx Zynq UltraScale+ MPSOC, standard tests 858ac3cc110SPascal Brand 859ac3cc110SPascal BrandNote that the following platform has not been tested: 860ac3cc110SPascal Brand* MTK8173-EVB (mediatek-mt8173) 861ac3cc110SPascal Brand 862ac3cc110SPascal Brand 863ac3cc110SPascal Brand## Known issues 864ac3cc110SPascal Brand* Issue(s) open on GitHub 865ac3cc110SPascal Brand * [#868][pr868]: python-wand font generation sometimes times out 866ac3cc110SPascal Brand * [#863][pr863]: "double free or corruption" error when building optee_os 867ac3cc110SPascal Brand * [#858][pr858]: UUIDs in binary format have wrong endinanness 868ac3cc110SPascal Brand * [#857][pr857]: Formatting of UUIDs is incorrect 869ac3cc110SPascal Brand * [#847][pr847]: optee_os panic(TEE-CORE: Assertion) 870ac3cc110SPascal Brand * [#838][pr838]: TUI font rendering is _very_ slow 871ac3cc110SPascal Brand * [#814][pr814]: Persistent objects : save informations after close 872ac3cc110SPascal Brand * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART 873ac3cc110SPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 874ac3cc110SPascal Brand 875ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0 876ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868 877ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863 878ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858 879ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857 880ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847 881ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838 882ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814 883ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665 884ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest 885ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee 886ac3cc110SPascal Brand 887ac3cc110SPascal Brand# OP-TEE - version 2.0.0 888a0cd5d60SPascal Brand 889a0cd5d60SPascal Brand## New features 890a0cd5d60SPascal Brand 891a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being 892a0cd5d60SPascal Brand [upstreamed][gendrv_v9]. 893a0cd5d60SPascal Brand In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used. 894a0cd5d60SPascal Brand Instead, linux v4.5 is being patched using the proposed Generic TEE Driver, 895a0cd5d60SPascal Brand as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee] 896a0cd5d60SPascal Brand 897a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition 898a0cd5d60SPascal Brand of an eMMC device. Check the [full documentation][rpmb_doc] 899a0cd5d60SPascal Brand 900a0cd5d60SPascal Brand* Hard-float ABI is now available. 901a0cd5d60SPascal Brand 902a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and 903a0cd5d60SPascal Brand previous release. 904a0cd5d60SPascal Brand 905a0cd5d60SPascal Brand 906a0cd5d60SPascal Brand## Tested on 907a0cd5d60SPascal BrandDefinitions: 908a0cd5d60SPascal Brand 909a0cd5d60SPascal Brand| Type | Meaning | 910a0cd5d60SPascal Brand| ---- | ------- | 911a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. | 912a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 913a0cd5d60SPascal Brand 914a0cd5d60SPascal Brand* ARM Juno Board (vexpress-juno), standard. 915a0cd5d60SPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 916a0cd5d60SPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40) 917eb00c7b9SPascal Brand* FSL ls1021a (ls-ls1021atwr), standard. 918a0cd5d60SPascal Brand* HiKey (hikey), standard. 919a0cd5d60SPascal Brand* MTK8173-EVB (mediatek-mt8173), standard. 920a0cd5d60SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 921a0cd5d60SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 922a0cd5d60SPascal Brand 923a0cd5d60SPascal Brand## Known issues 924a0cd5d60SPascal Brand* Issue(s) open on GitHub 925a0cd5d60SPascal Brand * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant 926a0cd5d60SPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 927a0cd5d60SPascal Brand 928a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0 929a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md 930a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver 931a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205 932a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee 933a0cd5d60SPascal Brand 934a0cd5d60SPascal Brand 935c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0 936c5bbfb4dSPascal Brand 937c5bbfb4dSPascal Brand 938c5bbfb4dSPascal Brand## New features 939c5bbfb4dSPascal Brand 940c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA. 941c5bbfb4dSPascal Brand 942c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in 943c5bbfb4dSPascal Brand AArch32 and/or in AArch64 in case the core is compiled in AArch64. 944c5bbfb4dSPascal Brand An example can be found in HiKey configuration file. Using the following 945c5bbfb4dSPascal Brand excerpt code, the user TA libraries are compiled in both AArch32 and 946c5bbfb4dSPascal Brand AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and 947c5bbfb4dSPascal Brand `out/arm-plat-hikey/export-ta_arm64` 948c5bbfb4dSPascal Brand 949c5bbfb4dSPascal Brand``` 950c5bbfb4dSPascal Brand ta-targets = ta_arm32 951c5bbfb4dSPascal Brand ta-targets += ta_arm64 952c5bbfb4dSPascal Brand``` 953c5bbfb4dSPascal Brand 954c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on 955c5bbfb4dSPascal Brand several cores. 956c5bbfb4dSPascal Brand 957c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013), 958c5bbfb4dSPascal Brand floating point tests (xtest 1006 and os_test TA) and corruption 959c5bbfb4dSPascal Brand file storage (xtest 20000) 960c5bbfb4dSPascal Brand 961c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and 962c5bbfb4dSPascal Brand previous release. 963c5bbfb4dSPascal Brand 964c5bbfb4dSPascal Brand 965c5bbfb4dSPascal Brand## Tested on 966c5bbfb4dSPascal BrandDefinitions: 967c5bbfb4dSPascal Brand 968c5bbfb4dSPascal Brand| Type | Meaning | 969c5bbfb4dSPascal Brand| ---- | ------- | 970c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. | 971c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 972c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 973c5bbfb4dSPascal Brand 974c5bbfb4dSPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 975c5bbfb4dSPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40) 976c5bbfb4dSPascal Brand* HiKey (hikey), standard + extended tests. 977c5bbfb4dSPascal Brand* MT8173 (mediatek), standard tests. 978c5bbfb4dSPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 979c5bbfb4dSPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 980c5bbfb4dSPascal Brand 981c5bbfb4dSPascal Brand## Known issues 982c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection 983c5bbfb4dSPascal Brand is not implemented yet. 984c5bbfb4dSPascal Brand 985c5bbfb4dSPascal Brand* Issue(s) open on GitHub 986c5bbfb4dSPascal Brand * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant 987c5bbfb4dSPascal Brand * [#296][pr296]: Connecting RPMB to the storage APIs. 988c5bbfb4dSPascal Brand * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries 989c5bbfb4dSPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 990c5bbfb4dSPascal Brand 991c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40 992c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506 993c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0 994c5bbfb4dSPascal Brand 995c5bbfb4dSPascal Brand 996c5bbfb4dSPascal Brand 9978a7ee79dSPascal Brand# OP-TEE - version 1.0.0 9988a7ee79dSPascal Brand 9998a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to 10008a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO] 10018a7ee79dSPascal Brand(Developer Certificate of Origin) instead. 10028a7ee79dSPascal Brand 10038a7ee79dSPascal Brand 10048a7ee79dSPascal Brand## New features 10058a7ee79dSPascal Brand 10068a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti) 10078a7ee79dSPascal Brand 10088a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1, 10098a7ee79dSPascal Brand including ECC algorithms. 10108a7ee79dSPascal Brand 10118a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations 10128a7ee79dSPascal Brand are made atomic in order to prevent inconsistencies in case of errors 10138a7ee79dSPascal Brand during the storage operations. [Slides][LCStorage] describing the 10148a7ee79dSPascal Brand Secure Storage have been presented at the Linaro Connect SFO15. 10158a7ee79dSPascal Brand 10168a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a 10178a7ee79dSPascal Brand [signed ELF format][elf] 10188a7ee79dSPascal Brand 10198a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os. 10208a7ee79dSPascal Brand 10218a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support. 10228a7ee79dSPascal Brand 10238a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released. 10248a7ee79dSPascal Brand 10258a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build] 10268a7ee79dSPascal Brand to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts 10278a7ee79dSPascal Brand that used to be in optee_os have been removed, except for Juno board. 10288a7ee79dSPascal Brand 102995422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and 103095422146SPascal Brand previous release. 103195422146SPascal Brand 10328a7ee79dSPascal Brand 10338a7ee79dSPascal Brand## Tested on 10348a7ee79dSPascal BrandDefinitions: 10358a7ee79dSPascal Brand 10368a7ee79dSPascal Brand| Type | Meaning | 10378a7ee79dSPascal Brand| ---- | ------- | 10388a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. | 10398a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 10408a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 10418a7ee79dSPascal Brand 10428a7ee79dSPascal Brand* ARM Juno Board (vexpress-juno), standard + extended tests. 10438a7ee79dSPascal Brand* Foundation Models (vexpress-fvp), standard tests. 10448a7ee79dSPascal Brand* HiKey (hikey), standard + extended tests. 10458a7ee79dSPascal Brand* MT8173 (mediatek), standard tests. 10468a7ee79dSPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 10478a7ee79dSPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 10488a7ee79dSPascal Brand 104995422146SPascal Brand## Known issues 105095422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection 105195422146SPascal Brand is not implemented yet. 105295422146SPascal Brand 105395422146SPascal Brand* Issue(s) open on GitHub 105495422146SPascal Brand * [#210][pr210]: libteec.so 32-bit does not communicate well 105595422146SPascal Brand with 64-bit kernel module 105695422146SPascal Brand * [#296][pr296]: Connecting RPMB to the storage APIs. 105795422146SPascal Brand * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries 105895422146SPascal Brand * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2) 105995422146SPascal Brand 106095422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210 106195422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296 106295422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493 106395422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494 106495422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0 10658a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions 10668a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee 10678a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling 10688a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format 10698a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test 10708a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest 10718a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build 10728a7ee79dSPascal Brand 107395422146SPascal Brand 107495422146SPascal Brand 107511d59085SPascal Brand# OP-TEE - version 0.3.0 107611d59085SPascal Brand 107711d59085SPascal Brand## New features 107811d59085SPascal Brand 107911d59085SPascal Brand* Add hardware support for 108011d59085SPascal Brand * Mediatek MT8173 Board, ARMv8-A (plat-mediatek) 108111d59085SPascal Brand * Hisilicon HiKey Board, ARMv8-A (plat-hikey) 108211d59085SPascal Brand* AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y` 108311d59085SPascal Brand* Secure Storage: Data can be encrypted prior to their storage in the non-secure. 108411d59085SPascal Brand Build is configured using `CFG_ENC_FS=y` 108511d59085SPascal Brand* A generic boot scheme can be used. Boot configuration is commonalized. This helps 108611d59085SPascal Brand new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm 108711d59085SPascal Brand and plat-vexpress. 108811d59085SPascal Brand 108911d59085SPascal Brand## Tested on 109011d59085SPascal BrandDefinitions: 109111d59085SPascal Brand 109211d59085SPascal Brand| Type | Meaning | 109311d59085SPascal Brand| ---- | ------- | 109411d59085SPascal Brand| Standard tests | The optee_test project. | 109511d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 109611d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 109711d59085SPascal Brand 109811d59085SPascal Brand* ARM Juno Board (vexpress-juno), standard tests. 109911d59085SPascal Brand* Foundation Models (vexpress-fvp), standard tests. 110011d59085SPascal Brand* HiKey (hikey), standard tests. 110111d59085SPascal Brand* MT8173 (mediatek), standard tests. 110211d59085SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 110311d59085SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 110411d59085SPascal Brand 110511d59085SPascal Brand------------------------------------------- 110611d59085SPascal Brand 1107f5117af2SPascal Brand# OP-TEE - version 0.2.0 1108759cc499SJoakim Bech 1109f5117af2SPascal Brand## New features 1110f5117af2SPascal Brand 1111f5117af2SPascal Brand### Linux Driver Refactoring 1112f5117af2SPascal Brand 1113f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts: 1114f5117af2SPascal Brand* optee.ko, the generic Linux driver. It contains all functionality 1115f5117af2SPascal Brand common to all backends. 1116f5117af2SPascal Brand* optee_armtz.ko, a specific backend dedicated to the TrustZone optee. 1117f5117af2SPascal Brand It depends on optee.ko. 1118f5117af2SPascal Brand 1119f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using 1120f5117af2SPascal Brand 1121f5117af2SPascal Brand modprobe optee_armtz 1122f5117af2SPascal Brand 1123f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded. 1124f5117af2SPascal Brand 1125f5117af2SPascal Brand### Misc new features 1126f5117af2SPascal Brand* support PL310 lock down at TEE boot 1127f5117af2SPascal Brand* add 64bits support (division / print) 1128f5117af2SPascal Brand 1129f5117af2SPascal Brand## Tested on 1130f5117af2SPascal BrandDefinitions: 1131f5117af2SPascal Brand 1132f5117af2SPascal Brand| Type | Meaning | 1133f5117af2SPascal Brand| ---- | ------- | 1134f5117af2SPascal Brand| Standard tests | The optee_test project. | 1135f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 1136f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 1137f5117af2SPascal Brand 1138f5117af2SPascal Brand* ARM Juno Board (vexpress-juno), standard tests + extended tests. 1139f5117af2SPascal Brand 1140f5117af2SPascal Brand* Foundation Models (vexpress-fvp), standard + extended tests. 1141f5117af2SPascal Brand 1142f5117af2SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 1143f5117af2SPascal Brand 1144f5117af2SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 1145f5117af2SPascal Brand 1146f5117af2SPascal Brand 114728fcee17SJerome Forissier## Issues resolved since last release 1148f5117af2SPascal Brand* Fix user TA trace issue, in order each TA is able to select its own trace level 1149f5117af2SPascal Brand 1150f5117af2SPascal Brand 1151f5117af2SPascal Brand------------------------------------------- 1152f5117af2SPascal Brand# OP-TEE - version 0.1.0 1153f5117af2SPascal Brand 1154f5117af2SPascal Brand## New features 1155759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will 1156759cc499SJoakim Bechfind a link that present you all commits between the current and previous 1157759cc499SJoakim Bechrelease tag. 1158759cc499SJoakim Bech 1159759cc499SJoakim Bech* GlobalPlatform Client API v1.0 support. 1160759cc499SJoakim Bech 1161759cc499SJoakim Bech* GlobalPlatform Internal API v1.0 support. 1162759cc499SJoakim Bech 1163759cc499SJoakim Bech* GlobalPlatform Secure Elements v1.0 support. 1164759cc499SJoakim Bech 1165759cc499SJoakim Bech* Add hardware support for 1166759cc499SJoakim Bech 1167759cc499SJoakim Bech * Allwinner A80, ARMv7-A. 1168759cc499SJoakim Bech 1169759cc499SJoakim Bech * ARM Juno Board, ARMv8-A. 1170759cc499SJoakim Bech 1171759cc499SJoakim Bech * Foundation Models, ARMv8-A. 1172759cc499SJoakim Bech 1173759cc499SJoakim Bech * Fast Models, ARMv8-A. 1174759cc499SJoakim Bech 1175759cc499SJoakim Bech * QEMU, ARMv7-A. 1176759cc499SJoakim Bech 1177759cc499SJoakim Bech * STM Cannes, ARMv7-A. 1178759cc499SJoakim Bech 1179759cc499SJoakim Bech * STM Orly2, ARMv7-A. 1180759cc499SJoakim Bech 1181759cc499SJoakim Bech* Add LibTomCrypt as the default software cryptographic library. 1182759cc499SJoakim Bech 1183759cc499SJoakim Bech* Add cryptographic abstraction layer in on secure side to ease the use of 1184759cc499SJoakim Bech other cryptographic software libraries or adding support for hardware 1185759cc499SJoakim Bech acceleration. 1186759cc499SJoakim Bech 1187759cc499SJoakim Bech* Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2. 1188759cc499SJoakim Bech 1189759cc499SJoakim Bech* SHA-1 and SHA-256 ARMv8-A crypto extension implementation. 1190759cc499SJoakim Bech 1191759cc499SJoakim Bech* Enabled paging support in OP-TEE OS. 1192759cc499SJoakim Bech 1193759cc499SJoakim Bech* Add support for xtest (both standard and extended) in QEMU and FVP setup 1194759cc499SJoakim Bech scripts. 1195759cc499SJoakim Bech 1196759cc499SJoakim Bech* Add documentation for the OS design, cryptographic abstraction layer, secure 1197759cc499SJoakim Bech elements design, the build system, GitHub usage, key derivation extensions, 1198759cc499SJoakim Bech ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within 1199759cc499SJoakim Bech OP-TEE. 1200759cc499SJoakim Bech 1201759cc499SJoakim Bech* Integrate support for Travis CI. 1202759cc499SJoakim Bech 1203759cc499SJoakim Bech* [Link][github_commits_0_1_0] to a list of all commits between this and 1204759cc499SJoakim Bech previous release. 1205759cc499SJoakim Bech 1206759cc499SJoakim Bech 1207f5117af2SPascal Brand## Tested on 1208759cc499SJoakim BechDefinitions: 1209759cc499SJoakim Bech 1210759cc499SJoakim Bech| Type | Meaning | 1211759cc499SJoakim Bech| ---- | ------- | 1212759cc499SJoakim Bech| Standard tests | The optee_test project. | 1213759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. | 1214759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 1215759cc499SJoakim Bech 1216759cc499SJoakim Bech* Allwinner A80 (plat-sunxi), hello world test. 1217759cc499SJoakim Bech 1218759cc499SJoakim Bech* ARM Juno Board (vexpress-juno), standard tests. 1219759cc499SJoakim Bech 1220759cc499SJoakim Bech* Foundation Models (plat-vexpress-fvp), standard + extended tests 1221759cc499SJoakim Bech 1222759cc499SJoakim Bech* QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements 1223759cc499SJoakim Bech tested separately). 1224759cc499SJoakim Bech 1225759cc499SJoakim Bech* STM Cannes (plat-stm-cannes), standard + extended tests. 1226759cc499SJoakim Bech 1227759cc499SJoakim Bech 122828fcee17SJerome Forissier## Issues resolved since last release 1229759cc499SJoakim BechN/A since this is the first release tag on OP-TEE. 1230759cc499SJoakim Bech 1231759cc499SJoakim Bech 1232f5117af2SPascal Brand## Known issues 1233759cc499SJoakim Bech* Storage is implemented, but not "Secure storage", meaning that a client 1234759cc499SJoakim Bech needs to do encrypt files on their own before storing the files. 1235759cc499SJoakim Bech 1236759cc499SJoakim Bech* Issue(s) open on GitHub 1237759cc499SJoakim Bech * [#95][pr95]: An error about building the test code of libtomcrypt. 1238759cc499SJoakim Bech 1239759cc499SJoakim Bech * [#149][pr149]: when testing optee os with arm trusted firmware (I 1240759cc499SJoakim Bech utilized optee os tee.bin as bl32 image) on juno platform, I got an 1241759cc499SJoakim Bech error. 1242759cc499SJoakim Bech 1243759cc499SJoakim Bech * [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on 1244759cc499SJoakim Bech user-supplied TEE_Attributes. 1245759cc499SJoakim Bech 1246759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world 1247759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884 1248759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95 1249759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149 1250759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161 1251759cc499SJoakim Bech 12527583c59eSCedric Chaumont* Global Platform Device Internal Core API v1.1 12537583c59eSCedric Chaumont * [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2) 12547583c59eSCedric Chaumont * [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2) 1255