xref: /optee_os/CHANGELOG.md (revision c84d070c6a123fa9f1dec3d23ec2c837b4ee3fca)
1# OP-TEE - version 0.2.0
2
3## New features
4
5### Linux Driver Refactoring
6
7Linux Driver has been refactored. It is now split in two parts:
8*	optee.ko, the generic Linux driver. It contains all functionality
9	common to all backends.
10*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
11	It depends on optee.ko.
12
13Loading the TrustZone optee linux driver module is now performed using
14
15    modprobe optee_armtz
16
17Thanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
18
19### Misc new features
20* support PL310 lock down at TEE boot
21* add 64bits support (division / print)
22
23## Tested on
24Definitions:
25
26| Type | Meaning |
27| ---- | ------- |
28| Standard tests | The optee_test project. |
29| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
30| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
31
32*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
33
34*   Foundation Models (vexpress-fvp), standard + extended tests.
35
36*   QEMU (vexpress-qemu), standard + extended tests.
37
38*   STM Cannes (stm-cannes), standard + extended tests.
39
40
41## Issues resolved since last release
42*	Fix user TA trace issue, in order each TA is able to select its own trace level
43
44
45-------------------------------------------
46#OP-TEE - version 0.1.0
47
48## New features
49Below is a summary of the most important features added, but at the end you will
50find a link that present you all commits between the current and previous
51release tag.
52
53*   GlobalPlatform Client API v1.0 support.
54
55*   GlobalPlatform Internal API v1.0 support.
56
57*   GlobalPlatform Secure Elements v1.0 support.
58
59*   Add hardware support for
60
61    *   Allwinner A80, ARMv7-A.
62
63    *   ARM Juno Board, ARMv8-A.
64
65    *   Foundation Models, ARMv8-A.
66
67    *   Fast Models, ARMv8-A.
68
69    *   QEMU, ARMv7-A.
70
71    *   STM Cannes, ARMv7-A.
72
73    *   STM Orly2, ARMv7-A.
74
75*   Add LibTomCrypt as the default software cryptographic library.
76
77*   Add cryptographic abstraction layer in on secure side to ease the use of
78    other cryptographic software libraries or adding support for hardware
79    acceleration.
80
81*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
82
83*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
84
85*   Enabled paging support in OP-TEE OS.
86
87*   Add support for xtest (both standard and extended) in QEMU and FVP setup
88    scripts.
89
90*   Add documentation for the OS design, cryptographic abstraction layer, secure
91    elements design, the build system, GitHub usage, key derivation extensions,
92    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
93    OP-TEE.
94
95*   Integrate support for Travis CI.
96
97*   [Link][github_commits_0_1_0] to a list of all commits between this and
98    previous release.
99
100
101## Tested on
102Definitions:
103
104| Type | Meaning |
105| ---- | ------- |
106| Standard tests | The optee_test project. |
107| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
108| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
109
110*   Allwinner A80 (plat-sunxi), hello world test.
111
112*   ARM Juno Board (vexpress-juno), standard tests.
113
114*   Foundation Models (plat-vexpress-fvp), standard + extended tests
115
116*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
117    tested separately).
118
119*   STM Cannes (plat-stm-cannes), standard + extended tests.
120
121
122## Issues resolved since last release
123N/A since this is the first release tag on OP-TEE.
124
125
126## Known issues
127*   Storage is implemented, but not "Secure storage", meaning that a client
128    needs to do encrypt files on their own before storing the files.
129
130*   Issue(s) open on GitHub
131    *   [#95][pr95]: An error about building the test code of libtomcrypt.
132
133    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
134	utilized optee os tee.bin as bl32 image) on juno platform, I got an
135        error.
136
137    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
138        user-supplied TEE_Attributes.
139
140[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
141[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
142[pr95]: https://github.com/OP-TEE/optee_os/issues/95
143[pr149]: https://github.com/OP-TEE/optee_os/issues/149
144[pr161]: https://github.com/OP-TEE/optee_os/issues/161
145
146