1*11d59085SPascal Brand# OP-TEE - version 0.3.0 2*11d59085SPascal Brand 3*11d59085SPascal Brand## New features 4*11d59085SPascal Brand 5*11d59085SPascal Brand* Add hardware support for 6*11d59085SPascal Brand * Mediatek MT8173 Board, ARMv8-A (plat-mediatek) 7*11d59085SPascal Brand * Hisilicon HiKey Board, ARMv8-A (plat-hikey) 8*11d59085SPascal Brand* AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y` 9*11d59085SPascal Brand* Secure Storage: Data can be encrypted prior to their storage in the non-secure. 10*11d59085SPascal Brand Build is configured using `CFG_ENC_FS=y` 11*11d59085SPascal Brand* A generic boot scheme can be used. Boot configuration is commonalized. This helps 12*11d59085SPascal Brand new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm 13*11d59085SPascal Brand and plat-vexpress. 14*11d59085SPascal Brand 15*11d59085SPascal Brand## Tested on 16*11d59085SPascal BrandDefinitions: 17*11d59085SPascal Brand 18*11d59085SPascal Brand| Type | Meaning | 19*11d59085SPascal Brand| ---- | ------- | 20*11d59085SPascal Brand| Standard tests | The optee_test project. | 21*11d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 22*11d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 23*11d59085SPascal Brand 24*11d59085SPascal Brand* ARM Juno Board (vexpress-juno), standard tests. 25*11d59085SPascal Brand* Foundation Models (vexpress-fvp), standard tests. 26*11d59085SPascal Brand* HiKey (hikey), standard tests. 27*11d59085SPascal Brand* MT8173 (mediatek), standard tests. 28*11d59085SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 29*11d59085SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 30*11d59085SPascal Brand 31*11d59085SPascal Brand------------------------------------------- 32*11d59085SPascal Brand 33f5117af2SPascal Brand# OP-TEE - version 0.2.0 34759cc499SJoakim Bech 35f5117af2SPascal Brand## New features 36f5117af2SPascal Brand 37f5117af2SPascal Brand### Linux Driver Refactoring 38f5117af2SPascal Brand 39f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts: 40f5117af2SPascal Brand* optee.ko, the generic Linux driver. It contains all functionality 41f5117af2SPascal Brand common to all backends. 42f5117af2SPascal Brand* optee_armtz.ko, a specific backend dedicated to the TrustZone optee. 43f5117af2SPascal Brand It depends on optee.ko. 44f5117af2SPascal Brand 45f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using 46f5117af2SPascal Brand 47f5117af2SPascal Brand modprobe optee_armtz 48f5117af2SPascal Brand 49f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded. 50f5117af2SPascal Brand 51f5117af2SPascal Brand### Misc new features 52f5117af2SPascal Brand* support PL310 lock down at TEE boot 53f5117af2SPascal Brand* add 64bits support (division / print) 54f5117af2SPascal Brand 55f5117af2SPascal Brand## Tested on 56f5117af2SPascal BrandDefinitions: 57f5117af2SPascal Brand 58f5117af2SPascal Brand| Type | Meaning | 59f5117af2SPascal Brand| ---- | ------- | 60f5117af2SPascal Brand| Standard tests | The optee_test project. | 61f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 62f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 63f5117af2SPascal Brand 64f5117af2SPascal Brand* ARM Juno Board (vexpress-juno), standard tests + extended tests. 65f5117af2SPascal Brand 66f5117af2SPascal Brand* Foundation Models (vexpress-fvp), standard + extended tests. 67f5117af2SPascal Brand 68f5117af2SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 69f5117af2SPascal Brand 70f5117af2SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 71f5117af2SPascal Brand 72f5117af2SPascal Brand 73f5117af2SPascal Brand## Issues resolved since last release 74f5117af2SPascal Brand* Fix user TA trace issue, in order each TA is able to select its own trace level 75f5117af2SPascal Brand 76f5117af2SPascal Brand 77f5117af2SPascal Brand------------------------------------------- 78f5117af2SPascal Brand#OP-TEE - version 0.1.0 79f5117af2SPascal Brand 80f5117af2SPascal Brand## New features 81759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will 82759cc499SJoakim Bechfind a link that present you all commits between the current and previous 83759cc499SJoakim Bechrelease tag. 84759cc499SJoakim Bech 85759cc499SJoakim Bech* GlobalPlatform Client API v1.0 support. 86759cc499SJoakim Bech 87759cc499SJoakim Bech* GlobalPlatform Internal API v1.0 support. 88759cc499SJoakim Bech 89759cc499SJoakim Bech* GlobalPlatform Secure Elements v1.0 support. 90759cc499SJoakim Bech 91759cc499SJoakim Bech* Add hardware support for 92759cc499SJoakim Bech 93759cc499SJoakim Bech * Allwinner A80, ARMv7-A. 94759cc499SJoakim Bech 95759cc499SJoakim Bech * ARM Juno Board, ARMv8-A. 96759cc499SJoakim Bech 97759cc499SJoakim Bech * Foundation Models, ARMv8-A. 98759cc499SJoakim Bech 99759cc499SJoakim Bech * Fast Models, ARMv8-A. 100759cc499SJoakim Bech 101759cc499SJoakim Bech * QEMU, ARMv7-A. 102759cc499SJoakim Bech 103759cc499SJoakim Bech * STM Cannes, ARMv7-A. 104759cc499SJoakim Bech 105759cc499SJoakim Bech * STM Orly2, ARMv7-A. 106759cc499SJoakim Bech 107759cc499SJoakim Bech* Add LibTomCrypt as the default software cryptographic library. 108759cc499SJoakim Bech 109759cc499SJoakim Bech* Add cryptographic abstraction layer in on secure side to ease the use of 110759cc499SJoakim Bech other cryptographic software libraries or adding support for hardware 111759cc499SJoakim Bech acceleration. 112759cc499SJoakim Bech 113759cc499SJoakim Bech* Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2. 114759cc499SJoakim Bech 115759cc499SJoakim Bech* SHA-1 and SHA-256 ARMv8-A crypto extension implementation. 116759cc499SJoakim Bech 117759cc499SJoakim Bech* Enabled paging support in OP-TEE OS. 118759cc499SJoakim Bech 119759cc499SJoakim Bech* Add support for xtest (both standard and extended) in QEMU and FVP setup 120759cc499SJoakim Bech scripts. 121759cc499SJoakim Bech 122759cc499SJoakim Bech* Add documentation for the OS design, cryptographic abstraction layer, secure 123759cc499SJoakim Bech elements design, the build system, GitHub usage, key derivation extensions, 124759cc499SJoakim Bech ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within 125759cc499SJoakim Bech OP-TEE. 126759cc499SJoakim Bech 127759cc499SJoakim Bech* Integrate support for Travis CI. 128759cc499SJoakim Bech 129759cc499SJoakim Bech* [Link][github_commits_0_1_0] to a list of all commits between this and 130759cc499SJoakim Bech previous release. 131759cc499SJoakim Bech 132759cc499SJoakim Bech 133f5117af2SPascal Brand## Tested on 134759cc499SJoakim BechDefinitions: 135759cc499SJoakim Bech 136759cc499SJoakim Bech| Type | Meaning | 137759cc499SJoakim Bech| ---- | ------- | 138759cc499SJoakim Bech| Standard tests | The optee_test project. | 139759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. | 140759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 141759cc499SJoakim Bech 142759cc499SJoakim Bech* Allwinner A80 (plat-sunxi), hello world test. 143759cc499SJoakim Bech 144759cc499SJoakim Bech* ARM Juno Board (vexpress-juno), standard tests. 145759cc499SJoakim Bech 146759cc499SJoakim Bech* Foundation Models (plat-vexpress-fvp), standard + extended tests 147759cc499SJoakim Bech 148759cc499SJoakim Bech* QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements 149759cc499SJoakim Bech tested separately). 150759cc499SJoakim Bech 151759cc499SJoakim Bech* STM Cannes (plat-stm-cannes), standard + extended tests. 152759cc499SJoakim Bech 153759cc499SJoakim Bech 154f5117af2SPascal Brand## Issues resolved since last release 155759cc499SJoakim BechN/A since this is the first release tag on OP-TEE. 156759cc499SJoakim Bech 157759cc499SJoakim Bech 158f5117af2SPascal Brand## Known issues 159759cc499SJoakim Bech* Storage is implemented, but not "Secure storage", meaning that a client 160759cc499SJoakim Bech needs to do encrypt files on their own before storing the files. 161759cc499SJoakim Bech 162759cc499SJoakim Bech* Issue(s) open on GitHub 163759cc499SJoakim Bech * [#95][pr95]: An error about building the test code of libtomcrypt. 164759cc499SJoakim Bech 165759cc499SJoakim Bech * [#149][pr149]: when testing optee os with arm trusted firmware (I 166759cc499SJoakim Bech utilized optee os tee.bin as bl32 image) on juno platform, I got an 167759cc499SJoakim Bech error. 168759cc499SJoakim Bech 169759cc499SJoakim Bech * [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on 170759cc499SJoakim Bech user-supplied TEE_Attributes. 171759cc499SJoakim Bech 172759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world 173759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884 174759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95 175759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149 176759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161 177759cc499SJoakim Bech 1787583c59eSCedric Chaumont* Global Platform Device Internal Core API v1.1 1797583c59eSCedric Chaumont * [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2) 1807583c59eSCedric Chaumont * [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2) 181