xref: /optee_os/CHANGELOG.md (revision 7583c59eb7d76afc7c36830b3b7034d44d43bb9e)
1f5117af2SPascal Brand# OP-TEE - version 0.2.0
2759cc499SJoakim Bech
3f5117af2SPascal Brand## New features
4f5117af2SPascal Brand
5f5117af2SPascal Brand### Linux Driver Refactoring
6f5117af2SPascal Brand
7f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts:
8f5117af2SPascal Brand*	optee.ko, the generic Linux driver. It contains all functionality
9f5117af2SPascal Brand	common to all backends.
10f5117af2SPascal Brand*	optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
11f5117af2SPascal Brand	It depends on optee.ko.
12f5117af2SPascal Brand
13f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using
14f5117af2SPascal Brand
15f5117af2SPascal Brand    modprobe optee_armtz
16f5117af2SPascal Brand
17f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
18f5117af2SPascal Brand
19f5117af2SPascal Brand### Misc new features
20f5117af2SPascal Brand* support PL310 lock down at TEE boot
21f5117af2SPascal Brand* add 64bits support (division / print)
22f5117af2SPascal Brand
23f5117af2SPascal Brand## Tested on
24f5117af2SPascal BrandDefinitions:
25f5117af2SPascal Brand
26f5117af2SPascal Brand| Type | Meaning |
27f5117af2SPascal Brand| ---- | ------- |
28f5117af2SPascal Brand| Standard tests | The optee_test project. |
29f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
30f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
31f5117af2SPascal Brand
32f5117af2SPascal Brand*   ARM Juno Board (vexpress-juno), standard tests + extended tests.
33f5117af2SPascal Brand
34f5117af2SPascal Brand*   Foundation Models (vexpress-fvp), standard + extended tests.
35f5117af2SPascal Brand
36f5117af2SPascal Brand*   QEMU (vexpress-qemu), standard + extended tests.
37f5117af2SPascal Brand
38f5117af2SPascal Brand*   STM Cannes (stm-cannes), standard + extended tests.
39f5117af2SPascal Brand
40f5117af2SPascal Brand
41f5117af2SPascal Brand## Issues resolved since last release
42f5117af2SPascal Brand*	Fix user TA trace issue, in order each TA is able to select its own trace level
43f5117af2SPascal Brand
44f5117af2SPascal Brand
45f5117af2SPascal Brand-------------------------------------------
46f5117af2SPascal Brand#OP-TEE - version 0.1.0
47f5117af2SPascal Brand
48f5117af2SPascal Brand## New features
49759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will
50759cc499SJoakim Bechfind a link that present you all commits between the current and previous
51759cc499SJoakim Bechrelease tag.
52759cc499SJoakim Bech
53759cc499SJoakim Bech*   GlobalPlatform Client API v1.0 support.
54759cc499SJoakim Bech
55759cc499SJoakim Bech*   GlobalPlatform Internal API v1.0 support.
56759cc499SJoakim Bech
57759cc499SJoakim Bech*   GlobalPlatform Secure Elements v1.0 support.
58759cc499SJoakim Bech
59759cc499SJoakim Bech*   Add hardware support for
60759cc499SJoakim Bech
61759cc499SJoakim Bech    *   Allwinner A80, ARMv7-A.
62759cc499SJoakim Bech
63759cc499SJoakim Bech    *   ARM Juno Board, ARMv8-A.
64759cc499SJoakim Bech
65759cc499SJoakim Bech    *   Foundation Models, ARMv8-A.
66759cc499SJoakim Bech
67759cc499SJoakim Bech    *   Fast Models, ARMv8-A.
68759cc499SJoakim Bech
69759cc499SJoakim Bech    *   QEMU, ARMv7-A.
70759cc499SJoakim Bech
71759cc499SJoakim Bech    *   STM Cannes, ARMv7-A.
72759cc499SJoakim Bech
73759cc499SJoakim Bech    *   STM Orly2, ARMv7-A.
74759cc499SJoakim Bech
75759cc499SJoakim Bech*   Add LibTomCrypt as the default software cryptographic library.
76759cc499SJoakim Bech
77759cc499SJoakim Bech*   Add cryptographic abstraction layer in on secure side to ease the use of
78759cc499SJoakim Bech    other cryptographic software libraries or adding support for hardware
79759cc499SJoakim Bech    acceleration.
80759cc499SJoakim Bech
81759cc499SJoakim Bech*   Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
82759cc499SJoakim Bech
83759cc499SJoakim Bech*   SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
84759cc499SJoakim Bech
85759cc499SJoakim Bech*   Enabled paging support in OP-TEE OS.
86759cc499SJoakim Bech
87759cc499SJoakim Bech*   Add support for xtest (both standard and extended) in QEMU and FVP setup
88759cc499SJoakim Bech    scripts.
89759cc499SJoakim Bech
90759cc499SJoakim Bech*   Add documentation for the OS design, cryptographic abstraction layer, secure
91759cc499SJoakim Bech    elements design, the build system, GitHub usage, key derivation extensions,
92759cc499SJoakim Bech    ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
93759cc499SJoakim Bech    OP-TEE.
94759cc499SJoakim Bech
95759cc499SJoakim Bech*   Integrate support for Travis CI.
96759cc499SJoakim Bech
97759cc499SJoakim Bech*   [Link][github_commits_0_1_0] to a list of all commits between this and
98759cc499SJoakim Bech    previous release.
99759cc499SJoakim Bech
100759cc499SJoakim Bech
101f5117af2SPascal Brand## Tested on
102759cc499SJoakim BechDefinitions:
103759cc499SJoakim Bech
104759cc499SJoakim Bech| Type | Meaning |
105759cc499SJoakim Bech| ---- | ------- |
106759cc499SJoakim Bech| Standard tests | The optee_test project. |
107759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
108759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
109759cc499SJoakim Bech
110759cc499SJoakim Bech*   Allwinner A80 (plat-sunxi), hello world test.
111759cc499SJoakim Bech
112759cc499SJoakim Bech*   ARM Juno Board (vexpress-juno), standard tests.
113759cc499SJoakim Bech
114759cc499SJoakim Bech*   Foundation Models (plat-vexpress-fvp), standard + extended tests
115759cc499SJoakim Bech
116759cc499SJoakim Bech*   QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
117759cc499SJoakim Bech    tested separately).
118759cc499SJoakim Bech
119759cc499SJoakim Bech*   STM Cannes (plat-stm-cannes), standard + extended tests.
120759cc499SJoakim Bech
121759cc499SJoakim Bech
122f5117af2SPascal Brand## Issues resolved since last release
123759cc499SJoakim BechN/A since this is the first release tag on OP-TEE.
124759cc499SJoakim Bech
125759cc499SJoakim Bech
126f5117af2SPascal Brand## Known issues
127759cc499SJoakim Bech*   Storage is implemented, but not "Secure storage", meaning that a client
128759cc499SJoakim Bech    needs to do encrypt files on their own before storing the files.
129759cc499SJoakim Bech
130759cc499SJoakim Bech*   Issue(s) open on GitHub
131759cc499SJoakim Bech    *   [#95][pr95]: An error about building the test code of libtomcrypt.
132759cc499SJoakim Bech
133759cc499SJoakim Bech    *   [#149][pr149]: when testing optee os with arm trusted firmware (I
134759cc499SJoakim Bech	utilized optee os tee.bin as bl32 image) on juno platform, I got an
135759cc499SJoakim Bech        error.
136759cc499SJoakim Bech
137759cc499SJoakim Bech    *   [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
138759cc499SJoakim Bech        user-supplied TEE_Attributes.
139759cc499SJoakim Bech
140759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
141759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
142759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95
143759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149
144759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161
145759cc499SJoakim Bech
146*7583c59eSCedric Chaumont*   Global Platform Device Internal Core API v1.1
147*7583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
148*7583c59eSCedric Chaumont    *   [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)
149