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