xref: /optee_os/CHANGELOG.md (revision 023e33656e2c9557ce50ad63a98b2e2c9b51c118)
1*023e3365SJerome Forissier# OP-TEE - version 3.8.0 (2020-01-24)
2*023e3365SJerome Forissier
3*023e3365SJerome Forissier- Links to the release pages, commits and pull requests merged into this release for:
4*023e3365SJerome Forissier  - 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]
5*023e3365SJerome Forissier  - 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]
6*023e3365SJerome Forissier  - 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]
7*023e3365SJerome Forissier  - 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]
8*023e3365SJerome Forissier  - 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]
9*023e3365SJerome Forissier
10*023e3365SJerome Forissier
11*023e3365SJerome Forissier[OP_TEE_optee_os_release_3_8_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.8.0
12*023e3365SJerome Forissier[OP_TEE_optee_os_commits_3_8_0]: https://github.com/OP-TEE/optee_os/compare/3.7.0...3.8.0
13*023e3365SJerome Forissier[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
14*023e3365SJerome Forissier
15*023e3365SJerome Forissier[OP_TEE_optee_client_release_3_8_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.8.0
16*023e3365SJerome Forissier[OP_TEE_optee_client_commits_3_8_0]: https://github.com/OP-TEE/optee_client/compare/3.7.0...3.8.0
17*023e3365SJerome Forissier[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
18*023e3365SJerome Forissier
19*023e3365SJerome Forissier[OP_TEE_optee_test_release_3_8_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.8.0
20*023e3365SJerome Forissier[OP_TEE_optee_test_commits_3_8_0]: https://github.com/OP-TEE/optee_test/compare/3.7.0...3.8.0
21*023e3365SJerome Forissier[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
22*023e3365SJerome Forissier
23*023e3365SJerome Forissier[OP_TEE_build_release_3_8_0]: https://github.com/OP-TEE/build/releases/tag/3.8.0
24*023e3365SJerome Forissier[OP_TEE_build_commits_3_8_0]: https://github.com/OP-TEE/build/compare/3.7.0...3.8.0
25*023e3365SJerome Forissier[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
26*023e3365SJerome Forissier
27*023e3365SJerome Forissier[linaro_swg_optee_examples_release_3_8_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.8.0
28*023e3365SJerome Forissier[linaro_swg_optee_examples_commits_3_8_0]: https://github.com/linaro-swg/optee_examples/compare/3.7.0...3.8.0
29*023e3365SJerome Forissier[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
30*023e3365SJerome Forissier
31a2fa5018SJoakim Bech# OP-TEE - version 3.7.0 (2019-10-18)
32a2fa5018SJoakim Bech
33a2fa5018SJoakim Bech- Links to the release pages, commits and pull requests merged into this release for:
34a2fa5018SJoakim 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]
35a2fa5018SJoakim 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]
36a2fa5018SJoakim 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]
37a2fa5018SJoakim 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]
38a2fa5018SJoakim 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]
39a2fa5018SJoakim Bech
40a2fa5018SJoakim Bech
41a2fa5018SJoakim Bech[OP_TEE_optee_os_release_3_7_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.7.0
42a2fa5018SJoakim Bech[OP_TEE_optee_os_commits_3_7_0]: https://github.com/OP-TEE/optee_os/compare/3.6.0...3.7.0
43a2fa5018SJoakim 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
44a2fa5018SJoakim Bech
45a2fa5018SJoakim Bech[OP_TEE_optee_client_release_3_7_0]: https://github.com/OP-TEE/optee_client/releases/tag/3.7.0
46a2fa5018SJoakim Bech[OP_TEE_optee_client_commits_3_7_0]: https://github.com/OP-TEE/optee_client/compare/3.6.0...3.7.0
47a2fa5018SJoakim 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
48a2fa5018SJoakim Bech
49a2fa5018SJoakim Bech[OP_TEE_optee_test_release_3_7_0]: https://github.com/OP-TEE/optee_test/releases/tag/3.7.0
50a2fa5018SJoakim Bech[OP_TEE_optee_test_commits_3_7_0]: https://github.com/OP-TEE/optee_test/compare/3.6.0...3.7.0
51a2fa5018SJoakim 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
52a2fa5018SJoakim Bech
53a2fa5018SJoakim Bech[OP_TEE_build_release_3_7_0]: https://github.com/OP-TEE/build/releases/tag/3.7.0
54a2fa5018SJoakim Bech[OP_TEE_build_commits_3_7_0]: https://github.com/OP-TEE/build/compare/3.6.0...3.7.0
55a2fa5018SJoakim 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
56a2fa5018SJoakim Bech
57a2fa5018SJoakim Bech[linaro_swg_optee_examples_release_3_7_0]: https://github.com/linaro-swg/optee_examples/releases/tag/3.7.0
58a2fa5018SJoakim Bech[linaro_swg_optee_examples_commits_3_7_0]: https://github.com/linaro-swg/optee_examples/compare/3.6.0...3.7.0
59a2fa5018SJoakim 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
60a2fa5018SJoakim Bech
61f398d492SJerome Forissier# OP-TEE - version 3.6.0 (2019-07-05)
62f398d492SJerome Forissier
63f398d492SJerome Forissier- Link to the GitHub [release page][github_release_3_6_0].
64f398d492SJerome Forissier- Links to the [commits][github_commits_3_6_0] and
65f398d492SJerome Forissier[pull requests][github_pr_3_6_0] merged into this release.
66f398d492SJerome Forissier
67f398d492SJerome Forissier[github_release_3_6_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.6.0
68f398d492SJerome Forissier[github_commits_3_6_0]: https://github.com/OP-TEE/optee_os/compare/3.5.0...3.6.0
69f398d492SJerome 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
70f398d492SJerome Forissier
715df2a985SJoakim Bech# OP-TEE - version 3.5.0 (2019-04-26)
725df2a985SJoakim Bech
735df2a985SJoakim Bech- Link to the GitHub [release page][github_release_3_5_0].
745df2a985SJoakim Bech- Links to the [commits][github_commits_3_5_0] and
755df2a985SJoakim Bech[pull requests][github_pr_3_5_0] merged into this release.
765df2a985SJoakim Bech
775df2a985SJoakim Bech[github_release_3_5_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.5.0
785df2a985SJoakim Bech[github_commits_3_5_0]: https://github.com/OP-TEE/optee_os/compare/3.4.0...3.5.0
795df2a985SJoakim 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
805df2a985SJoakim Bech
81406c609bSJerome Forissier# OP-TEE - version 3.4.0 (2019-01-25)
82406c609bSJerome Forissier
83406c609bSJerome Forissier- Link to the GitHub [release page][github_release_3_4_0].
84406c609bSJerome Forissier- Links to the [commits][github_commits_3_4_0] and
85406c609bSJerome Forissier[pull requests][github_pr_3_4_0] merged into this release.
86406c609bSJerome Forissier
87406c609bSJerome Forissier[github_release_3_4_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.4.0
88406c609bSJerome Forissier[github_commits_3_4_0]: https://github.com/OP-TEE/optee_os/compare/3.3.0...3.4.0
89406c609bSJerome 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
90406c609bSJerome Forissier
91ee595e95SJerome Forissier# OP-TEE - version 3.3.0 (2018-10-12)
92ee595e95SJerome Forissier
93ee595e95SJerome Forissier- Link to the GitHub [release page][github_release_3_3_0].
94ee595e95SJerome Forissier- Links to the [commits][github_commits_3_3_0] and
95ee595e95SJerome Forissier[pull requests][github_pr_3_3_0] merged into this release.
96ee595e95SJerome Forissier
97ee595e95SJerome Forissier[github_release_3_3_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.3.0
98ee595e95SJerome Forissier[github_commits_3_3_0]: https://github.com/OP-TEE/optee_os/compare/3.2.0...3.3.0
99ee595e95SJerome 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
100ee595e95SJerome Forissier
10153bf1c38SJerome Forissier# OP-TEE - version 3.2.0 (2018-07-04)
10253bf1c38SJerome Forissier
10353bf1c38SJerome Forissier- Link to the GitHub [release page][github_release_3_2_0].
10453bf1c38SJerome Forissier- Links to the [commits][github_commits_3_2_0] and
10553bf1c38SJerome Forissier[pull requests][github_pr_3_2_0] merged into this release.
10653bf1c38SJerome Forissier
10753bf1c38SJerome Forissier## Known issues
10853bf1c38SJerome Forissier
10953bf1c38SJerome Forissier* HiKey960: assertion in bget create_free_block() \[memalign() self-test\] ([#2414])
11053bf1c38SJerome Forissier* D02: assertion '!have_spinlock()' ([#2437])
11153bf1c38SJerome Forissier
11253bf1c38SJerome Forissier[github_commits_3_2_0]: https://github.com/OP-TEE/optee_os/compare/3.1.0...3.2.0
11353bf1c38SJerome 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
11453bf1c38SJerome Forissier[github_release_3_2_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.2.0
11553bf1c38SJerome Forissier[#2414]: https://github.com/OP-TEE/optee_os/issues/2414
11653bf1c38SJerome Forissier[#2437]: https://github.com/OP-TEE/optee_os/issues/2437
11753bf1c38SJerome Forissier
1180ab9388cSJens Wiklander# OP-TEE - version 3.1.0 (2018-04-13)
1190ab9388cSJens Wiklander
1200ab9388cSJens Wiklander- Link to the GitHub [release page][github_release_3_1_0].
1210ab9388cSJens Wiklander- Links to the [commits][github_commits_3_1_0] and
1220ab9388cSJens Wiklander[pull requests][github_pr_3_1_0] merged into this release.
1230ab9388cSJens Wiklander
1240ab9388cSJens Wiklander[github_commits_3_1_0]: https://github.com/OP-TEE/optee_os/compare/3.0.0...3.1.0
1250ab9388cSJens 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
1260ab9388cSJens Wiklander[github_release_3_1_0]: https://github.com/OP-TEE/optee_os/releases/tag/3.1.0
1270ab9388cSJens Wiklander
1280ab9388cSJens Wiklander# OP-TEE - version 3.0.0 (2018-01-26)
12994ee4938SJerome Forissier
13094ee4938SJerome Forissier[Link][github_commits_3_0_0] to a list of all commits between this release and
13194ee4938SJerome Forissierthe previous one (2.6.0).
13294ee4938SJerome Forissier
13394ee4938SJerome ForissierAbout backwards compatibility: Trusted Applications built with OP-TEE 2.5.0 or
13494ee4938SJerome Forissierearlier will not run properly with a *debug* build of this release due
13594ee4938SJerome Forissierto commit [0e1c6e8e][commit_0e1c6e8e] ("Dump call stack on TA panic").
13694ee4938SJerome ForissierNon-debug builds are not affected.
13794ee4938SJerome Forissier
13894ee4938SJerome Forissier## New features
13994ee4938SJerome Forissier
14094ee4938SJerome Forissier* New supported platforms: Armada 3700 ([#1946]), Poplar ([#1999]), 64-bit
14194ee4938SJerome Forissier  support for FSL ls1012ardb ([#1941]), i.MX6SX Sabreauto ([#1974]).
14294ee4938SJerome Forissier* arm32: sm: init CNTVOFF ([#2052])
14394ee4938SJerome Forissier* Debug/info/error traces: make output more compact ([#2011])
14494ee4938SJerome Forissier* tzc380: implement new functions ([#1994])
14594ee4938SJerome Forissier* Secure Data Path: add pseudo-TA to convert VA to PA (#1993])
14694ee4938SJerome Forissier* Pager: use NEON AES GCM implementation ([#1959])
14794ee4938SJerome Forissier* Crypto: add optimized AES GCM implementation using NEON ([#1949])
14894ee4938SJerome Forissier* Add support for using secure storage for TA anti-rollback ([#1928])
14994ee4938SJerome Forissier* Crypto: replace struct crypto_ops with function interface ([#1923],
15094ee4938SJerome Forissier  [#1931])
15194ee4938SJerome Forissier* aosp_optee.mk: define OPTEE_BIN ([#1922])
15294ee4938SJerome Forissier* Add build option to allow concurrent execution of single-instance TAs
15394ee4938SJerome Forissier  ([#1915])
15494ee4938SJerome Forissier* Pager: support for address sanitizer ([#1856])
15594ee4938SJerome Forissier* Pager: make memory between CFG_TEE_RAM_START and TEE load address usable by
15694ee4938SJerome Forissier  pager ([#1826])
15794ee4938SJerome Forissier
15894ee4938SJerome Forissier## Bug fixes
15994ee4938SJerome Forissier
16094ee4938SJerome Forissier* Fix crash in tee_mmu_final() on TA loading error ([#2092])
16194ee4938SJerome Forissier* LibTomCrypt: fix issue causing invalid output when using AES CTR with
16294ee4938SJerome Forissierhardware acceleration (CFG_CRYPTO_WITH_CE) ([#2086])
16394ee4938SJerome Forissier* pl310: fix cache sync ([#2035])
16494ee4938SJerome Forissier* tzc380: do not write reserved bits ([#1994])
16594ee4938SJerome Forissier* Fix potential double free in ta_open() ([#1970])
16694ee4938SJerome Forissier* libfdt: fix undefined behaviour in fdt_offset_ptr() ([#1969])
16794ee4938SJerome Forissier* imx_wdog: fix register access ([#1966])
16894ee4938SJerome Forissier* Secure storage: fix potential memory leak after early return ([#1961])
16994ee4938SJerome Forissier* LibTomCrypt: fix double free in dsa_import() ([#1963])
17094ee4938SJerome Forissier* RPMB: fix TA independance issue in secure storage ([#1921])
17194ee4938SJerome Forissier* RPMB: return TEE_ERROR_ACCESS_CONFLICT instead of panicking when a TA
17294ee4938SJerome Forissier  attempts to create an existing persistent object without the overwrite flag
17394ee4938SJerome Forissier  ([#1919])
17494ee4938SJerome Forissier* PSCI: pass non-secure context to psci_system_suspend() ([#1916])
17594ee4938SJerome Forissier* Fix "Argument list too long" during "make clean" ([#1897])
17694ee4938SJerome Forissier
17794ee4938SJerome Forissier## Security fixes
17894ee4938SJerome Forissier
17994ee4938SJerome Forissier* Mitigations and hardening against the Spectre and Meltdown vulnerabilities
18094ee4938SJerome Forissier  (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754).
18194ee4938SJerome Forissier
18294ee4938SJerome Forissier## Known issues
18394ee4938SJerome Forissier
18494ee4938SJerome Forissier* Secure storage (REE FS): storage size not updated after
18594ee4938SJerome ForissierTEE_TruncateObjectData() ([#2094])
18694ee4938SJerome Forissier* Possible deadlock with CFG_WITH_PAGER=y when loading a TA and not enough
18794ee4938SJerome Forissierpage tables are available in pgt_cache ([#2080])
18894ee4938SJerome Forissier
18994ee4938SJerome Forissier## Tested on
19094ee4938SJerome Forissier
19194ee4938SJerome ForissierThe release was tested successfully on the platforms listed below.
19294ee4938SJerome Forissier
19394ee4938SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
19494ee4938SJerome Forissier* d02
19594ee4938SJerome Forissier* hikey
19694ee4938SJerome Forissier* hikey-hikey960
19794ee4938SJerome Forissier* imx-mx6ulevk
19894ee4938SJerome Forissier* imx-mx7dsabresd
19994ee4938SJerome Forissier* marvell-armada7k8k
20094ee4938SJerome Forissier* marvell-armada3700
20194ee4938SJerome Forissier* mediatek-mt8173
20294ee4938SJerome Forissier* rcar-salvator_m3
20394ee4938SJerome Forissier* rockchip-rk322x
20494ee4938SJerome Forissier* rpi3
20594ee4938SJerome Forissier* sam
20694ee4938SJerome Forissier* ti
20794ee4938SJerome Forissier* vexpress-juno
20894ee4938SJerome Forissier* vexpress-qemu_armv8a
20994ee4938SJerome Forissier* vexpress-qemu_virt
21094ee4938SJerome Forissier
21194ee4938SJerome Forissier[commit_0e1c6e8e]: https://github.com/OP-TEE/optee_os/commit/0e1c6e8e
21294ee4938SJerome Forissier[github_commits_3_0_0]: https://github.com/OP-TEE/optee_os/compare/2.6.0...3.0.0
21394ee4938SJerome Forissier[#2092]: https://github.com/OP-TEE/optee_os/pull/2092
21494ee4938SJerome Forissier[#2086]: https://github.com/OP-TEE/optee_os/pull/2086
21594ee4938SJerome Forissier[#2094]: https://github.com/OP-TEE/optee_os/issues/2094
21694ee4938SJerome Forissier[#2080]: https://github.com/OP-TEE/optee_os/issues/2080
21794ee4938SJerome Forissier[#2052]: https://github.com/OP-TEE/optee_os/pull/2052
21894ee4938SJerome Forissier[#2035]: https://github.com/OP-TEE/optee_os/pull/2035
21994ee4938SJerome Forissier[#2011]: https://github.com/OP-TEE/optee_os/pull/2011
22094ee4938SJerome Forissier[#1999]: https://github.com/OP-TEE/optee_os/pull/1999
22194ee4938SJerome Forissier[#1994]: https://github.com/OP-TEE/optee_os/pull/1994
22294ee4938SJerome Forissier[#1993]: https://github.com/OP-TEE/optee_os/pull/1993
22394ee4938SJerome Forissier[#1974]: https://github.com/OP-TEE/optee_os/pull/1974
22494ee4938SJerome Forissier[#1970]: https://github.com/OP-TEE/optee_os/pull/1970
22594ee4938SJerome Forissier[#1969]: https://github.com/OP-TEE/optee_os/pull/1969
22694ee4938SJerome Forissier[#1966]: https://github.com/OP-TEE/optee_os/pull/1966
22794ee4938SJerome Forissier[#1963]: https://github.com/OP-TEE/optee_os/pull/1963
22894ee4938SJerome Forissier[#1961]: https://github.com/OP-TEE/optee_os/pull/1961
22994ee4938SJerome Forissier[#1959]: https://github.com/OP-TEE/optee_os/pull/1959
23094ee4938SJerome Forissier[#1949]: https://github.com/OP-TEE/optee_os/pull/1949
23194ee4938SJerome Forissier[#1946]: https://github.com/OP-TEE/optee_os/pull/1946
23294ee4938SJerome Forissier[#1941]: https://github.com/OP-TEE/optee_os/pull/1941
23394ee4938SJerome Forissier[#1931]: https://github.com/OP-TEE/optee_os/pull/1931
23494ee4938SJerome Forissier[#1928]: https://github.com/OP-TEE/optee_os/pull/1928
23594ee4938SJerome Forissier[#1923]: https://github.com/OP-TEE/optee_os/pull/1923
23694ee4938SJerome Forissier[#1922]: https://github.com/OP-TEE/optee_os/pull/1922
23794ee4938SJerome Forissier[#1921]: https://github.com/OP-TEE/optee_os/pull/1921
23894ee4938SJerome Forissier[#1919]: https://github.com/OP-TEE/optee_os/pull/1919
23994ee4938SJerome Forissier[#1916]: https://github.com/OP-TEE/optee_os/pull/1916
24094ee4938SJerome Forissier[#1915]: https://github.com/OP-TEE/optee_os/pull/1915
24194ee4938SJerome Forissier[#1897]: https://github.com/OP-TEE/optee_os/pull/1897
24294ee4938SJerome Forissier[#1856]: https://github.com/OP-TEE/optee_os/pull/1856
24394ee4938SJerome Forissier[#1826]: https://github.com/OP-TEE/optee_os/pull/1826
24494ee4938SJerome Forissier
2456d57389fSJerome Forissier# OP-TEE - version 2.6.0
2466d57389fSJerome Forissier
2476d57389fSJerome Forissier[Link][github_commits_2_6_0] to a list of all commits between this release and
2486d57389fSJerome Forissierthe previous one (2.5.0).
2496d57389fSJerome Forissier
2506d57389fSJerome Forissier## New features
2516d57389fSJerome Forissier
2526d57389fSJerome Forissier* New supported platforms: Atmel SAMA5 ([#1714]), HiSilicon HiKey960 ([#1684]),
2536d57389fSJerome Forissier  Rockchip RK322X ([#1666]), NXP LS1043A-RDB/LS1046A-RDB ([#1787]), Marvell
2546d57389fSJerome Forissier  Armada 70x0/80x0 ([#1807]).
2556d57389fSJerome Forissier* Dynamic shared memory (non-contiguous, non-secure memory can be mapped into
2566d57389fSJerome Forissier  Trusted Applications VA space) ([#1631])
2576d57389fSJerome Forissier* Dump TA call stack on panic ([#1858])
2586d57389fSJerome Forissier* i.MX: PSCI reset ([#1849])
2596d57389fSJerome Forissier* plat-ti: AM43xx: suspend/resume support ([#1822])
2606d57389fSJerome Forissier* QEMU SMP support ([#1820])
2616d57389fSJerome Forissier* plat-ti: AM43xx: disable TRNG ([#1816])
2626d57389fSJerome Forissier* plat-ti: enable Secure Data Path by default ([#1815])
2636d57389fSJerome Forissier* Improve symbolize.py ([#1778], [#1767], [#1766])
2646d57389fSJerome Forissier* Early TAs (TAs linked in tee.bin) ([#1733])
2656d57389fSJerome Forissier* Suspend/resume framework for arm32 and imx7d support ([#1729])
2666d57389fSJerome Forissier* RK322X PSCI version, features and suspend support ([#1720])
2676d57389fSJerome Forissier* arm32: handle aborts in system mode ([#1703])
2686d57389fSJerome Forissier* i.MX: add SNVS SRTC support ([#1700])
2696d57389fSJerome Forissier* GCC7 support ([#1693])
2706d57389fSJerome Forissier* Improve detection of programming errors in locking code ([#1671], [#1670])
2716d57389fSJerome Forissier* Support TEE RAM size larger than page directory size ([#1669])
2726d57389fSJerome Forissier
2736d57389fSJerome Forissier## Removed features
2746d57389fSJerome Forissier
2756d57389fSJerome Forissier* Remove TUI code ([#1842])
2766d57389fSJerome Forissier
2776d57389fSJerome Forissier## Bug fixes
2786d57389fSJerome Forissier
2796d57389fSJerome Forissier* Add missing synchronization barrier in core_mmu_map_pages() ([#1827])
2806d57389fSJerome Forissier* Secure storage: REE FS: fix bug in error path ([#1801])
2816d57389fSJerome Forissier* ASAN bug fixes ([#1799])
2826d57389fSJerome Forissier* Fix race in core_mmu_user_mapping_is_active() ([#1785])
2836d57389fSJerome Forissier* libutee: printf() and puts() fixes, add putchar() ([#1759], [#1754])
2846d57389fSJerome Forissier* arm32: GICv3: fix FIQ masking in IRQ/ABT/SVC/UND handlers ([#1748])
2856d57389fSJerome Forissier* arm32: preserve r12 in native_intr_handler() ([#1682])
2866d57389fSJerome Forissier* arm64: fix print_kernel_stack() ([#1664])
2876d57389fSJerome Forissier* benchmark: fix core data-abort ([#1658])
2886d57389fSJerome Forissier
2896d57389fSJerome Forissier## Security fixes or enhancements
2906d57389fSJerome Forissier
2916d57389fSJerome Forissier* crypto: fix software PRNG weaknesses
2926d57389fSJerome Forissier  ([OP-TEE-2017-0001][OP-TEE-2017-0001]) ([#1843])
2936d57389fSJerome Forissier
2946d57389fSJerome Forissier## Tested on
2956d57389fSJerome Forissier
29694ee4938SJerome ForissierThe release was tested successfully on the platforms listed below.
2976d57389fSJerome ForissierIf a platform is not listed, it means the release was not tested on this
2986d57389fSJerome Forissierplatform.
2996d57389fSJerome Forissier
3006d57389fSJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
3016d57389fSJerome Forissier* d02
3026d57389fSJerome Forissier* hikey
3036d57389fSJerome Forissier* hikey-hikey960
3046d57389fSJerome Forissier* imx-mx6ulevk
3056d57389fSJerome Forissier* imx-mx7dsabresd
3066d57389fSJerome Forissier* ls-ls1021a??? (single core)
3076d57389fSJerome Forissier* ls-ls1043ardb
3086d57389fSJerome Forissier* ls-ls1046ardb
3096d57389fSJerome Forissier* mediatek-mt8173
3106d57389fSJerome Forissier* rcar
3116d57389fSJerome Forissier* rockchip-rk322x
3126d57389fSJerome Forissier* rpi3
3136d57389fSJerome Forissier* sam
3146d57389fSJerome Forissier* stm-b2260
3156d57389fSJerome Forissier* stm-cannes
3166d57389fSJerome Forissier* ti-???
3176d57389fSJerome Forissier* vexpress-fvp
3186d57389fSJerome Forissier* vexpress-juno
3196d57389fSJerome Forissier* vexpress-qemu_armv8a
3206d57389fSJerome Forissier* vexpress-qemu_virt
3216d57389fSJerome Forissier
32294ee4938SJerome Forissier[github_commits_2_6_0]: https://github.com/OP-TEE/optee_os/compare/2.5.0...2.6.0
3236d57389fSJerome Forissier[#1858]: https://github.com/OP-TEE/optee_os/issues/1858
3246d57389fSJerome Forissier[#1849]: https://github.com/OP-TEE/optee_os/issues/1849
3256d57389fSJerome Forissier[#1843]: https://github.com/OP-TEE/optee_os/issues/1843
3266d57389fSJerome Forissier[#1842]: https://github.com/OP-TEE/optee_os/issues/1842
3276d57389fSJerome Forissier[#1827]: https://github.com/OP-TEE/optee_os/issues/1827
3286d57389fSJerome Forissier[#1822]: https://github.com/OP-TEE/optee_os/issues/1822
3296d57389fSJerome Forissier[#1820]: https://github.com/OP-TEE/optee_os/issues/1820
3306d57389fSJerome Forissier[#1816]: https://github.com/OP-TEE/optee_os/issues/1816
3316d57389fSJerome Forissier[#1815]: https://github.com/OP-TEE/optee_os/issues/1815
3326d57389fSJerome Forissier[#1807]: https://github.com/OP-TEE/optee_os/issues/1807
3336d57389fSJerome Forissier[#1801]: https://github.com/OP-TEE/optee_os/issues/1801
3346d57389fSJerome Forissier[#1799]: https://github.com/OP-TEE/optee_os/issues/1799
3356d57389fSJerome Forissier[#1787]: https://github.com/OP-TEE/optee_os/issues/1787
3366d57389fSJerome Forissier[#1785]: https://github.com/OP-TEE/optee_os/issues/1785
3376d57389fSJerome Forissier[#1778]: https://github.com/OP-TEE/optee_os/issues/1778
3386d57389fSJerome Forissier[#1767]: https://github.com/OP-TEE/optee_os/issues/1767
3396d57389fSJerome Forissier[#1766]: https://github.com/OP-TEE/optee_os/issues/1766
3406d57389fSJerome Forissier[#1759]: https://github.com/OP-TEE/optee_os/issues/1759
3416d57389fSJerome Forissier[#1754]: https://github.com/OP-TEE/optee_os/issues/1754
3426d57389fSJerome Forissier[#1748]: https://github.com/OP-TEE/optee_os/issues/1748
3436d57389fSJerome Forissier[#1733]: https://github.com/OP-TEE/optee_os/issues/1733
3446d57389fSJerome Forissier[#1729]: https://github.com/OP-TEE/optee_os/issues/1729
3456d57389fSJerome Forissier[#1720]: https://github.com/OP-TEE/optee_os/issues/1720
3466d57389fSJerome Forissier[#1714]: https://github.com/OP-TEE/optee_os/issues/1714
3476d57389fSJerome Forissier[#1703]: https://github.com/OP-TEE/optee_os/issues/1703
3486d57389fSJerome Forissier[#1700]: https://github.com/OP-TEE/optee_os/issues/1700
3496d57389fSJerome Forissier[#1693]: https://github.com/OP-TEE/optee_os/issues/1693
3506d57389fSJerome Forissier[#1684]: https://github.com/OP-TEE/optee_os/issues/1684
3516d57389fSJerome Forissier[#1682]: https://github.com/OP-TEE/optee_os/issues/1682
3526d57389fSJerome Forissier[#1671]: https://github.com/OP-TEE/optee_os/issues/1671
3536d57389fSJerome Forissier[#1670]: https://github.com/OP-TEE/optee_os/issues/1670
3546d57389fSJerome Forissier[#1669]: https://github.com/OP-TEE/optee_os/issues/1669
3556d57389fSJerome Forissier[#1666]: https://github.com/OP-TEE/optee_os/issues/1666
3566d57389fSJerome Forissier[#1664]: https://github.com/OP-TEE/optee_os/issues/1664
3576d57389fSJerome Forissier[#1658]: https://github.com/OP-TEE/optee_os/issues/1658
3586d57389fSJerome Forissier[#1631]: https://github.com/OP-TEE/optee_os/issues/1631
3596d57389fSJerome Forissier[OP-TEE-2017-0001]: https://www.op-tee.org/security-advisories/
3606d57389fSJerome Forissier
3615d8aaa04SJerome Forissier# OP-TEE - version 2.5.0
3625d8aaa04SJerome Forissier
3635d8aaa04SJerome Forissier[Link][github_commits_2_5_0] to a list of all commits between this release and
3645d8aaa04SJerome Forissierthe previous one (2.4.0).
3655d8aaa04SJerome Forissier
3665d8aaa04SJerome Forissier## New features
3675d8aaa04SJerome Forissier
3685d8aaa04SJerome Forissier* New supported platform: i.MX7D ([#1639])
3695d8aaa04SJerome Forissier* Secure storage: anti-rollback protection for REE FS using RPMB FS ([#1630])
3705d8aaa04SJerome Forissier* Assign non-secure DDR configuration from DT if CFG_DT=y ([#1623])
3715d8aaa04SJerome Forissier* Add new image format: split image into three separate binaries suitable for
3725d8aaa04SJerome Forissier  upcoming ARM Trusted Firmware ([#1589]).
3735d8aaa04SJerome Forissier* Make alignment check configurable ([#1586])
3745d8aaa04SJerome Forissier* drivers: add TZC380 driver ([#1578])
3755d8aaa04SJerome Forissier* plat-imx: PSCI CPU off ([#1577])
3765d8aaa04SJerome Forissier* 64-bit paging on QEMU v8 and HiKey ([#1575], [#1592])
3775d8aaa04SJerome Forissier* Benchmark framework ([#1365])
3785d8aaa04SJerome Forissier* Dump call stack of user TAs on abort ([#1552])
3795d8aaa04SJerome Forissier* plat-hikey: enable Secure Data Path ([#1440])
3805d8aaa04SJerome Forissier* Add interface to load and decrypt/authenticate user TAs ([#1513])
3815d8aaa04SJerome Forissier* plat-ti: add secure paging support ([#1493])
3825d8aaa04SJerome Forissier* plat-ti: add OTP hardware key support ([#1492])
3835d8aaa04SJerome Forissier* Support ARM GICv3 ([#1465])
3845d8aaa04SJerome Forissier
3855d8aaa04SJerome Forissier## Removed features
3865d8aaa04SJerome Forissier
3875d8aaa04SJerome Forissier* stm-orly2 is not supported anymore ([#1650])
3885d8aaa04SJerome Forissier* Remove secure storage based on SQL FS (`CFG_SQL_FS=y`) ([#1490])
3895d8aaa04SJerome Forissier* Remove support for mapping user TAs with 1 MiB or 2 MiB granularity
3905d8aaa04SJerome Forissier  (`CFG_SMALL_PAGE_USER_TA=n`) ([#1559]). TAs are always mapped using small
3915d8aaa04SJerome Forissier  pages.
3925d8aaa04SJerome Forissier
3935d8aaa04SJerome Forissier## Bug fixes
3945d8aaa04SJerome Forissier
3955d8aaa04SJerome Forissier* Reduce size of non-pageable code ([#1621])
3965d8aaa04SJerome Forissier* Ignore `TA_FLAG_MULTI_SESSION` and `TA_FLAG_INSTANCE_KEEP_ALIVE` when
3975d8aaa04SJerome Forissier  `TA_FLAG_SINGLE_INSTANCE` is not set ([#1574])
3985d8aaa04SJerome Forissier* libutee: remove buffering for AES GCM (PR#1573) and AES CTR ([#1580])
3995d8aaa04SJerome Forissier* Fix ROUNDUP()/ROUNDDOWN() macros ([#1519])
4005d8aaa04SJerome Forissier* Do not touch other bits in GICD_CTLR ([#1508])
4015d8aaa04SJerome Forissier* Fix build issue with `DEBUG=y` and `CFG_TEE_CORE_LOG_LEVEL=0` ([#1502])
4025d8aaa04SJerome Forissier* crypto: do not restrict hash size when algorithm is ECDSA ([#1497])
4035d8aaa04SJerome Forissier
4045d8aaa04SJerome Forissier## Security fixes or enhancements
4055d8aaa04SJerome Forissier
4065d8aaa04SJerome Forissier- crypto: fix RSA key leakage after fault injection attack
4075d8aaa04SJerome Forissier  ([OP-TEE-2016-0003][OP-TEE-2016-0003])  ([#1610])
4085d8aaa04SJerome Forissier* crypto: fix RSA key leakage after side channel attack
4095d8aaa04SJerome Forissier  ([OP-TEE-2016-0002][OP-TEE-2016-0002]) ([#1610])
4105d8aaa04SJerome Forissier* Make pager aliased pages not always writable ([#1551])
4115d8aaa04SJerome Forissier* Support for no-exec RO and RW data ([#1459], [#1550])
4125d8aaa04SJerome Forissier
4135d8aaa04SJerome Forissier## New issues
4145d8aaa04SJerome Forissier
4155d8aaa04SJerome Forissier* armv7: some platform-specific code (`plat_cpu_reset_early()`) overwrites
4165d8aaa04SJerome ForissierSCTLR bits configured by generic code. This affects alignment checks (`SCTLR.A`)
4175d8aaa04SJerome Forissierand write-implies-no-exec (`SCTLR.WXN`, `SCTLR.UWXN`), which can therefore not
4185d8aaa04SJerome Forissierbe configured via the compile-time `CFG_` variables.
4195d8aaa04SJerome Forissier* armv7: plat-imx: Cortex-A9 cores should enable branch prediction (`SCLTR.Z`)
4205d8aaa04SJerome Forissierfor improved performance.
4215d8aaa04SJerome Forissier* [#1656] qemu_armv8a: init hangs when secure data path and pager are both
4225d8aaa04SJerome Forissier  enabled.
4235d8aaa04SJerome Forissier
4245d8aaa04SJerome Forissier## Tested on
4255d8aaa04SJerome Forissier
4265d8aaa04SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
4275d8aaa04SJerome Forissierits default configuration, while _extended_ means it was run successfully
4285d8aaa04SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
4295d8aaa04SJerome Forissierv1.1.0.4.
4305d8aaa04SJerome Forissier
4315d8aaa04SJerome ForissierIf a platform is not listed, it means the release was not tested on this
4325d8aaa04SJerome Forissierplatform.
4335d8aaa04SJerome Forissier
4345d8aaa04SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
4355d8aaa04SJerome Forissier* d02: extended
4365d8aaa04SJerome Forissier* hikey: extended
4375d8aaa04SJerome Forissier* imx-mx6ulevk: standard
4385d8aaa04SJerome Forissier* imx-mx6ullevk: standard
4395d8aaa04SJerome Forissier* imx-mx7dsabresd: standard
4405d8aaa04SJerome Forissier* ls-ls1021atwr: standard
4415d8aaa04SJerome Forissier* mediatek-mt8173: standard
4425d8aaa04SJerome Forissier* rcar-h3: standard
4435d8aaa04SJerome Forissier* rpi3: standard
4445d8aaa04SJerome Forissier* stm-b2260: extended
4455d8aaa04SJerome Forissier* stm-cannes: extended
4465d8aaa04SJerome Forissier* ti-am43xx: standard
4475d8aaa04SJerome Forissier* ti-am57xx: standard
4485d8aaa04SJerome Forissier* ti-dra7xx: standard
4495d8aaa04SJerome Forissier* vexpress-fvp: standard
4505d8aaa04SJerome Forissier* vexpress-juno: standard
4515d8aaa04SJerome Forissier* vexpress-qemu_armv8a: standard
4525d8aaa04SJerome Forissier* vexpress-qemu_virt: standard
4535d8aaa04SJerome Forissier
4545d8aaa04SJerome Forissier[github_commits_2_5_0]: https://github.com/OP-TEE/optee_os/compare/2.4.0...2.5.0-rc1
4555d8aaa04SJerome Forissier[#1656]: https://github.com/OP-TEE/optee_os/issues/1656
4565d8aaa04SJerome Forissier[#1650]: https://github.com/OP-TEE/optee_os/pull/1650
4575d8aaa04SJerome Forissier[#1639]: https://github.com/OP-TEE/optee_os/pull/1639
4585d8aaa04SJerome Forissier[#1630]: https://github.com/OP-TEE/optee_os/pull/1630
4595d8aaa04SJerome Forissier[#1623]: https://github.com/OP-TEE/optee_os/pull/1623
4605d8aaa04SJerome Forissier[#1621]: https://github.com/OP-TEE/optee_os/pull/1621
4615d8aaa04SJerome Forissier[#1610]: https://github.com/OP-TEE/optee_os/pull/1610
4625d8aaa04SJerome Forissier[#1592]: https://github.com/OP-TEE/optee_os/pull/1592
4635d8aaa04SJerome Forissier[#1589]: https://github.com/OP-TEE/optee_os/pull/1589
4645d8aaa04SJerome Forissier[#1586]: https://github.com/OP-TEE/optee_os/pull/1586
4655d8aaa04SJerome Forissier[#1580]: https://github.com/OP-TEE/optee_os/pull/1580
4665d8aaa04SJerome Forissier[#1578]: https://github.com/OP-TEE/optee_os/pull/1578
4675d8aaa04SJerome Forissier[#1577]: https://github.com/OP-TEE/optee_os/pull/1577
4685d8aaa04SJerome Forissier[#1574]: https://github.com/OP-TEE/optee_os/pull/1574
4695d8aaa04SJerome Forissier[#1559]: https://github.com/OP-TEE/optee_os/pull/1559
4705d8aaa04SJerome Forissier[#1551]: https://github.com/OP-TEE/optee_os/pull/1551
4715d8aaa04SJerome Forissier[#1550]: https://github.com/OP-TEE/optee_os/pull/1550
4725d8aaa04SJerome Forissier[#1519]: https://github.com/OP-TEE/optee_os/pull/1519
4735d8aaa04SJerome Forissier[#1502]: https://github.com/OP-TEE/optee_os/pull/1502
4745d8aaa04SJerome Forissier[#1365]: https://github.com/OP-TEE/optee_os/pull/1365
4755d8aaa04SJerome Forissier[#1552]: https://github.com/OP-TEE/optee_os/pull/1552
4765d8aaa04SJerome Forissier[#1513]: https://github.com/OP-TEE/optee_os/pull/1513
4775d8aaa04SJerome Forissier[#1508]: https://github.com/OP-TEE/optee_os/pull/1508
4785d8aaa04SJerome Forissier[#1493]: https://github.com/OP-TEE/optee_os/pull/1493
4795d8aaa04SJerome Forissier[#1497]: https://github.com/OP-TEE/optee_os/pull/1497
4805d8aaa04SJerome Forissier[#1492]: https://github.com/OP-TEE/optee_os/pull/1492
4815d8aaa04SJerome Forissier[#1490]: https://github.com/OP-TEE/optee_os/pull/1490
4825d8aaa04SJerome Forissier[#1465]: https://github.com/OP-TEE/optee_os/pull/1465
4835d8aaa04SJerome Forissier[#1459]: https://github.com/OP-TEE/optee_os/pull/1459
4845d8aaa04SJerome Forissier[#1440]: https://github.com/OP-TEE/optee_os/pull/1440
4855d8aaa04SJerome Forissier[OP-TEE-2016-0003]: https://www.op-tee.org/security-advisories/
4865d8aaa04SJerome Forissier[OP-TEE-2016-0002]: https://www.op-tee.org/security-advisories/
4875d8aaa04SJerome Forissier
488702609a7SJerome Forissier# OP-TEE - version 2.4.0
489702609a7SJerome Forissier
490702609a7SJerome Forissier[Link][github_commits_2_4_0] to a list of all commits between this release and
491702609a7SJerome Forissierthe previous one (2.3.0).
492702609a7SJerome Forissier
493702609a7SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
494702609a7SJerome ForissierSecure Storage internal format for the REE and SQL FS is not compatible due to
495702609a7SJerome Forissiercommits [a238b74][commit_a238b74] ("core: REE FS: use the new hash tree
496702609a7SJerome Forissierinterface") and [44e900e][commit_44e900e] ("core: SQL FS: use the new hash tree
497702609a7SJerome Forissierinterface").
498702609a7SJerome Forissier
499702609a7SJerome Forissier## New features
500702609a7SJerome Forissier
501702609a7SJerome Forissier* Add porting guidelines
502702609a7SJerome Forissier
503702609a7SJerome Forissier* Add support for Secure Data Path which allows Client and Trusted Applications
504702609a7SJerome Forissier  to share references to secure memory
505702609a7SJerome Forissier
506702609a7SJerome Forissier* New supported platform: Texas Instruments AM57xx (`PLATFORM=ti-am57xx`)
507702609a7SJerome Forissier
508702609a7SJerome Forissier* ARMv7-A: add support for platform services in secure monitor and add these
509702609a7SJerome Forissier  services for the DRA7xx platform
510702609a7SJerome Forissier
511702609a7SJerome Forissier* SPI framework and PL022 driver cleanup and improvements
512702609a7SJerome Forissier
513702609a7SJerome Forissier* Use CNTPCT (when available) to add entropy to the software PRNG
514702609a7SJerome Forissier
515702609a7SJerome Forissier* Add GlobalPlatform Socket API for UDP and TCP (IPv4 and IPv6)
516702609a7SJerome Forissier
517702609a7SJerome Forissier* DRA7: add TRNG driver, enable GICv2 driver
518702609a7SJerome Forissier
519702609a7SJerome Forissier* Support load address larger than 4G
520702609a7SJerome Forissier
521702609a7SJerome Forissier* libutee: preserve error code when calling TEE_Panic() for easier
522702609a7SJerome Forissier  troubleshooting
523702609a7SJerome Forissier
524702609a7SJerome Forissier* Support TA profiling with gprof (-pg compiler switch)
525702609a7SJerome Forissier
526702609a7SJerome Forissier* Optimize the ELF loader for TAs when pager is enabled
527702609a7SJerome Forissier
528702609a7SJerome Forissier* Update documentation
529702609a7SJerome Forissier
530702609a7SJerome Forissier* Add paged secure shared memory that can be transferred between TAs as
531702609a7SJerome Forissier  needed
532702609a7SJerome Forissier
533702609a7SJerome Forissier* Introduce MOBJ abstraction
534702609a7SJerome Forissier
535702609a7SJerome Forissier* i.MX6: add PSCI "on" function
536702609a7SJerome Forissier
537702609a7SJerome Forissier* arm32: introduce PSCI framework
538702609a7SJerome Forissier
539702609a7SJerome Forissier## Bug fixes
540702609a7SJerome Forissier
541702609a7SJerome Forissier* Secure storage: improve integrity checking of the REE and SQL filesystems by
542702609a7SJerome Forissier  adding a hash tree on the internal data structures. Any external modification
543702609a7SJerome Forissier  is detected, except full rollback. Fixes [#1188][issue1188].
544702609a7SJerome Forissier
545702609a7SJerome Forissier* The linux driver will set the 'privileged' flag (TEE_GEN_CAP_PRIVILEGED) on
546702609a7SJerome Forissier  the device intended for use by tee-supplicant. Fixes [#1199][issue1199].
547702609a7SJerome Forissier
548702609a7SJerome Forissier* RPMB: don't try to program the RPMB key by default
549702609a7SJerome Forissier
550702609a7SJerome Forissier* Fix "make clean" error cases
551702609a7SJerome Forissier
552702609a7SJerome Forissier* Fix issue when resetting persistent storage enumerator [#1332][issue1332]
553702609a7SJerome Forissier
554702609a7SJerome Forissier* Fix TA panic when doing AES CTS with specific buffer sizes
555702609a7SJerome Forissier  [#1203][issue1203].
556702609a7SJerome Forissier
557702609a7SJerome Forissier## Known issues
558702609a7SJerome Forissier
559702609a7SJerome Forissier* On RPi3 xtest sometimes stall (rcu_sched self-detected stall on CPU) [#1353][issue1353]
560702609a7SJerome Forissier* For multi-core PSCI support is to be added for ls1021atwr in OP-TEE.
561702609a7SJerome Forissier* USB keyboard cannot be used to stop the u-boot timeout ([build issue131]).
562702609a7SJerome Forissier* Travis service (build.git) seems unstable from time to time.
563702609a7SJerome Forissier
564702609a7SJerome Forissier## Tested on
565702609a7SJerome Forissier
566702609a7SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
567702609a7SJerome Forissierits default configuration, while _extended_ means it was run successfully
568702609a7SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
569702609a7SJerome Forissierv1.1.0.4.
570702609a7SJerome Forissier
571702609a7SJerome ForissierIf a platform is not listed, it means the release was not tested on this
572702609a7SJerome Forissierplatform.
573702609a7SJerome Forissier
574702609a7SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
575702609a7SJerome Forissier* d02: extended
576702609a7SJerome Forissier* hikey: extended
577702609a7SJerome Forissier* imx-mx6ulevk: standard
578702609a7SJerome Forissier* ls-ls1021atwr: standard (single core)
579702609a7SJerome Forissier* mediatek-mt8173: standard
580702609a7SJerome Forissier* rcar-h3: standard
581702609a7SJerome Forissier* rpi3: standard
582702609a7SJerome Forissier* stm-b2260: extended
583702609a7SJerome Forissier* ti-dra7xx: standard
584702609a7SJerome Forissier* vexpress-fvp: standard
585702609a7SJerome Forissier* vexpress-juno: standard
586702609a7SJerome Forissier* vexpress-qemu_armv8a: standard
587702609a7SJerome Forissier* vexpress-qemu_virt: standard
588702609a7SJerome Forissier* zynqmp-zc1751_dc1: standard
589702609a7SJerome Forissier* zynqmp-zc1751_dc2: standard
590702609a7SJerome Forissier* zynqmp-zcu102: standard
591702609a7SJerome Forissier
592702609a7SJerome Forissier[github_commits_2_4_0]: https://github.com/OP-TEE/optee_os/compare/2.3.0...2.4.0
593702609a7SJerome Forissier[issue1332]: https://github.com/OP-TEE/optee_os/issues/1332
594702609a7SJerome Forissier[issue1353]: https://github.com/OP-TEE/optee_os/issues/1353
595702609a7SJerome Forissier[build issue131]: https://github.com/OP-TEE/build/issues/131
596702609a7SJerome Forissier[commit_a238b74]: https://github.com/OP-TEE/optee_os/commit/a238b744b1b3
597702609a7SJerome Forissier[commit_44e900e]: https://github.com/OP-TEE/optee_os/commit/44e900eabfc1
598702609a7SJerome Forissier
59928fcee17SJerome Forissier# OP-TEE - version 2.3.0
60028fcee17SJerome Forissier
60128fcee17SJerome Forissier[Link][github_commits_2_3_0] to a list of all commits between this release and
60228fcee17SJerome Forissierthe previous one (2.2.0).
60328fcee17SJerome Forissier
60428fcee17SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
60528fcee17SJerome ForissierSecure Storage internal format for the REE FS is not compatible due to commit
60628fcee17SJerome Forissier[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object").
60728fcee17SJerome Forissier
60828fcee17SJerome Forissier[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e
60928fcee17SJerome Forissier
61028fcee17SJerome Forissier## New features
61128fcee17SJerome Forissier
61228fcee17SJerome Forissier* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`)
61328fcee17SJerome Forissier
61428fcee17SJerome Forissier* Add debug assertions to spinlocks and mutexes
61528fcee17SJerome Forissier
61628fcee17SJerome Forissier* Add more CP15 register access macros for Cortex-A9
61728fcee17SJerome Forissier
61828fcee17SJerome Forissier* ARMv7-A: redesign secure monitor to make it easier to register services
61928fcee17SJerome Forissier
62028fcee17SJerome Forissier* ARMv7-A: cleanup boot arguments
62128fcee17SJerome Forissier
62228fcee17SJerome Forissier* libutee: extend `TEE_CheckMemoryAccessRights()` with
62328fcee17SJerome Forissier  `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE`
62428fcee17SJerome Forissier
62528fcee17SJerome Forissier* plat-hikey: enable SPI by default and add sample test code
62628fcee17SJerome Forissier
62728fcee17SJerome Forissier* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs
62828fcee17SJerome Forissier
62928fcee17SJerome Forissier* Secure storage refactoring
63028fcee17SJerome Forissier  - Simplify interface with tee-supplicant. Minimize round trips with normal
63128fcee17SJerome Forissier    world, especially by adding a cache for FS RPC payload data.
63228fcee17SJerome Forissier  - REE FS: use a single file per object, remove block cache.
63328fcee17SJerome Forissier
63428fcee17SJerome Forissier* Print call stack in panic()
63528fcee17SJerome Forissier
63628fcee17SJerome Forissier## Bug fixes
63728fcee17SJerome Forissier
63828fcee17SJerome Forissier* Fix UUID encoding when communicating with normal world (use big endian
63928fcee17SJerome Forissier  mode instead of native endianness). Related to this, the string format
64028fcee17SJerome Forissier  for UUIDs has changed in tee-supplicant, so that TA file names now follow
64128fcee17SJerome Forissier  the format defined in RFC4122 (a missing hyphen was added). The old format
64228fcee17SJerome Forissier  is still supported, but deprecated, and will likely be removed with the
64328fcee17SJerome Forissier  next major release.
64428fcee17SJerome Forissier
64528fcee17SJerome Forissier* Drop write permission to non-writable ELF segments after TA loading is
64628fcee17SJerome Forissier  complete.
64728fcee17SJerome Forissier
64828fcee17SJerome Forissier* mm: fix confusing memory mapping debug traces
64928fcee17SJerome Forissier
65028fcee17SJerome Forissier* plat-ti: fix issues with MMU mapping
65128fcee17SJerome Forissier
65228fcee17SJerome Forissier* crypto: fix clearing of big numbers
65328fcee17SJerome Forissier
65428fcee17SJerome Forissier* build: allow spaces and double quotes in CFG_ variables
65528fcee17SJerome Forissier
65628fcee17SJerome Forissier* mm: use paddr_t to support both 32- and 64-bit architectures properly.
65728fcee17SJerome Forissier  Resolves 32-bit truncation error when pool is at top of 32 bit address
65828fcee17SJerome Forissier  space on 64-bit architecture.
65928fcee17SJerome Forissier
66028fcee17SJerome Forissier* plat-stm: support pager. Fix pager on ARMv7-A SMP boards.
66128fcee17SJerome Forissier
66228fcee17SJerome Forissier* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix)
66328fcee17SJerome Forissier
66428fcee17SJerome Forissier* Do not consider TA memref parameters as TA private memory
66528fcee17SJerome Forissier
66628fcee17SJerome Forissier* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC
66728fcee17SJerome Forissier  algorithms
66828fcee17SJerome Forissier
66928fcee17SJerome Forissier* fix for 16-way PL310
67028fcee17SJerome Forissier
67128fcee17SJerome Forissier* arm32: fix call stack unwinding (`print_stack()`)
67228fcee17SJerome Forissier
67328fcee17SJerome Forissier* arm32: fix spinlock assembly code
67428fcee17SJerome Forissier
67528fcee17SJerome Forissier* plat-stm, plat-imx: fix SCR initalization
67628fcee17SJerome Forissier
67728fcee17SJerome Forissier* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values
67828fcee17SJerome Forissier  other than 7.
67928fcee17SJerome Forissier
68028fcee17SJerome Forissier* mtk-mt8173: fix panic caused by incorrect size of SHMEM
68128fcee17SJerome Forissier
68228fcee17SJerome Forissier* plat-stm: fix RNG driver (non-flat mapping)
68328fcee17SJerome Forissier
68428fcee17SJerome Forissier## Known issues
68528fcee17SJerome Forissier
68628fcee17SJerome Forissier* New issues open on GitHub
68728fcee17SJerome Forissier  * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80
68828fcee17SJerome Forissier  * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant
68928fcee17SJerome Forissier  * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to
69028fcee17SJerome Forissier    current meta header
69128fcee17SJerome Forissier  * [#1172][issue1172] paddr_t should be larger than 32 bits when
69228fcee17SJerome Forissier    CFG_WITH_LPAE is enabled
69328fcee17SJerome Forissier
69428fcee17SJerome Forissier## Tested on
69528fcee17SJerome Forissier
69628fcee17SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
69728fcee17SJerome Forissierits default configuration, while _extended_ means it was run successfully
69828fcee17SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
69928fcee17SJerome Forissierv1.1.0.4.
70028fcee17SJerome Forissier
70128fcee17SJerome ForissierIf a platform is not listed, it means the release was not tested on this
70228fcee17SJerome Forissierplatform.
70328fcee17SJerome Forissier
70428fcee17SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
70528fcee17SJerome Forissier* d02: extended
70628fcee17SJerome Forissier* hikey: extended
70728fcee17SJerome Forissier* imx-mx6ulevk: standard
70828fcee17SJerome Forissier* ls-ls1021atwr: standard
70928fcee17SJerome Forissier* mediatek-mt8173: standard
71028fcee17SJerome Forissier* rcar-h3: standard
71128fcee17SJerome Forissier* rpi3: standard
71228fcee17SJerome Forissier* stm-b2260: extended
71328fcee17SJerome Forissier* stm-cannes: extended
71428fcee17SJerome Forissier* ti-dra7xx: standard
71528fcee17SJerome Forissier* vexpress-fvp: standard
71628fcee17SJerome Forissier* vexpress-juno: standard
71728fcee17SJerome Forissier* vexpress-qemu_armv8a: standard
71828fcee17SJerome Forissier* vexpress-qemu_virt: extended
71928fcee17SJerome Forissier* zynqmp-zcu102: standard
72028fcee17SJerome Forissier
72128fcee17SJerome Forissier[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0
72228fcee17SJerome Forissier[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172
72328fcee17SJerome Forissier[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188
72428fcee17SJerome Forissier[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199
72528fcee17SJerome Forissier[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203
72628fcee17SJerome Forissier
727c0c5d399SJerome Forissier# OP-TEE - version 2.2.0
728c0c5d399SJerome Forissier
729c0c5d399SJerome Forissier[Link][github_commits_2_2_0] to a list of all commits between this release and
730c0c5d399SJerome Forissierthe previous one (2.1.0).
731c0c5d399SJerome Forissier
732c0c5d399SJerome ForissierPlease note: this release is API-compatible with the previous one, but the
733c0c5d399SJerome ForissierSecure Storage internal format is not compatible due to commit
734c0c5d399SJerome Forissier[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key").
735c0c5d399SJerome Forissier
736c0c5d399SJerome Forissier[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75
737c0c5d399SJerome Forissier
738c0c5d399SJerome Forissier## New features
739c0c5d399SJerome Forissier
740c0c5d399SJerome Forissier* New supported platforms:
741c0c5d399SJerome Forissier	* Freescale i.MX6 Quad SABRE Lite & SD
742c0c5d399SJerome Forissier	* HiSilicon D02
743c0c5d399SJerome Forissier	* Raspberry Pi3
744c0c5d399SJerome Forissier	* Renesas RCAR H3
745c0c5d399SJerome Forissier	* STMicroelectronics b2260 - h410
746c0c5d399SJerome Forissier
747c0c5d399SJerome Forissier* Pager: Support paging of read/write pages by encrypting them with AES-GCM.
748c0c5d399SJerome Forissier  Support paging of user TAs. Add global setting for TZSRAM size
749c0c5d399SJerome Forissier  (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K.
750c0c5d399SJerome Forissier
751c0c5d399SJerome Forissier* Support for more than 8 CPU cores
752c0c5d399SJerome Forissier
753c0c5d399SJerome Forissier* Added SPI framework and PL022 driver
754c0c5d399SJerome Forissier
755c0c5d399SJerome Forissier* GPIO: framework supports multiple instances, PL061 driver now has get/set
756c0c5d399SJerome Forissier  interrupt and mode control functions
757c0c5d399SJerome Forissier
758c0c5d399SJerome Forissier* Secure storage: Encrypt the File Encryption Key with a TA-specific key for
759c0c5d399SJerome Forissier  better TA isolation. Add build-time and run-time support for multiple storage
760c0c5d399SJerome Forissier  backends. Add SQLite backend.
761c0c5d399SJerome Forissier
762c0c5d399SJerome Forissier* Trusted User Interface: some code is introduced to support the implementation
763c0c5d399SJerome Forissier  of TUI. This includes: a generic framebuffer driver, display and serial
764c0c5d399SJerome Forissier  abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2
765c0c5d399SJerome Forissier  mouse.
766c0c5d399SJerome Forissier
767c0c5d399SJerome Forissier* AES acceleration using ARMv8-A Cryptographic Extensions instructions is
768c0c5d399SJerome Forissier  now supported in AArch32 mode
769c0c5d399SJerome Forissier
770c0c5d399SJerome Forissier* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address
771c0c5d399SJerome Forissier
772c0c5d399SJerome Forissier* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default.
773c0c5d399SJerome Forissier
774c0c5d399SJerome Forissier* Add macros to unwind and print the call stack of TEE core
775c0c5d399SJerome Forissier
776c0c5d399SJerome Forissier* Libtomcrypt: sync with the latest `develop` branch.
777c0c5d399SJerome Forissier
778c0c5d399SJerome Forissier* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a)
779c0c5d399SJerome Forissier
780c0c5d399SJerome Forissier* Rework assertions and TEE core panics and properly honor NDEBUG
781c0c5d399SJerome Forissier
782c0c5d399SJerome Forissier## Bug fixes
783c0c5d399SJerome Forissier
784c0c5d399SJerome Forissier* Fix incorrect algorithm passed to cipher.final()
785c0c5d399SJerome Forissier
786c0c5d399SJerome Forissier* scripts: support Python 2.x and 3.x
787c0c5d399SJerome Forissier
788c0c5d399SJerome Forissier* Secure storage: Add proper locking to support concurrent access. Fix sign
789c0c5d399SJerome Forissier  extension bug with offset parameter of syscall storage_obj_seek which could
790c0c5d399SJerome Forissier  cause errors in Aarch32 mode. Fix reading beyond end of file.
791c0c5d399SJerome Forissier
792c0c5d399SJerome Forissier* Aarch64: mask all maskable exceptions before doing a normal return from call.
793c0c5d399SJerome Forissier
794c0c5d399SJerome Forissier* Device Tree: add no-map property to OP-TEE node in reserved-memory.
795c0c5d399SJerome Forissier
796c0c5d399SJerome Forissier* LibTomcrypt: fix CVE-2016-6129
797c0c5d399SJerome Forissier
798c0c5d399SJerome Forissier## Known issues
799c0c5d399SJerome Forissier
800c0c5d399SJerome Forissier* New issues open on GitHub
801c0c5d399SJerome Forissier  * [#1093][issue1093] rcar-h3: xtest 6010 hangs
802c0c5d399SJerome Forissier  * [#1092][issue1092] rcar-h3: xtest 4010 fails
803c0c5d399SJerome Forissier  * [#1081][issue1081] Bad mapping of TA secure memref parameters
804c0c5d399SJerome Forissier  * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER
805c0c5d399SJerome Forissier  * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK())
806c0c5d399SJerome Forissier
807c0c5d399SJerome Forissier## Tested on
808c0c5d399SJerome Forissier
809c0c5d399SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with
810c0c5d399SJerome Forissierits default configuration, while _extended_ means it was run successfully
811c0c5d399SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite
812c0c5d399SJerome Forissierv1.1.0.4.
813c0c5d399SJerome Forissier
814c0c5d399SJerome ForissierIf a platform is not listed, it means the release was not tested on this
815c0c5d399SJerome Forissierplatform.
816c0c5d399SJerome Forissier
817c0c5d399SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
818c0c5d399SJerome Forissier* d02: extended
819c0c5d399SJerome Forissier* hikey: extended
820c0c5d399SJerome Forissier* imx-mx6qsabrelite: standard
821c0c5d399SJerome Forissier* imx-mx6qsabresd: standard
822c0c5d399SJerome Forissier* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093]
823c0c5d399SJerome Forissier* rpi3: standard
824c0c5d399SJerome Forissier* stm-b2260: standard
825c0c5d399SJerome Forissier* stm-cannes: standard
826c0c5d399SJerome Forissier* ti-dra7xx: standard
827c0c5d399SJerome Forissier* vexpress-fvp: standard
828c0c5d399SJerome Forissier* vexpress-juno: standard
829c0c5d399SJerome Forissier* vexpress-qemu_armv8a: standard
830c0c5d399SJerome Forissier* vexpress-qemu_virt: extended
831c0c5d399SJerome Forissier* zynqmp-zcu102: standard
832c0c5d399SJerome Forissier
833c0c5d399SJerome Forissier[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0
834c0c5d399SJerome Forissier[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081
835c0c5d399SJerome Forissier[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071
836c0c5d399SJerome Forissier[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069
837c0c5d399SJerome Forissier[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092
838c0c5d399SJerome Forissier[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093
839c0c5d399SJerome Forissier
840ac3cc110SPascal Brand# OP-TEE - version 2.1.0
841a0cd5d60SPascal Brand
842ac3cc110SPascal Brand## New features
843ac3cc110SPascal Brand
844ac3cc110SPascal Brand* New supported platforms:
845ac3cc110SPascal Brand	* Xilinx Zynq UltraScale+ MPSOC
846ac3cc110SPascal Brand	* Spreadtrum SC9860
847ac3cc110SPascal Brand
848ac3cc110SPascal Brand* GCC5 support
849ac3cc110SPascal Brand
850ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
851ac3cc110SPascal Brand  addresses was linear until this release, meaning the virtual addresses
852ac3cc110SPascal Brand  were equal to the physical addresses. This is no more the case in this
853ac3cc110SPascal Brand  release.
854ac3cc110SPascal Brand
855ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an
856ac3cc110SPascal Brand  implementation of Trusted UI.
857ac3cc110SPascal Brand
858ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB
859ac3cc110SPascal Brand  implementations simultaneously.
860ac3cc110SPascal Brand
861ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
862ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
863ac3cc110SPascal Brand
864ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
865ac3cc110SPascal Brand  [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
866ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
867ac3cc110SPascal Brand
868ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and
869ac3cc110SPascal Brand  previous release.
870ac3cc110SPascal Brand
871ac3cc110SPascal Brand
872ac3cc110SPascal Brand## Tested on
873ac3cc110SPascal BrandDefinitions:
874ac3cc110SPascal Brand
875ac3cc110SPascal Brand| Type | Meaning |
876ac3cc110SPascal Brand| ---- | ------- |
877ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
878ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
879ac3cc110SPascal Brand
880ac3cc110SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
881ac3cc110SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
882ac3cc110SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
883ac3cc110SPascal Brand*	FSL i.MX6 UltraLite EVK (imx), standard.
884ac3cc110SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard tests.
885ac3cc110SPascal Brand*	HiKey (hikey), standard + extended tests.
886ac3cc110SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
887ac3cc110SPascal Brand*	Xilinx Zynq UltraScale+ MPSOC, standard tests
888ac3cc110SPascal Brand
889ac3cc110SPascal BrandNote that the following platform has not been tested:
890ac3cc110SPascal Brand*	MTK8173-EVB (mediatek-mt8173)
891ac3cc110SPascal Brand
892ac3cc110SPascal Brand
893ac3cc110SPascal Brand## Known issues
894ac3cc110SPascal Brand* Issue(s) open on GitHub
895ac3cc110SPascal Brand  * [#868][pr868]: python-wand font generation sometimes times out
896ac3cc110SPascal Brand  * [#863][pr863]: "double free or corruption" error when building optee_os
897ac3cc110SPascal Brand  * [#858][pr858]: UUIDs in binary format have wrong endinanness
898ac3cc110SPascal Brand  * [#857][pr857]: Formatting of UUIDs is incorrect
899ac3cc110SPascal Brand  * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
900ac3cc110SPascal Brand  * [#838][pr838]: TUI font rendering is _very_ slow
901ac3cc110SPascal Brand  * [#814][pr814]: Persistent objects : save informations after close
902ac3cc110SPascal Brand  * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
903ac3cc110SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
904ac3cc110SPascal Brand
905ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
906ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868
907ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863
908ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858
909ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857
910ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847
911ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838
912ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814
913ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665
914ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
915ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee
916ac3cc110SPascal Brand
917ac3cc110SPascal Brand# OP-TEE - version 2.0.0
918a0cd5d60SPascal Brand
919a0cd5d60SPascal Brand## New features
920a0cd5d60SPascal Brand
921a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being
922a0cd5d60SPascal Brand  [upstreamed][gendrv_v9].
923a0cd5d60SPascal Brand  In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
924a0cd5d60SPascal Brand  Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
925a0cd5d60SPascal Brand  as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
926a0cd5d60SPascal Brand
927a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
928a0cd5d60SPascal Brand  of an eMMC device. Check the [full documentation][rpmb_doc]
929a0cd5d60SPascal Brand
930a0cd5d60SPascal Brand* Hard-float ABI is now available.
931a0cd5d60SPascal Brand
932a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and
933a0cd5d60SPascal Brand  previous release.
934a0cd5d60SPascal Brand
935a0cd5d60SPascal Brand
936a0cd5d60SPascal Brand## Tested on
937a0cd5d60SPascal BrandDefinitions:
938a0cd5d60SPascal Brand
939a0cd5d60SPascal Brand| Type | Meaning |
940a0cd5d60SPascal Brand| ---- | ------- |
941a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
942a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
943a0cd5d60SPascal Brand
944a0cd5d60SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
945a0cd5d60SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
946a0cd5d60SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
947eb00c7b9SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard.
948a0cd5d60SPascal Brand*	HiKey (hikey), standard.
949a0cd5d60SPascal Brand*	MTK8173-EVB (mediatek-mt8173), standard.
950a0cd5d60SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
951a0cd5d60SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
952a0cd5d60SPascal Brand
953a0cd5d60SPascal Brand## Known issues
954a0cd5d60SPascal Brand* Issue(s) open on GitHub
955a0cd5d60SPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
956a0cd5d60SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
957a0cd5d60SPascal Brand
958a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
959a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
960a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
961a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
962a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee
963a0cd5d60SPascal Brand
964a0cd5d60SPascal Brand
965c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0
966c5bbfb4dSPascal Brand
967c5bbfb4dSPascal Brand
968c5bbfb4dSPascal Brand## New features
969c5bbfb4dSPascal Brand
970c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA.
971c5bbfb4dSPascal Brand
972c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
973c5bbfb4dSPascal Brand  AArch32 and/or in AArch64 in case the core is compiled in AArch64.
974c5bbfb4dSPascal Brand  An example can be found in HiKey configuration file. Using the following
975c5bbfb4dSPascal Brand  excerpt code, the user TA libraries are compiled in both AArch32 and
976c5bbfb4dSPascal Brand  AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
977c5bbfb4dSPascal Brand  `out/arm-plat-hikey/export-ta_arm64`
978c5bbfb4dSPascal Brand
979c5bbfb4dSPascal Brand```
980c5bbfb4dSPascal Brand    ta-targets = ta_arm32
981c5bbfb4dSPascal Brand    ta-targets += ta_arm64
982c5bbfb4dSPascal Brand```
983c5bbfb4dSPascal Brand
984c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on
985c5bbfb4dSPascal Brand  several cores.
986c5bbfb4dSPascal Brand
987c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013),
988c5bbfb4dSPascal Brand  floating point tests (xtest 1006 and os_test TA) and corruption
989c5bbfb4dSPascal Brand  file storage (xtest 20000)
990c5bbfb4dSPascal Brand
991c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and
992c5bbfb4dSPascal Brand  previous release.
993c5bbfb4dSPascal Brand
994c5bbfb4dSPascal Brand
995c5bbfb4dSPascal Brand## Tested on
996c5bbfb4dSPascal BrandDefinitions:
997c5bbfb4dSPascal Brand
998c5bbfb4dSPascal Brand| Type | Meaning |
999c5bbfb4dSPascal Brand| ---- | ------- |
1000c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
1001c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1002c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1003c5bbfb4dSPascal Brand
1004c5bbfb4dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
1005c5bbfb4dSPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
1006c5bbfb4dSPascal Brand*	HiKey (hikey), standard + extended tests.
1007c5bbfb4dSPascal Brand*	MT8173 (mediatek), standard tests.
1008c5bbfb4dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
1009c5bbfb4dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
1010c5bbfb4dSPascal Brand
1011c5bbfb4dSPascal Brand## Known issues
1012c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
1013c5bbfb4dSPascal Brand  is not implemented yet.
1014c5bbfb4dSPascal Brand
1015c5bbfb4dSPascal Brand* Issue(s) open on GitHub
1016c5bbfb4dSPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
1017c5bbfb4dSPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
1018c5bbfb4dSPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
1019c5bbfb4dSPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
1020c5bbfb4dSPascal Brand
1021c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
1022c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506
1023c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
1024c5bbfb4dSPascal Brand
1025c5bbfb4dSPascal Brand
1026c5bbfb4dSPascal Brand
10278a7ee79dSPascal Brand# OP-TEE - version 1.0.0
10288a7ee79dSPascal Brand
10298a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to
10308a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO]
10318a7ee79dSPascal Brand(Developer Certificate of Origin) instead.
10328a7ee79dSPascal Brand
10338a7ee79dSPascal Brand
10348a7ee79dSPascal Brand## New features
10358a7ee79dSPascal Brand
10368a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
10378a7ee79dSPascal Brand
10388a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1,
10398a7ee79dSPascal Brand  including ECC algorithms.
10408a7ee79dSPascal Brand
10418a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations
10428a7ee79dSPascal Brand  are made atomic in order to prevent inconsistencies in case of errors
10438a7ee79dSPascal Brand  during the storage operations. [Slides][LCStorage] describing the
10448a7ee79dSPascal Brand  Secure Storage have been presented at the Linaro Connect SFO15.
10458a7ee79dSPascal Brand
10468a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a
10478a7ee79dSPascal Brand  [signed ELF format][elf]
10488a7ee79dSPascal Brand
10498a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os.
10508a7ee79dSPascal Brand
10518a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support.
10528a7ee79dSPascal Brand
10538a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released.
10548a7ee79dSPascal Brand
10558a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
10568a7ee79dSPascal Brand  to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
10578a7ee79dSPascal Brand  that used to be in optee_os have been removed, except for Juno board.
10588a7ee79dSPascal Brand
105995422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and
106095422146SPascal Brand  previous release.
106195422146SPascal Brand
10628a7ee79dSPascal Brand
10638a7ee79dSPascal Brand## Tested on
10648a7ee79dSPascal BrandDefinitions:
10658a7ee79dSPascal Brand
10668a7ee79dSPascal Brand| Type | Meaning |
10678a7ee79dSPascal Brand| ---- | ------- |
10688a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
10698a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
10708a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
10718a7ee79dSPascal Brand
10728a7ee79dSPascal Brand*	ARM Juno Board (vexpress-juno), standard + extended tests.
10738a7ee79dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
10748a7ee79dSPascal Brand*	HiKey (hikey), standard + extended tests.
10758a7ee79dSPascal Brand*	MT8173 (mediatek), standard tests.
10768a7ee79dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
10778a7ee79dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
10788a7ee79dSPascal Brand
107995422146SPascal Brand## Known issues
108095422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
108195422146SPascal Brand  is not implemented yet.
108295422146SPascal Brand
108395422146SPascal Brand* Issue(s) open on GitHub
108495422146SPascal Brand  * [#210][pr210]: libteec.so 32-bit does not communicate well
108595422146SPascal Brand    with 64-bit kernel module
108695422146SPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
108795422146SPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
108895422146SPascal Brand  * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
108995422146SPascal Brand
109095422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210
109195422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296
109295422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493
109395422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494
109495422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
10958a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
10968a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
10978a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
10988a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
10998a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test
11008a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest
11018a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build
11028a7ee79dSPascal Brand
110395422146SPascal Brand
110495422146SPascal Brand
110511d59085SPascal Brand# OP-TEE - version 0.3.0
110611d59085SPascal Brand
110711d59085SPascal Brand## New features
110811d59085SPascal Brand
110911d59085SPascal Brand*   Add hardware support for
111011d59085SPascal Brand	*   Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
111111d59085SPascal Brand	*   Hisilicon HiKey Board, ARMv8-A (plat-hikey)
111211d59085SPascal Brand*   AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
111311d59085SPascal Brand*	Secure Storage: Data can be encrypted prior to their storage in the non-secure.
111411d59085SPascal Brand	Build is configured using `CFG_ENC_FS=y`
111511d59085SPascal Brand*	A generic boot scheme can be used. Boot configuration is commonalized. This helps
111611d59085SPascal Brand	new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
111711d59085SPascal Brand    and plat-vexpress.
111811d59085SPascal Brand
111911d59085SPascal Brand## Tested on
112011d59085SPascal BrandDefinitions:
112111d59085SPascal Brand
112211d59085SPascal Brand| Type | Meaning |
112311d59085SPascal Brand| ---- | ------- |
112411d59085SPascal Brand| Standard tests | The optee_test project. |
112511d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
112611d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
112711d59085SPascal Brand
112811d59085SPascal Brand*	ARM Juno Board (vexpress-juno), standard tests.
112911d59085SPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
113011d59085SPascal Brand*	HiKey (hikey), standard tests.
113111d59085SPascal Brand*	MT8173 (mediatek), standard tests.
113211d59085SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
113311d59085SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
113411d59085SPascal Brand
113511d59085SPascal Brand-------------------------------------------
113611d59085SPascal Brand
1137f5117af2SPascal Brand# OP-TEE - version 0.2.0
1138759cc499SJoakim Bech
1139f5117af2SPascal Brand## New features
1140f5117af2SPascal Brand
1141f5117af2SPascal Brand### Linux Driver Refactoring
1142f5117af2SPascal Brand
1143f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts:
1144f5117af2SPascal Brand*	optee.ko, the generic Linux driver. It contains all functionality
1145f5117af2SPascal Brand	common to all backends.
1146f5117af2SPascal Brand*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
1147f5117af2SPascal Brand	It depends on optee.ko.
1148f5117af2SPascal Brand
1149f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using
1150f5117af2SPascal Brand
1151f5117af2SPascal Brand    modprobe optee_armtz
1152f5117af2SPascal Brand
1153f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
1154f5117af2SPascal Brand
1155f5117af2SPascal Brand### Misc new features
1156f5117af2SPascal Brand* support PL310 lock down at TEE boot
1157f5117af2SPascal Brand* add 64bits support (division / print)
1158f5117af2SPascal Brand
1159f5117af2SPascal Brand## Tested on
1160f5117af2SPascal BrandDefinitions:
1161f5117af2SPascal Brand
1162f5117af2SPascal Brand| Type | Meaning |
1163f5117af2SPascal Brand| ---- | ------- |
1164f5117af2SPascal Brand| Standard tests | The optee_test project. |
1165f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
1166f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1167f5117af2SPascal Brand
1168f5117af2SPascal Brand*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
1169f5117af2SPascal Brand
1170f5117af2SPascal Brand*   Foundation Models (vexpress-fvp), standard + extended tests.
1171f5117af2SPascal Brand
1172f5117af2SPascal Brand*   QEMU (vexpress-qemu), standard + extended tests.
1173f5117af2SPascal Brand
1174f5117af2SPascal Brand*   STM Cannes (stm-cannes), standard + extended tests.
1175f5117af2SPascal Brand
1176f5117af2SPascal Brand
117728fcee17SJerome Forissier## Issues resolved since last release
1178f5117af2SPascal Brand*	Fix user TA trace issue, in order each TA is able to select its own trace level
1179f5117af2SPascal Brand
1180f5117af2SPascal Brand
1181f5117af2SPascal Brand-------------------------------------------
1182f5117af2SPascal Brand# OP-TEE - version 0.1.0
1183f5117af2SPascal Brand
1184f5117af2SPascal Brand## New features
1185759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will
1186759cc499SJoakim Bechfind a link that present you all commits between the current and previous
1187759cc499SJoakim Bechrelease tag.
1188759cc499SJoakim Bech
1189759cc499SJoakim Bech*   GlobalPlatform Client API v1.0 support.
1190759cc499SJoakim Bech
1191759cc499SJoakim Bech*   GlobalPlatform Internal API v1.0 support.
1192759cc499SJoakim Bech
1193759cc499SJoakim Bech*   GlobalPlatform Secure Elements v1.0 support.
1194759cc499SJoakim Bech
1195759cc499SJoakim Bech*   Add hardware support for
1196759cc499SJoakim Bech
1197759cc499SJoakim Bech    *   Allwinner A80, ARMv7-A.
1198759cc499SJoakim Bech
1199759cc499SJoakim Bech    *   ARM Juno Board, ARMv8-A.
1200759cc499SJoakim Bech
1201759cc499SJoakim Bech    *   Foundation Models, ARMv8-A.
1202759cc499SJoakim Bech
1203759cc499SJoakim Bech    *   Fast Models, ARMv8-A.
1204759cc499SJoakim Bech
1205759cc499SJoakim Bech    *   QEMU, ARMv7-A.
1206759cc499SJoakim Bech
1207759cc499SJoakim Bech    *   STM Cannes, ARMv7-A.
1208759cc499SJoakim Bech
1209759cc499SJoakim Bech    *   STM Orly2, ARMv7-A.
1210759cc499SJoakim Bech
1211759cc499SJoakim Bech*   Add LibTomCrypt as the default software cryptographic library.
1212759cc499SJoakim Bech
1213759cc499SJoakim Bech*   Add cryptographic abstraction layer in on secure side to ease the use of
1214759cc499SJoakim Bech    other cryptographic software libraries or adding support for hardware
1215759cc499SJoakim Bech    acceleration.
1216759cc499SJoakim Bech
1217759cc499SJoakim Bech*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
1218759cc499SJoakim Bech
1219759cc499SJoakim Bech*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
1220759cc499SJoakim Bech
1221759cc499SJoakim Bech*   Enabled paging support in OP-TEE OS.
1222759cc499SJoakim Bech
1223759cc499SJoakim Bech*   Add support for xtest (both standard and extended) in QEMU and FVP setup
1224759cc499SJoakim Bech    scripts.
1225759cc499SJoakim Bech
1226759cc499SJoakim Bech*   Add documentation for the OS design, cryptographic abstraction layer, secure
1227759cc499SJoakim Bech    elements design, the build system, GitHub usage, key derivation extensions,
1228759cc499SJoakim Bech    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
1229759cc499SJoakim Bech    OP-TEE.
1230759cc499SJoakim Bech
1231759cc499SJoakim Bech*   Integrate support for Travis CI.
1232759cc499SJoakim Bech
1233759cc499SJoakim Bech*   [Link][github_commits_0_1_0] to a list of all commits between this and
1234759cc499SJoakim Bech    previous release.
1235759cc499SJoakim Bech
1236759cc499SJoakim Bech
1237f5117af2SPascal Brand## Tested on
1238759cc499SJoakim BechDefinitions:
1239759cc499SJoakim Bech
1240759cc499SJoakim Bech| Type | Meaning |
1241759cc499SJoakim Bech| ---- | ------- |
1242759cc499SJoakim Bech| Standard tests | The optee_test project. |
1243759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
1244759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
1245759cc499SJoakim Bech
1246759cc499SJoakim Bech*   Allwinner A80 (plat-sunxi), hello world test.
1247759cc499SJoakim Bech
1248759cc499SJoakim Bech*   ARM Juno Board (vexpress-juno), standard tests.
1249759cc499SJoakim Bech
1250759cc499SJoakim Bech*   Foundation Models (plat-vexpress-fvp), standard + extended tests
1251759cc499SJoakim Bech
1252759cc499SJoakim Bech*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
1253759cc499SJoakim Bech    tested separately).
1254759cc499SJoakim Bech
1255759cc499SJoakim Bech*   STM Cannes (plat-stm-cannes), standard + extended tests.
1256759cc499SJoakim Bech
1257759cc499SJoakim Bech
125828fcee17SJerome Forissier## Issues resolved since last release
1259759cc499SJoakim BechN/A since this is the first release tag on OP-TEE.
1260759cc499SJoakim Bech
1261759cc499SJoakim Bech
1262f5117af2SPascal Brand## Known issues
1263759cc499SJoakim Bech*   Storage is implemented, but not "Secure storage", meaning that a client
1264759cc499SJoakim Bech    needs to do encrypt files on their own before storing the files.
1265759cc499SJoakim Bech
1266759cc499SJoakim Bech*   Issue(s) open on GitHub
1267759cc499SJoakim Bech    *   [#95][pr95]: An error about building the test code of libtomcrypt.
1268759cc499SJoakim Bech
1269759cc499SJoakim Bech    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
1270759cc499SJoakim Bech	utilized optee os tee.bin as bl32 image) on juno platform, I got an
1271759cc499SJoakim Bech        error.
1272759cc499SJoakim Bech
1273759cc499SJoakim Bech    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
1274759cc499SJoakim Bech        user-supplied TEE_Attributes.
1275759cc499SJoakim Bech
1276759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
1277759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
1278759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95
1279759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149
1280759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161
1281759cc499SJoakim Bech
12827583c59eSCedric Chaumont*   Global Platform Device Internal Core API v1.1
12837583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
12847583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
1285