xref: /optee_os/CHANGELOG.md (revision ac3cc1102a081a7fe2b0446d38c6a484c2e9b26f)
1*ac3cc110SPascal Brand# OP-TEE - version 2.1.0
2a0cd5d60SPascal Brand
3*ac3cc110SPascal Brand## New features
4*ac3cc110SPascal Brand
5*ac3cc110SPascal Brand* New supported platforms:
6*ac3cc110SPascal Brand	* Xilinx Zynq UltraScale+ MPSOC
7*ac3cc110SPascal Brand	* Spreadtrum SC9860
8*ac3cc110SPascal Brand
9*ac3cc110SPascal Brand* GCC5 support
10*ac3cc110SPascal Brand
11*ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
12*ac3cc110SPascal Brand  addresses was linear until this release, meaning the virtual addresses
13*ac3cc110SPascal Brand  were equal to the physical addresses. This is no more the case in this
14*ac3cc110SPascal Brand  release.
15*ac3cc110SPascal Brand
16*ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an
17*ac3cc110SPascal Brand  implementation of Trusted UI.
18*ac3cc110SPascal Brand
19*ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB
20*ac3cc110SPascal Brand  implementations simultaneously.
21*ac3cc110SPascal Brand
22*ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
23*ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
24*ac3cc110SPascal Brand
25*ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
26*ac3cc110SPascal Brand  [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
27*ac3cc110SPascal Brand  Please refer to the README in that repo for instructions.
28*ac3cc110SPascal Brand
29*ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and
30*ac3cc110SPascal Brand  previous release.
31*ac3cc110SPascal Brand
32*ac3cc110SPascal Brand
33*ac3cc110SPascal Brand## Tested on
34*ac3cc110SPascal BrandDefinitions:
35*ac3cc110SPascal Brand
36*ac3cc110SPascal Brand| Type | Meaning |
37*ac3cc110SPascal Brand| ---- | ------- |
38*ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
39*ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
40*ac3cc110SPascal Brand
41*ac3cc110SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
42*ac3cc110SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
43*ac3cc110SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
44*ac3cc110SPascal Brand*	FSL i.MX6 UltraLite EVK (imx), standard.
45*ac3cc110SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard tests.
46*ac3cc110SPascal Brand*	HiKey (hikey), standard + extended tests.
47*ac3cc110SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
48*ac3cc110SPascal Brand*	Xilinx Zynq UltraScale+ MPSOC, standard tests
49*ac3cc110SPascal Brand
50*ac3cc110SPascal BrandNote that the following platform has not been tested:
51*ac3cc110SPascal Brand*	MTK8173-EVB (mediatek-mt8173)
52*ac3cc110SPascal Brand
53*ac3cc110SPascal Brand
54*ac3cc110SPascal Brand## Known issues
55*ac3cc110SPascal Brand* Issue(s) open on GitHub
56*ac3cc110SPascal Brand  * [#868][pr868]: python-wand font generation sometimes times out
57*ac3cc110SPascal Brand  * [#863][pr863]: "double free or corruption" error when building optee_os
58*ac3cc110SPascal Brand  * [#858][pr858]: UUIDs in binary format have wrong endinanness
59*ac3cc110SPascal Brand  * [#857][pr857]: Formatting of UUIDs is incorrect
60*ac3cc110SPascal Brand  * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
61*ac3cc110SPascal Brand  * [#838][pr838]: TUI font rendering is _very_ slow
62*ac3cc110SPascal Brand  * [#814][pr814]: Persistent objects : save informations after close
63*ac3cc110SPascal Brand  * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
64*ac3cc110SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
65*ac3cc110SPascal Brand
66*ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
67*ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868
68*ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863
69*ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858
70*ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857
71*ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847
72*ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838
73*ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814
74*ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665
75*ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
76*ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee
77*ac3cc110SPascal Brand
78*ac3cc110SPascal Brand# OP-TEE - version 2.0.0
79a0cd5d60SPascal Brand
80a0cd5d60SPascal Brand## New features
81a0cd5d60SPascal Brand
82a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being
83a0cd5d60SPascal Brand  [upstreamed][gendrv_v9].
84a0cd5d60SPascal Brand  In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
85a0cd5d60SPascal Brand  Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
86a0cd5d60SPascal Brand  as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
87a0cd5d60SPascal Brand
88a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
89a0cd5d60SPascal Brand  of an eMMC device. Check the [full documentation][rpmb_doc]
90a0cd5d60SPascal Brand
91a0cd5d60SPascal Brand* Hard-float ABI is now available.
92a0cd5d60SPascal Brand
93a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and
94a0cd5d60SPascal Brand  previous release.
95a0cd5d60SPascal Brand
96a0cd5d60SPascal Brand
97a0cd5d60SPascal Brand## Tested on
98a0cd5d60SPascal BrandDefinitions:
99a0cd5d60SPascal Brand
100a0cd5d60SPascal Brand| Type | Meaning |
101a0cd5d60SPascal Brand| ---- | ------- |
102a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. |
103a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
104a0cd5d60SPascal Brand
105a0cd5d60SPascal Brand*	ARM Juno Board (vexpress-juno), standard.
106a0cd5d60SPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
107a0cd5d60SPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
108eb00c7b9SPascal Brand*	FSL ls1021a (ls-ls1021atwr), standard.
109a0cd5d60SPascal Brand*	HiKey (hikey), standard.
110a0cd5d60SPascal Brand*	MTK8173-EVB (mediatek-mt8173), standard.
111a0cd5d60SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
112a0cd5d60SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
113a0cd5d60SPascal Brand
114a0cd5d60SPascal Brand## Known issues
115a0cd5d60SPascal Brand* Issue(s) open on GitHub
116a0cd5d60SPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
117a0cd5d60SPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
118a0cd5d60SPascal Brand
119a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
120a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
121a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
122a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
123a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee
124a0cd5d60SPascal Brand
125a0cd5d60SPascal Brand
126c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0
127c5bbfb4dSPascal Brand
128c5bbfb4dSPascal Brand
129c5bbfb4dSPascal Brand## New features
130c5bbfb4dSPascal Brand
131c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA.
132c5bbfb4dSPascal Brand
133c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
134c5bbfb4dSPascal Brand  AArch32 and/or in AArch64 in case the core is compiled in AArch64.
135c5bbfb4dSPascal Brand  An example can be found in HiKey configuration file. Using the following
136c5bbfb4dSPascal Brand  excerpt code, the user TA libraries are compiled in both AArch32 and
137c5bbfb4dSPascal Brand  AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
138c5bbfb4dSPascal Brand  `out/arm-plat-hikey/export-ta_arm64`
139c5bbfb4dSPascal Brand
140c5bbfb4dSPascal Brand```
141c5bbfb4dSPascal Brand    ta-targets = ta_arm32
142c5bbfb4dSPascal Brand    ta-targets += ta_arm64
143c5bbfb4dSPascal Brand```
144c5bbfb4dSPascal Brand
145c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on
146c5bbfb4dSPascal Brand  several cores.
147c5bbfb4dSPascal Brand
148c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013),
149c5bbfb4dSPascal Brand  floating point tests (xtest 1006 and os_test TA) and corruption
150c5bbfb4dSPascal Brand  file storage (xtest 20000)
151c5bbfb4dSPascal Brand
152c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and
153c5bbfb4dSPascal Brand  previous release.
154c5bbfb4dSPascal Brand
155c5bbfb4dSPascal Brand
156c5bbfb4dSPascal Brand## Tested on
157c5bbfb4dSPascal BrandDefinitions:
158c5bbfb4dSPascal Brand
159c5bbfb4dSPascal Brand| Type | Meaning |
160c5bbfb4dSPascal Brand| ---- | ------- |
161c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
162c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
163c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
164c5bbfb4dSPascal Brand
165c5bbfb4dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests + extended tests,
166c5bbfb4dSPascal Brand	using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
167c5bbfb4dSPascal Brand*	HiKey (hikey), standard + extended tests.
168c5bbfb4dSPascal Brand*	MT8173 (mediatek), standard tests.
169c5bbfb4dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
170c5bbfb4dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
171c5bbfb4dSPascal Brand
172c5bbfb4dSPascal Brand## Known issues
173c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
174c5bbfb4dSPascal Brand  is not implemented yet.
175c5bbfb4dSPascal Brand
176c5bbfb4dSPascal Brand* Issue(s) open on GitHub
177c5bbfb4dSPascal Brand  * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
178c5bbfb4dSPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
179c5bbfb4dSPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
180c5bbfb4dSPascal Brand  * [#506][pr506]: tee-supplicant panic & ta panic
181c5bbfb4dSPascal Brand
182c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
183c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506
184c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
185c5bbfb4dSPascal Brand
186c5bbfb4dSPascal Brand
187c5bbfb4dSPascal Brand
1888a7ee79dSPascal Brand# OP-TEE - version 1.0.0
1898a7ee79dSPascal Brand
1908a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to
1918a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO]
1928a7ee79dSPascal Brand(Developer Certificate of Origin) instead.
1938a7ee79dSPascal Brand
1948a7ee79dSPascal Brand
1958a7ee79dSPascal Brand## New features
1968a7ee79dSPascal Brand
1978a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
1988a7ee79dSPascal Brand
1998a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1,
2008a7ee79dSPascal Brand  including ECC algorithms.
2018a7ee79dSPascal Brand
2028a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations
2038a7ee79dSPascal Brand  are made atomic in order to prevent inconsistencies in case of errors
2048a7ee79dSPascal Brand  during the storage operations. [Slides][LCStorage] describing the
2058a7ee79dSPascal Brand  Secure Storage have been presented at the Linaro Connect SFO15.
2068a7ee79dSPascal Brand
2078a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a
2088a7ee79dSPascal Brand  [signed ELF format][elf]
2098a7ee79dSPascal Brand
2108a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os.
2118a7ee79dSPascal Brand
2128a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support.
2138a7ee79dSPascal Brand
2148a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released.
2158a7ee79dSPascal Brand
2168a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
2178a7ee79dSPascal Brand  to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
2188a7ee79dSPascal Brand  that used to be in optee_os have been removed, except for Juno board.
2198a7ee79dSPascal Brand
22095422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and
22195422146SPascal Brand  previous release.
22295422146SPascal Brand
2238a7ee79dSPascal Brand
2248a7ee79dSPascal Brand## Tested on
2258a7ee79dSPascal BrandDefinitions:
2268a7ee79dSPascal Brand
2278a7ee79dSPascal Brand| Type | Meaning |
2288a7ee79dSPascal Brand| ---- | ------- |
2298a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. |
2308a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
2318a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
2328a7ee79dSPascal Brand
2338a7ee79dSPascal Brand*	ARM Juno Board (vexpress-juno), standard + extended tests.
2348a7ee79dSPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
2358a7ee79dSPascal Brand*	HiKey (hikey), standard + extended tests.
2368a7ee79dSPascal Brand*	MT8173 (mediatek), standard tests.
2378a7ee79dSPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
2388a7ee79dSPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
2398a7ee79dSPascal Brand
24095422146SPascal Brand## Known issues
24195422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection
24295422146SPascal Brand  is not implemented yet.
24395422146SPascal Brand
24495422146SPascal Brand* Issue(s) open on GitHub
24595422146SPascal Brand  * [#210][pr210]: libteec.so 32-bit does not communicate well
24695422146SPascal Brand    with 64-bit kernel module
24795422146SPascal Brand  * [#296][pr296]: Connecting RPMB to the storage APIs.
24895422146SPascal Brand  * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
24995422146SPascal Brand  * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
25095422146SPascal Brand
25195422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210
25295422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296
25395422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493
25495422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494
25595422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
2568a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
2578a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
2588a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
2598a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
2608a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test
2618a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest
2628a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build
2638a7ee79dSPascal Brand
26495422146SPascal Brand
26595422146SPascal Brand
26611d59085SPascal Brand# OP-TEE - version 0.3.0
26711d59085SPascal Brand
26811d59085SPascal Brand## New features
26911d59085SPascal Brand
27011d59085SPascal Brand*   Add hardware support for
27111d59085SPascal Brand	*   Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
27211d59085SPascal Brand	*   Hisilicon HiKey Board, ARMv8-A (plat-hikey)
27311d59085SPascal Brand*   AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
27411d59085SPascal Brand*	Secure Storage: Data can be encrypted prior to their storage in the non-secure.
27511d59085SPascal Brand	Build is configured using `CFG_ENC_FS=y`
27611d59085SPascal Brand*	A generic boot scheme can be used. Boot configuration is commonalized. This helps
27711d59085SPascal Brand	new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
27811d59085SPascal Brand    and plat-vexpress.
27911d59085SPascal Brand
28011d59085SPascal Brand## Tested on
28111d59085SPascal BrandDefinitions:
28211d59085SPascal Brand
28311d59085SPascal Brand| Type | Meaning |
28411d59085SPascal Brand| ---- | ------- |
28511d59085SPascal Brand| Standard tests | The optee_test project. |
28611d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
28711d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
28811d59085SPascal Brand
28911d59085SPascal Brand*	ARM Juno Board (vexpress-juno), standard tests.
29011d59085SPascal Brand*	Foundation Models (vexpress-fvp), standard tests.
29111d59085SPascal Brand*	HiKey (hikey), standard tests.
29211d59085SPascal Brand*	MT8173 (mediatek), standard tests.
29311d59085SPascal Brand*	QEMU (vexpress-qemu), standard + extended tests.
29411d59085SPascal Brand*	STM Cannes (stm-cannes), standard + extended tests.
29511d59085SPascal Brand
29611d59085SPascal Brand-------------------------------------------
29711d59085SPascal Brand
298f5117af2SPascal Brand# OP-TEE - version 0.2.0
299759cc499SJoakim Bech
300f5117af2SPascal Brand## New features
301f5117af2SPascal Brand
302f5117af2SPascal Brand### Linux Driver Refactoring
303f5117af2SPascal Brand
304f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts:
305f5117af2SPascal Brand*	optee.ko, the generic Linux driver. It contains all functionality
306f5117af2SPascal Brand	common to all backends.
307f5117af2SPascal Brand*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
308f5117af2SPascal Brand	It depends on optee.ko.
309f5117af2SPascal Brand
310f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using
311f5117af2SPascal Brand
312f5117af2SPascal Brand    modprobe optee_armtz
313f5117af2SPascal Brand
314f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
315f5117af2SPascal Brand
316f5117af2SPascal Brand### Misc new features
317f5117af2SPascal Brand* support PL310 lock down at TEE boot
318f5117af2SPascal Brand* add 64bits support (division / print)
319f5117af2SPascal Brand
320f5117af2SPascal Brand## Tested on
321f5117af2SPascal BrandDefinitions:
322f5117af2SPascal Brand
323f5117af2SPascal Brand| Type | Meaning |
324f5117af2SPascal Brand| ---- | ------- |
325f5117af2SPascal Brand| Standard tests | The optee_test project. |
326f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
327f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
328f5117af2SPascal Brand
329f5117af2SPascal Brand*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
330f5117af2SPascal Brand
331f5117af2SPascal Brand*   Foundation Models (vexpress-fvp), standard + extended tests.
332f5117af2SPascal Brand
333f5117af2SPascal Brand*   QEMU (vexpress-qemu), standard + extended tests.
334f5117af2SPascal Brand
335f5117af2SPascal Brand*   STM Cannes (stm-cannes), standard + extended tests.
336f5117af2SPascal Brand
337f5117af2SPascal Brand
338f5117af2SPascal Brand## Issues resolved since last release
339f5117af2SPascal Brand*	Fix user TA trace issue, in order each TA is able to select its own trace level
340f5117af2SPascal Brand
341f5117af2SPascal Brand
342f5117af2SPascal Brand-------------------------------------------
343f5117af2SPascal Brand#OP-TEE - version 0.1.0
344f5117af2SPascal Brand
345f5117af2SPascal Brand## New features
346759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will
347759cc499SJoakim Bechfind a link that present you all commits between the current and previous
348759cc499SJoakim Bechrelease tag.
349759cc499SJoakim Bech
350759cc499SJoakim Bech*   GlobalPlatform Client API v1.0 support.
351759cc499SJoakim Bech
352759cc499SJoakim Bech*   GlobalPlatform Internal API v1.0 support.
353759cc499SJoakim Bech
354759cc499SJoakim Bech*   GlobalPlatform Secure Elements v1.0 support.
355759cc499SJoakim Bech
356759cc499SJoakim Bech*   Add hardware support for
357759cc499SJoakim Bech
358759cc499SJoakim Bech    *   Allwinner A80, ARMv7-A.
359759cc499SJoakim Bech
360759cc499SJoakim Bech    *   ARM Juno Board, ARMv8-A.
361759cc499SJoakim Bech
362759cc499SJoakim Bech    *   Foundation Models, ARMv8-A.
363759cc499SJoakim Bech
364759cc499SJoakim Bech    *   Fast Models, ARMv8-A.
365759cc499SJoakim Bech
366759cc499SJoakim Bech    *   QEMU, ARMv7-A.
367759cc499SJoakim Bech
368759cc499SJoakim Bech    *   STM Cannes, ARMv7-A.
369759cc499SJoakim Bech
370759cc499SJoakim Bech    *   STM Orly2, ARMv7-A.
371759cc499SJoakim Bech
372759cc499SJoakim Bech*   Add LibTomCrypt as the default software cryptographic library.
373759cc499SJoakim Bech
374759cc499SJoakim Bech*   Add cryptographic abstraction layer in on secure side to ease the use of
375759cc499SJoakim Bech    other cryptographic software libraries or adding support for hardware
376759cc499SJoakim Bech    acceleration.
377759cc499SJoakim Bech
378759cc499SJoakim Bech*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
379759cc499SJoakim Bech
380759cc499SJoakim Bech*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
381759cc499SJoakim Bech
382759cc499SJoakim Bech*   Enabled paging support in OP-TEE OS.
383759cc499SJoakim Bech
384759cc499SJoakim Bech*   Add support for xtest (both standard and extended) in QEMU and FVP setup
385759cc499SJoakim Bech    scripts.
386759cc499SJoakim Bech
387759cc499SJoakim Bech*   Add documentation for the OS design, cryptographic abstraction layer, secure
388759cc499SJoakim Bech    elements design, the build system, GitHub usage, key derivation extensions,
389759cc499SJoakim Bech    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
390759cc499SJoakim Bech    OP-TEE.
391759cc499SJoakim Bech
392759cc499SJoakim Bech*   Integrate support for Travis CI.
393759cc499SJoakim Bech
394759cc499SJoakim Bech*   [Link][github_commits_0_1_0] to a list of all commits between this and
395759cc499SJoakim Bech    previous release.
396759cc499SJoakim Bech
397759cc499SJoakim Bech
398f5117af2SPascal Brand## Tested on
399759cc499SJoakim BechDefinitions:
400759cc499SJoakim Bech
401759cc499SJoakim Bech| Type | Meaning |
402759cc499SJoakim Bech| ---- | ------- |
403759cc499SJoakim Bech| Standard tests | The optee_test project. |
404759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
405759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
406759cc499SJoakim Bech
407759cc499SJoakim Bech*   Allwinner A80 (plat-sunxi), hello world test.
408759cc499SJoakim Bech
409759cc499SJoakim Bech*   ARM Juno Board (vexpress-juno), standard tests.
410759cc499SJoakim Bech
411759cc499SJoakim Bech*   Foundation Models (plat-vexpress-fvp), standard + extended tests
412759cc499SJoakim Bech
413759cc499SJoakim Bech*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
414759cc499SJoakim Bech    tested separately).
415759cc499SJoakim Bech
416759cc499SJoakim Bech*   STM Cannes (plat-stm-cannes), standard + extended tests.
417759cc499SJoakim Bech
418759cc499SJoakim Bech
419f5117af2SPascal Brand## Issues resolved since last release
420759cc499SJoakim BechN/A since this is the first release tag on OP-TEE.
421759cc499SJoakim Bech
422759cc499SJoakim Bech
423f5117af2SPascal Brand## Known issues
424759cc499SJoakim Bech*   Storage is implemented, but not "Secure storage", meaning that a client
425759cc499SJoakim Bech    needs to do encrypt files on their own before storing the files.
426759cc499SJoakim Bech
427759cc499SJoakim Bech*   Issue(s) open on GitHub
428759cc499SJoakim Bech    *   [#95][pr95]: An error about building the test code of libtomcrypt.
429759cc499SJoakim Bech
430759cc499SJoakim Bech    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
431759cc499SJoakim Bech	utilized optee os tee.bin as bl32 image) on juno platform, I got an
432759cc499SJoakim Bech        error.
433759cc499SJoakim Bech
434759cc499SJoakim Bech    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
435759cc499SJoakim Bech        user-supplied TEE_Attributes.
436759cc499SJoakim Bech
437759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
438759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
439759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95
440759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149
441759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161
442759cc499SJoakim Bech
4437583c59eSCedric Chaumont*   Global Platform Device Internal Core API v1.1
4447583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
4457583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
446