1*28fcee17SJerome Forissier# OP-TEE - version 2.3.0 2*28fcee17SJerome Forissier 3*28fcee17SJerome Forissier[Link][github_commits_2_3_0] to a list of all commits between this release and 4*28fcee17SJerome Forissierthe previous one (2.2.0). 5*28fcee17SJerome Forissier 6*28fcee17SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 7*28fcee17SJerome ForissierSecure Storage internal format for the REE FS is not compatible due to commit 8*28fcee17SJerome Forissier[361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object"). 9*28fcee17SJerome Forissier 10*28fcee17SJerome Forissier[commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e 11*28fcee17SJerome Forissier 12*28fcee17SJerome Forissier## New features 13*28fcee17SJerome Forissier 14*28fcee17SJerome Forissier* New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`) 15*28fcee17SJerome Forissier 16*28fcee17SJerome Forissier* Add debug assertions to spinlocks and mutexes 17*28fcee17SJerome Forissier 18*28fcee17SJerome Forissier* Add more CP15 register access macros for Cortex-A9 19*28fcee17SJerome Forissier 20*28fcee17SJerome Forissier* ARMv7-A: redesign secure monitor to make it easier to register services 21*28fcee17SJerome Forissier 22*28fcee17SJerome Forissier* ARMv7-A: cleanup boot arguments 23*28fcee17SJerome Forissier 24*28fcee17SJerome Forissier* libutee: extend `TEE_CheckMemoryAccessRights()` with 25*28fcee17SJerome Forissier `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE` 26*28fcee17SJerome Forissier 27*28fcee17SJerome Forissier* plat-hikey: enable SPI by default and add sample test code 28*28fcee17SJerome Forissier 29*28fcee17SJerome Forissier* Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs 30*28fcee17SJerome Forissier 31*28fcee17SJerome Forissier* Secure storage refactoring 32*28fcee17SJerome Forissier - Simplify interface with tee-supplicant. Minimize round trips with normal 33*28fcee17SJerome Forissier world, especially by adding a cache for FS RPC payload data. 34*28fcee17SJerome Forissier - REE FS: use a single file per object, remove block cache. 35*28fcee17SJerome Forissier 36*28fcee17SJerome Forissier* Print call stack in panic() 37*28fcee17SJerome Forissier 38*28fcee17SJerome Forissier## Bug fixes 39*28fcee17SJerome Forissier 40*28fcee17SJerome Forissier* Fix UUID encoding when communicating with normal world (use big endian 41*28fcee17SJerome Forissier mode instead of native endianness). Related to this, the string format 42*28fcee17SJerome Forissier for UUIDs has changed in tee-supplicant, so that TA file names now follow 43*28fcee17SJerome Forissier the format defined in RFC4122 (a missing hyphen was added). The old format 44*28fcee17SJerome Forissier is still supported, but deprecated, and will likely be removed with the 45*28fcee17SJerome Forissier next major release. 46*28fcee17SJerome Forissier 47*28fcee17SJerome Forissier* Drop write permission to non-writable ELF segments after TA loading is 48*28fcee17SJerome Forissier complete. 49*28fcee17SJerome Forissier 50*28fcee17SJerome Forissier* mm: fix confusing memory mapping debug traces 51*28fcee17SJerome Forissier 52*28fcee17SJerome Forissier* plat-ti: fix issues with MMU mapping 53*28fcee17SJerome Forissier 54*28fcee17SJerome Forissier* crypto: fix clearing of big numbers 55*28fcee17SJerome Forissier 56*28fcee17SJerome Forissier* build: allow spaces and double quotes in CFG_ variables 57*28fcee17SJerome Forissier 58*28fcee17SJerome Forissier* mm: use paddr_t to support both 32- and 64-bit architectures properly. 59*28fcee17SJerome Forissier Resolves 32-bit truncation error when pool is at top of 32 bit address 60*28fcee17SJerome Forissier space on 64-bit architecture. 61*28fcee17SJerome Forissier 62*28fcee17SJerome Forissier* plat-stm: support pager. Fix pager on ARMv7-A SMP boards. 63*28fcee17SJerome Forissier 64*28fcee17SJerome Forissier* Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix) 65*28fcee17SJerome Forissier 66*28fcee17SJerome Forissier* Do not consider TA memref parameters as TA private memory 67*28fcee17SJerome Forissier 68*28fcee17SJerome Forissier* crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC 69*28fcee17SJerome Forissier algorithms 70*28fcee17SJerome Forissier 71*28fcee17SJerome Forissier* fix for 16-way PL310 72*28fcee17SJerome Forissier 73*28fcee17SJerome Forissier* arm32: fix call stack unwinding (`print_stack()`) 74*28fcee17SJerome Forissier 75*28fcee17SJerome Forissier* arm32: fix spinlock assembly code 76*28fcee17SJerome Forissier 77*28fcee17SJerome Forissier* plat-stm, plat-imx: fix SCR initalization 78*28fcee17SJerome Forissier 79*28fcee17SJerome Forissier* Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values 80*28fcee17SJerome Forissier other than 7. 81*28fcee17SJerome Forissier 82*28fcee17SJerome Forissier* mtk-mt8173: fix panic caused by incorrect size of SHMEM 83*28fcee17SJerome Forissier 84*28fcee17SJerome Forissier* plat-stm: fix RNG driver (non-flat mapping) 85*28fcee17SJerome Forissier 86*28fcee17SJerome Forissier## Known issues 87*28fcee17SJerome Forissier 88*28fcee17SJerome Forissier* New issues open on GitHub 89*28fcee17SJerome Forissier * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80 90*28fcee17SJerome Forissier * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant 91*28fcee17SJerome Forissier * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to 92*28fcee17SJerome Forissier current meta header 93*28fcee17SJerome Forissier * [#1172][issue1172] paddr_t should be larger than 32 bits when 94*28fcee17SJerome Forissier CFG_WITH_LPAE is enabled 95*28fcee17SJerome Forissier 96*28fcee17SJerome Forissier## Tested on 97*28fcee17SJerome Forissier 98*28fcee17SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 99*28fcee17SJerome Forissierits default configuration, while _extended_ means it was run successfully 100*28fcee17SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 101*28fcee17SJerome Forissierv1.1.0.4. 102*28fcee17SJerome Forissier 103*28fcee17SJerome ForissierIf a platform is not listed, it means the release was not tested on this 104*28fcee17SJerome Forissierplatform. 105*28fcee17SJerome Forissier 106*28fcee17SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 107*28fcee17SJerome Forissier* d02: extended 108*28fcee17SJerome Forissier* hikey: extended 109*28fcee17SJerome Forissier* imx-mx6ulevk: standard 110*28fcee17SJerome Forissier* ls-ls1021atwr: standard 111*28fcee17SJerome Forissier* mediatek-mt8173: standard 112*28fcee17SJerome Forissier* rcar-h3: standard 113*28fcee17SJerome Forissier* rpi3: standard 114*28fcee17SJerome Forissier* stm-b2260: extended 115*28fcee17SJerome Forissier* stm-cannes: extended 116*28fcee17SJerome Forissier* ti-dra7xx: standard 117*28fcee17SJerome Forissier* vexpress-fvp: standard 118*28fcee17SJerome Forissier* vexpress-juno: standard 119*28fcee17SJerome Forissier* vexpress-qemu_armv8a: standard 120*28fcee17SJerome Forissier* vexpress-qemu_virt: extended 121*28fcee17SJerome Forissier* zynqmp-zcu102: standard 122*28fcee17SJerome Forissier 123*28fcee17SJerome Forissier[github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0 124*28fcee17SJerome Forissier[issue1172]: https://github.com/OP-TEE/optee_os/issues/1172 125*28fcee17SJerome Forissier[issue1188]: https://github.com/OP-TEE/optee_os/issues/1188 126*28fcee17SJerome Forissier[issue1199]: https://github.com/OP-TEE/optee_os/issues/1199 127*28fcee17SJerome Forissier[issue1203]: https://github.com/OP-TEE/optee_os/issues/1203 128*28fcee17SJerome Forissier 129c0c5d399SJerome Forissier# OP-TEE - version 2.2.0 130c0c5d399SJerome Forissier 131c0c5d399SJerome Forissier[Link][github_commits_2_2_0] to a list of all commits between this release and 132c0c5d399SJerome Forissierthe previous one (2.1.0). 133c0c5d399SJerome Forissier 134c0c5d399SJerome ForissierPlease note: this release is API-compatible with the previous one, but the 135c0c5d399SJerome ForissierSecure Storage internal format is not compatible due to commit 136c0c5d399SJerome Forissier[fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key"). 137c0c5d399SJerome Forissier 138c0c5d399SJerome Forissier[commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75 139c0c5d399SJerome Forissier 140c0c5d399SJerome Forissier## New features 141c0c5d399SJerome Forissier 142c0c5d399SJerome Forissier* New supported platforms: 143c0c5d399SJerome Forissier * Freescale i.MX6 Quad SABRE Lite & SD 144c0c5d399SJerome Forissier * HiSilicon D02 145c0c5d399SJerome Forissier * Raspberry Pi3 146c0c5d399SJerome Forissier * Renesas RCAR H3 147c0c5d399SJerome Forissier * STMicroelectronics b2260 - h410 148c0c5d399SJerome Forissier 149c0c5d399SJerome Forissier* Pager: Support paging of read/write pages by encrypting them with AES-GCM. 150c0c5d399SJerome Forissier Support paging of user TAs. Add global setting for TZSRAM size 151c0c5d399SJerome Forissier (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K. 152c0c5d399SJerome Forissier 153c0c5d399SJerome Forissier* Support for more than 8 CPU cores 154c0c5d399SJerome Forissier 155c0c5d399SJerome Forissier* Added SPI framework and PL022 driver 156c0c5d399SJerome Forissier 157c0c5d399SJerome Forissier* GPIO: framework supports multiple instances, PL061 driver now has get/set 158c0c5d399SJerome Forissier interrupt and mode control functions 159c0c5d399SJerome Forissier 160c0c5d399SJerome Forissier* Secure storage: Encrypt the File Encryption Key with a TA-specific key for 161c0c5d399SJerome Forissier better TA isolation. Add build-time and run-time support for multiple storage 162c0c5d399SJerome Forissier backends. Add SQLite backend. 163c0c5d399SJerome Forissier 164c0c5d399SJerome Forissier* Trusted User Interface: some code is introduced to support the implementation 165c0c5d399SJerome Forissier of TUI. This includes: a generic framebuffer driver, display and serial 166c0c5d399SJerome Forissier abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2 167c0c5d399SJerome Forissier mouse. 168c0c5d399SJerome Forissier 169c0c5d399SJerome Forissier* AES acceleration using ARMv8-A Cryptographic Extensions instructions is 170c0c5d399SJerome Forissier now supported in AArch32 mode 171c0c5d399SJerome Forissier 172c0c5d399SJerome Forissier* Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address 173c0c5d399SJerome Forissier 174c0c5d399SJerome Forissier* Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default. 175c0c5d399SJerome Forissier 176c0c5d399SJerome Forissier* Add macros to unwind and print the call stack of TEE core 177c0c5d399SJerome Forissier 178c0c5d399SJerome Forissier* Libtomcrypt: sync with the latest `develop` branch. 179c0c5d399SJerome Forissier 180c0c5d399SJerome Forissier* The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a) 181c0c5d399SJerome Forissier 182c0c5d399SJerome Forissier* Rework assertions and TEE core panics and properly honor NDEBUG 183c0c5d399SJerome Forissier 184c0c5d399SJerome Forissier## Bug fixes 185c0c5d399SJerome Forissier 186c0c5d399SJerome Forissier* Fix incorrect algorithm passed to cipher.final() 187c0c5d399SJerome Forissier 188c0c5d399SJerome Forissier* scripts: support Python 2.x and 3.x 189c0c5d399SJerome Forissier 190c0c5d399SJerome Forissier* Secure storage: Add proper locking to support concurrent access. Fix sign 191c0c5d399SJerome Forissier extension bug with offset parameter of syscall storage_obj_seek which could 192c0c5d399SJerome Forissier cause errors in Aarch32 mode. Fix reading beyond end of file. 193c0c5d399SJerome Forissier 194c0c5d399SJerome Forissier* Aarch64: mask all maskable exceptions before doing a normal return from call. 195c0c5d399SJerome Forissier 196c0c5d399SJerome Forissier* Device Tree: add no-map property to OP-TEE node in reserved-memory. 197c0c5d399SJerome Forissier 198c0c5d399SJerome Forissier* LibTomcrypt: fix CVE-2016-6129 199c0c5d399SJerome Forissier 200c0c5d399SJerome Forissier## Known issues 201c0c5d399SJerome Forissier 202c0c5d399SJerome Forissier* New issues open on GitHub 203c0c5d399SJerome Forissier * [#1093][issue1093] rcar-h3: xtest 6010 hangs 204c0c5d399SJerome Forissier * [#1092][issue1092] rcar-h3: xtest 4010 fails 205c0c5d399SJerome Forissier * [#1081][issue1081] Bad mapping of TA secure memref parameters 206c0c5d399SJerome Forissier * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER 207c0c5d399SJerome Forissier * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK()) 208c0c5d399SJerome Forissier 209c0c5d399SJerome Forissier## Tested on 210c0c5d399SJerome Forissier 211c0c5d399SJerome ForissierIn the list below, _standard_ means that the `xtest` program passed with 212c0c5d399SJerome Forissierits default configuration, while _extended_ means it was run successfully 213c0c5d399SJerome Forissierwith the additional GlobalPlatform™ TEE Initial Configuration Test Suite 214c0c5d399SJerome Forissierv1.1.0.4. 215c0c5d399SJerome Forissier 216c0c5d399SJerome ForissierIf a platform is not listed, it means the release was not tested on this 217c0c5d399SJerome Forissierplatform. 218c0c5d399SJerome Forissier 219c0c5d399SJerome Forissier<!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically --> 220c0c5d399SJerome Forissier* d02: extended 221c0c5d399SJerome Forissier* hikey: extended 222c0c5d399SJerome Forissier* imx-mx6qsabrelite: standard 223c0c5d399SJerome Forissier* imx-mx6qsabresd: standard 224c0c5d399SJerome Forissier* rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093] 225c0c5d399SJerome Forissier* rpi3: standard 226c0c5d399SJerome Forissier* stm-b2260: standard 227c0c5d399SJerome Forissier* stm-cannes: standard 228c0c5d399SJerome Forissier* ti-dra7xx: standard 229c0c5d399SJerome Forissier* vexpress-fvp: standard 230c0c5d399SJerome Forissier* vexpress-juno: standard 231c0c5d399SJerome Forissier* vexpress-qemu_armv8a: standard 232c0c5d399SJerome Forissier* vexpress-qemu_virt: extended 233c0c5d399SJerome Forissier* zynqmp-zcu102: standard 234c0c5d399SJerome Forissier 235c0c5d399SJerome Forissier[github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0 236c0c5d399SJerome Forissier[issue1081]: https://github.com/OP-TEE/optee_os/issues/1081 237c0c5d399SJerome Forissier[issue1071]: https://github.com/OP-TEE/optee_os/issues/1071 238c0c5d399SJerome Forissier[issue1069]: https://github.com/OP-TEE/optee_os/issues/1069 239c0c5d399SJerome Forissier[issue1092]: https://github.com/OP-TEE/optee_os/issues/1092 240c0c5d399SJerome Forissier[issue1093]: https://github.com/OP-TEE/optee_os/issues/1093 241c0c5d399SJerome Forissier 242ac3cc110SPascal Brand# OP-TEE - version 2.1.0 243a0cd5d60SPascal Brand 244ac3cc110SPascal Brand## New features 245ac3cc110SPascal Brand 246ac3cc110SPascal Brand* New supported platforms: 247ac3cc110SPascal Brand * Xilinx Zynq UltraScale+ MPSOC 248ac3cc110SPascal Brand * Spreadtrum SC9860 249ac3cc110SPascal Brand 250ac3cc110SPascal Brand* GCC5 support 251ac3cc110SPascal Brand 252ac3cc110SPascal Brand* Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual 253ac3cc110SPascal Brand addresses was linear until this release, meaning the virtual addresses 254ac3cc110SPascal Brand were equal to the physical addresses. This is no more the case in this 255ac3cc110SPascal Brand release. 256ac3cc110SPascal Brand 257ac3cc110SPascal Brand* Font rendering routines have been introduced in order to ease an 258ac3cc110SPascal Brand implementation of Trusted UI. 259ac3cc110SPascal Brand 260ac3cc110SPascal Brand* File Storage: Possibility to use the normal world filesystem and the RPMB 261ac3cc110SPascal Brand implementations simultaneously. 262ac3cc110SPascal Brand 263ac3cc110SPascal Brand* AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey. 264ac3cc110SPascal Brand Please refer to the README in that repo for instructions. 265ac3cc110SPascal Brand 266ac3cc110SPascal Brand* OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an 267ac3cc110SPascal Brand [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit). 268ac3cc110SPascal Brand Please refer to the README in that repo for instructions. 269ac3cc110SPascal Brand 270ac3cc110SPascal Brand* [Link][github_commits_2_1_0] to a list of all commits between this and 271ac3cc110SPascal Brand previous release. 272ac3cc110SPascal Brand 273ac3cc110SPascal Brand 274ac3cc110SPascal Brand## Tested on 275ac3cc110SPascal BrandDefinitions: 276ac3cc110SPascal Brand 277ac3cc110SPascal Brand| Type | Meaning | 278ac3cc110SPascal Brand| ---- | ------- | 279ac3cc110SPascal Brand| Standard tests | The [optee_test][optee_test] project. | 280ac3cc110SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 281ac3cc110SPascal Brand 282ac3cc110SPascal Brand* ARM Juno Board (vexpress-juno), standard. 283ac3cc110SPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 284ac3cc110SPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37) 285ac3cc110SPascal Brand* FSL i.MX6 UltraLite EVK (imx), standard. 286ac3cc110SPascal Brand* FSL ls1021a (ls-ls1021atwr), standard tests. 287ac3cc110SPascal Brand* HiKey (hikey), standard + extended tests. 288ac3cc110SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 289ac3cc110SPascal Brand* Xilinx Zynq UltraScale+ MPSOC, standard tests 290ac3cc110SPascal Brand 291ac3cc110SPascal BrandNote that the following platform has not been tested: 292ac3cc110SPascal Brand* MTK8173-EVB (mediatek-mt8173) 293ac3cc110SPascal Brand 294ac3cc110SPascal Brand 295ac3cc110SPascal Brand## Known issues 296ac3cc110SPascal Brand* Issue(s) open on GitHub 297ac3cc110SPascal Brand * [#868][pr868]: python-wand font generation sometimes times out 298ac3cc110SPascal Brand * [#863][pr863]: "double free or corruption" error when building optee_os 299ac3cc110SPascal Brand * [#858][pr858]: UUIDs in binary format have wrong endinanness 300ac3cc110SPascal Brand * [#857][pr857]: Formatting of UUIDs is incorrect 301ac3cc110SPascal Brand * [#847][pr847]: optee_os panic(TEE-CORE: Assertion) 302ac3cc110SPascal Brand * [#838][pr838]: TUI font rendering is _very_ slow 303ac3cc110SPascal Brand * [#814][pr814]: Persistent objects : save informations after close 304ac3cc110SPascal Brand * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART 305ac3cc110SPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 306ac3cc110SPascal Brand 307ac3cc110SPascal Brand[github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0 308ac3cc110SPascal Brand[pr868]: https://github.com/OP-TEE/optee_os/issues/868 309ac3cc110SPascal Brand[pr863]: https://github.com/OP-TEE/optee_os/issues/863 310ac3cc110SPascal Brand[pr858]: https://github.com/OP-TEE/optee_os/issues/858 311ac3cc110SPascal Brand[pr857]: https://github.com/OP-TEE/optee_os/issues/857 312ac3cc110SPascal Brand[pr847]: https://github.com/OP-TEE/optee_os/issues/847 313ac3cc110SPascal Brand[pr838]: https://github.com/OP-TEE/optee_os/issues/838 314ac3cc110SPascal Brand[pr814]: https://github.com/OP-TEE/optee_os/issues/814 315ac3cc110SPascal Brand[pr665]: https://github.com/OP-TEE/optee_os/issues/665 316ac3cc110SPascal Brand[aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest 317ac3cc110SPascal Brand[oe_build]: https://github.com/linaro-swg/oe-optee 318ac3cc110SPascal Brand 319ac3cc110SPascal Brand# OP-TEE - version 2.0.0 320a0cd5d60SPascal Brand 321a0cd5d60SPascal Brand## New features 322a0cd5d60SPascal Brand 323a0cd5d60SPascal Brand* Generic driver: A new generic TEE driver is in the process of being 324a0cd5d60SPascal Brand [upstreamed][gendrv_v9]. 325a0cd5d60SPascal Brand In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used. 326a0cd5d60SPascal Brand Instead, linux v4.5 is being patched using the proposed Generic TEE Driver, 327a0cd5d60SPascal Brand as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee] 328a0cd5d60SPascal Brand 329a0cd5d60SPascal Brand* RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition 330a0cd5d60SPascal Brand of an eMMC device. Check the [full documentation][rpmb_doc] 331a0cd5d60SPascal Brand 332a0cd5d60SPascal Brand* Hard-float ABI is now available. 333a0cd5d60SPascal Brand 334a0cd5d60SPascal Brand* [Link][github_commits_2_0_0] to a list of all commits between this and 335a0cd5d60SPascal Brand previous release. 336a0cd5d60SPascal Brand 337a0cd5d60SPascal Brand 338a0cd5d60SPascal Brand## Tested on 339a0cd5d60SPascal BrandDefinitions: 340a0cd5d60SPascal Brand 341a0cd5d60SPascal Brand| Type | Meaning | 342a0cd5d60SPascal Brand| ---- | ------- | 343a0cd5d60SPascal Brand| Standard tests | The [optee_test][optee_test] project. | 344a0cd5d60SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 345a0cd5d60SPascal Brand 346a0cd5d60SPascal Brand* ARM Juno Board (vexpress-juno), standard. 347a0cd5d60SPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 348a0cd5d60SPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40) 349eb00c7b9SPascal Brand* FSL ls1021a (ls-ls1021atwr), standard. 350a0cd5d60SPascal Brand* HiKey (hikey), standard. 351a0cd5d60SPascal Brand* MTK8173-EVB (mediatek-mt8173), standard. 352a0cd5d60SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 353a0cd5d60SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 354a0cd5d60SPascal Brand 355a0cd5d60SPascal Brand## Known issues 356a0cd5d60SPascal Brand* Issue(s) open on GitHub 357a0cd5d60SPascal Brand * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant 358a0cd5d60SPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 359a0cd5d60SPascal Brand 360a0cd5d60SPascal Brand[github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0 361a0cd5d60SPascal Brand[rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md 362a0cd5d60SPascal Brand[optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver 363a0cd5d60SPascal Brand[gendrv_v9]: https://lkml.org/lkml/2016/4/1/205 364a0cd5d60SPascal Brand[linux_optee]: https://github.com/linaro-swg/linux/tree/optee 365a0cd5d60SPascal Brand 366a0cd5d60SPascal Brand 367c5bbfb4dSPascal Brand# OP-TEE - version 1.1.0 368c5bbfb4dSPascal Brand 369c5bbfb4dSPascal Brand 370c5bbfb4dSPascal Brand## New features 371c5bbfb4dSPascal Brand 372c5bbfb4dSPascal Brand* Softfloat library: floating point support is now available in 32bits TA. 373c5bbfb4dSPascal Brand 374c5bbfb4dSPascal Brand* Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in 375c5bbfb4dSPascal Brand AArch32 and/or in AArch64 in case the core is compiled in AArch64. 376c5bbfb4dSPascal Brand An example can be found in HiKey configuration file. Using the following 377c5bbfb4dSPascal Brand excerpt code, the user TA libraries are compiled in both AArch32 and 378c5bbfb4dSPascal Brand AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and 379c5bbfb4dSPascal Brand `out/arm-plat-hikey/export-ta_arm64` 380c5bbfb4dSPascal Brand 381c5bbfb4dSPascal Brand``` 382c5bbfb4dSPascal Brand ta-targets = ta_arm32 383c5bbfb4dSPascal Brand ta-targets += ta_arm64 384c5bbfb4dSPascal Brand``` 385c5bbfb4dSPascal Brand 386c5bbfb4dSPascal Brand* Concurrent TA support: multiple TA can run in parallel on 387c5bbfb4dSPascal Brand several cores. 388c5bbfb4dSPascal Brand 389c5bbfb4dSPascal Brand* New tests added in xtest test suite: concurrent TA (xtest 1013), 390c5bbfb4dSPascal Brand floating point tests (xtest 1006 and os_test TA) and corruption 391c5bbfb4dSPascal Brand file storage (xtest 20000) 392c5bbfb4dSPascal Brand 393c5bbfb4dSPascal Brand* [Link][github_commits_1_1_0] to a list of all commits between this and 394c5bbfb4dSPascal Brand previous release. 395c5bbfb4dSPascal Brand 396c5bbfb4dSPascal Brand 397c5bbfb4dSPascal Brand## Tested on 398c5bbfb4dSPascal BrandDefinitions: 399c5bbfb4dSPascal Brand 400c5bbfb4dSPascal Brand| Type | Meaning | 401c5bbfb4dSPascal Brand| ---- | ------- | 402c5bbfb4dSPascal Brand| Standard tests | The [optee_test][optee_test] project. | 403c5bbfb4dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 404c5bbfb4dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 405c5bbfb4dSPascal Brand 406c5bbfb4dSPascal Brand* Foundation Models (vexpress-fvp), standard tests + extended tests, 407c5bbfb4dSPascal Brand using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40) 408c5bbfb4dSPascal Brand* HiKey (hikey), standard + extended tests. 409c5bbfb4dSPascal Brand* MT8173 (mediatek), standard tests. 410c5bbfb4dSPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 411c5bbfb4dSPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 412c5bbfb4dSPascal Brand 413c5bbfb4dSPascal Brand## Known issues 414c5bbfb4dSPascal Brand* Secure Storage is implemented, but note that anti-rollback protection 415c5bbfb4dSPascal Brand is not implemented yet. 416c5bbfb4dSPascal Brand 417c5bbfb4dSPascal Brand* Issue(s) open on GitHub 418c5bbfb4dSPascal Brand * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant 419c5bbfb4dSPascal Brand * [#296][pr296]: Connecting RPMB to the storage APIs. 420c5bbfb4dSPascal Brand * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries 421c5bbfb4dSPascal Brand * [#506][pr506]: tee-supplicant panic & ta panic 422c5bbfb4dSPascal Brand 423c5bbfb4dSPascal Brand[prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40 424c5bbfb4dSPascal Brand[pr506]: https://github.com/OP-TEE/optee_os/issues/506 425c5bbfb4dSPascal Brand[github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0 426c5bbfb4dSPascal Brand 427c5bbfb4dSPascal Brand 428c5bbfb4dSPascal Brand 4298a7ee79dSPascal Brand# OP-TEE - version 1.0.0 4308a7ee79dSPascal Brand 4318a7ee79dSPascal BrandOP-TEE is now maintained by Linaro. Contributors do not need to 4328a7ee79dSPascal Brandsign a CLA anymore, but must follow the rules of the [DCO][DCO] 4338a7ee79dSPascal Brand(Developer Certificate of Origin) instead. 4348a7ee79dSPascal Brand 4358a7ee79dSPascal Brand 4368a7ee79dSPascal Brand## New features 4378a7ee79dSPascal Brand 4388a7ee79dSPascal Brand* Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti) 4398a7ee79dSPascal Brand 4408a7ee79dSPascal Brand* GlobalPlatform™ TEE Internal Core API Specification v1.1, 4418a7ee79dSPascal Brand including ECC algorithms. 4428a7ee79dSPascal Brand 4438a7ee79dSPascal Brand* Secure Storage: Files stored by the REE are now encrypted. Operations 4448a7ee79dSPascal Brand are made atomic in order to prevent inconsistencies in case of errors 4458a7ee79dSPascal Brand during the storage operations. [Slides][LCStorage] describing the 4468a7ee79dSPascal Brand Secure Storage have been presented at the Linaro Connect SFO15. 4478a7ee79dSPascal Brand 4488a7ee79dSPascal Brand* Change of format of the Trusted Applications: they follow a 4498a7ee79dSPascal Brand [signed ELF format][elf] 4508a7ee79dSPascal Brand 4518a7ee79dSPascal Brand* Rework thread [synchronization][synchro] in optee_os. 4528a7ee79dSPascal Brand 4538a7ee79dSPascal Brand* Use of ARMv8 native cryptographic support. 4548a7ee79dSPascal Brand 4558a7ee79dSPascal Brand* [OP-TEE/optee_test][optee_test] test suite is released. 4568a7ee79dSPascal Brand 4578a7ee79dSPascal Brand* Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build] 4588a7ee79dSPascal Brand to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts 4598a7ee79dSPascal Brand that used to be in optee_os have been removed, except for Juno board. 4608a7ee79dSPascal Brand 46195422146SPascal Brand* [Link][github_commits_1_0_0] to a list of all commits between this and 46295422146SPascal Brand previous release. 46395422146SPascal Brand 4648a7ee79dSPascal Brand 4658a7ee79dSPascal Brand## Tested on 4668a7ee79dSPascal BrandDefinitions: 4678a7ee79dSPascal Brand 4688a7ee79dSPascal Brand| Type | Meaning | 4698a7ee79dSPascal Brand| ---- | ------- | 4708a7ee79dSPascal Brand| Standard tests | The [optee_test][optee_test] project. | 4718a7ee79dSPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 4728a7ee79dSPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 4738a7ee79dSPascal Brand 4748a7ee79dSPascal Brand* ARM Juno Board (vexpress-juno), standard + extended tests. 4758a7ee79dSPascal Brand* Foundation Models (vexpress-fvp), standard tests. 4768a7ee79dSPascal Brand* HiKey (hikey), standard + extended tests. 4778a7ee79dSPascal Brand* MT8173 (mediatek), standard tests. 4788a7ee79dSPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 4798a7ee79dSPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 4808a7ee79dSPascal Brand 48195422146SPascal Brand## Known issues 48295422146SPascal Brand* Secure Storage is implemented, but note that anti-rollback protection 48395422146SPascal Brand is not implemented yet. 48495422146SPascal Brand 48595422146SPascal Brand* Issue(s) open on GitHub 48695422146SPascal Brand * [#210][pr210]: libteec.so 32-bit does not communicate well 48795422146SPascal Brand with 64-bit kernel module 48895422146SPascal Brand * [#296][pr296]: Connecting RPMB to the storage APIs. 48995422146SPascal Brand * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries 49095422146SPascal Brand * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2) 49195422146SPascal Brand 49295422146SPascal Brand[pr210]: https://github.com/OP-TEE/optee_os/issues/210 49395422146SPascal Brand[pr296]: https://github.com/OP-TEE/optee_os/issues/296 49495422146SPascal Brand[pr493]: https://github.com/OP-TEE/optee_os/issues/493 49595422146SPascal Brand[pr494]: https://github.com/OP-TEE/optee_os/issues/494 49695422146SPascal Brand[github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0 4978a7ee79dSPascal Brand[DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions 4988a7ee79dSPascal Brand[LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee 4998a7ee79dSPascal Brand[synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling 5008a7ee79dSPascal Brand[elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format 5018a7ee79dSPascal Brand[optee_test]: https://github.com/OP-TEE/optee_test 5028a7ee79dSPascal Brand[manifest]: https://github.com/OP-TEE/manifest 5038a7ee79dSPascal Brand[build]: https://github.com/OP-TEE/build 5048a7ee79dSPascal Brand 50595422146SPascal Brand 50695422146SPascal Brand 50711d59085SPascal Brand# OP-TEE - version 0.3.0 50811d59085SPascal Brand 50911d59085SPascal Brand## New features 51011d59085SPascal Brand 51111d59085SPascal Brand* Add hardware support for 51211d59085SPascal Brand * Mediatek MT8173 Board, ARMv8-A (plat-mediatek) 51311d59085SPascal Brand * Hisilicon HiKey Board, ARMv8-A (plat-hikey) 51411d59085SPascal Brand* AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y` 51511d59085SPascal Brand* Secure Storage: Data can be encrypted prior to their storage in the non-secure. 51611d59085SPascal Brand Build is configured using `CFG_ENC_FS=y` 51711d59085SPascal Brand* A generic boot scheme can be used. Boot configuration is commonalized. This helps 51811d59085SPascal Brand new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm 51911d59085SPascal Brand and plat-vexpress. 52011d59085SPascal Brand 52111d59085SPascal Brand## Tested on 52211d59085SPascal BrandDefinitions: 52311d59085SPascal Brand 52411d59085SPascal Brand| Type | Meaning | 52511d59085SPascal Brand| ---- | ------- | 52611d59085SPascal Brand| Standard tests | The optee_test project. | 52711d59085SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 52811d59085SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 52911d59085SPascal Brand 53011d59085SPascal Brand* ARM Juno Board (vexpress-juno), standard tests. 53111d59085SPascal Brand* Foundation Models (vexpress-fvp), standard tests. 53211d59085SPascal Brand* HiKey (hikey), standard tests. 53311d59085SPascal Brand* MT8173 (mediatek), standard tests. 53411d59085SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 53511d59085SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 53611d59085SPascal Brand 53711d59085SPascal Brand------------------------------------------- 53811d59085SPascal Brand 539f5117af2SPascal Brand# OP-TEE - version 0.2.0 540759cc499SJoakim Bech 541f5117af2SPascal Brand## New features 542f5117af2SPascal Brand 543f5117af2SPascal Brand### Linux Driver Refactoring 544f5117af2SPascal Brand 545f5117af2SPascal BrandLinux Driver has been refactored. It is now split in two parts: 546f5117af2SPascal Brand* optee.ko, the generic Linux driver. It contains all functionality 547f5117af2SPascal Brand common to all backends. 548f5117af2SPascal Brand* optee_armtz.ko, a specific backend dedicated to the TrustZone optee. 549f5117af2SPascal Brand It depends on optee.ko. 550f5117af2SPascal Brand 551f5117af2SPascal BrandLoading the TrustZone optee linux driver module is now performed using 552f5117af2SPascal Brand 553f5117af2SPascal Brand modprobe optee_armtz 554f5117af2SPascal Brand 555f5117af2SPascal BrandThanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded. 556f5117af2SPascal Brand 557f5117af2SPascal Brand### Misc new features 558f5117af2SPascal Brand* support PL310 lock down at TEE boot 559f5117af2SPascal Brand* add 64bits support (division / print) 560f5117af2SPascal Brand 561f5117af2SPascal Brand## Tested on 562f5117af2SPascal BrandDefinitions: 563f5117af2SPascal Brand 564f5117af2SPascal Brand| Type | Meaning | 565f5117af2SPascal Brand| ---- | ------- | 566f5117af2SPascal Brand| Standard tests | The optee_test project. | 567f5117af2SPascal Brand| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. | 568f5117af2SPascal Brand| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 569f5117af2SPascal Brand 570f5117af2SPascal Brand* ARM Juno Board (vexpress-juno), standard tests + extended tests. 571f5117af2SPascal Brand 572f5117af2SPascal Brand* Foundation Models (vexpress-fvp), standard + extended tests. 573f5117af2SPascal Brand 574f5117af2SPascal Brand* QEMU (vexpress-qemu), standard + extended tests. 575f5117af2SPascal Brand 576f5117af2SPascal Brand* STM Cannes (stm-cannes), standard + extended tests. 577f5117af2SPascal Brand 578f5117af2SPascal Brand 579*28fcee17SJerome Forissier## Issues resolved since last release 580f5117af2SPascal Brand* Fix user TA trace issue, in order each TA is able to select its own trace level 581f5117af2SPascal Brand 582f5117af2SPascal Brand 583f5117af2SPascal Brand------------------------------------------- 584f5117af2SPascal Brand#OP-TEE - version 0.1.0 585f5117af2SPascal Brand 586f5117af2SPascal Brand## New features 587759cc499SJoakim BechBelow is a summary of the most important features added, but at the end you will 588759cc499SJoakim Bechfind a link that present you all commits between the current and previous 589759cc499SJoakim Bechrelease tag. 590759cc499SJoakim Bech 591759cc499SJoakim Bech* GlobalPlatform Client API v1.0 support. 592759cc499SJoakim Bech 593759cc499SJoakim Bech* GlobalPlatform Internal API v1.0 support. 594759cc499SJoakim Bech 595759cc499SJoakim Bech* GlobalPlatform Secure Elements v1.0 support. 596759cc499SJoakim Bech 597759cc499SJoakim Bech* Add hardware support for 598759cc499SJoakim Bech 599759cc499SJoakim Bech * Allwinner A80, ARMv7-A. 600759cc499SJoakim Bech 601759cc499SJoakim Bech * ARM Juno Board, ARMv8-A. 602759cc499SJoakim Bech 603759cc499SJoakim Bech * Foundation Models, ARMv8-A. 604759cc499SJoakim Bech 605759cc499SJoakim Bech * Fast Models, ARMv8-A. 606759cc499SJoakim Bech 607759cc499SJoakim Bech * QEMU, ARMv7-A. 608759cc499SJoakim Bech 609759cc499SJoakim Bech * STM Cannes, ARMv7-A. 610759cc499SJoakim Bech 611759cc499SJoakim Bech * STM Orly2, ARMv7-A. 612759cc499SJoakim Bech 613759cc499SJoakim Bech* Add LibTomCrypt as the default software cryptographic library. 614759cc499SJoakim Bech 615759cc499SJoakim Bech* Add cryptographic abstraction layer in on secure side to ease the use of 616759cc499SJoakim Bech other cryptographic software libraries or adding support for hardware 617759cc499SJoakim Bech acceleration. 618759cc499SJoakim Bech 619759cc499SJoakim Bech* Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2. 620759cc499SJoakim Bech 621759cc499SJoakim Bech* SHA-1 and SHA-256 ARMv8-A crypto extension implementation. 622759cc499SJoakim Bech 623759cc499SJoakim Bech* Enabled paging support in OP-TEE OS. 624759cc499SJoakim Bech 625759cc499SJoakim Bech* Add support for xtest (both standard and extended) in QEMU and FVP setup 626759cc499SJoakim Bech scripts. 627759cc499SJoakim Bech 628759cc499SJoakim Bech* Add documentation for the OS design, cryptographic abstraction layer, secure 629759cc499SJoakim Bech elements design, the build system, GitHub usage, key derivation extensions, 630759cc499SJoakim Bech ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within 631759cc499SJoakim Bech OP-TEE. 632759cc499SJoakim Bech 633759cc499SJoakim Bech* Integrate support for Travis CI. 634759cc499SJoakim Bech 635759cc499SJoakim Bech* [Link][github_commits_0_1_0] to a list of all commits between this and 636759cc499SJoakim Bech previous release. 637759cc499SJoakim Bech 638759cc499SJoakim Bech 639f5117af2SPascal Brand## Tested on 640759cc499SJoakim BechDefinitions: 641759cc499SJoakim Bech 642759cc499SJoakim Bech| Type | Meaning | 643759cc499SJoakim Bech| ---- | ------- | 644759cc499SJoakim Bech| Standard tests | The optee_test project. | 645759cc499SJoakim Bech| Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. | 646759cc499SJoakim Bech| Hello world test | Plain hello world Trusted Application such as [this][hello_world]. | 647759cc499SJoakim Bech 648759cc499SJoakim Bech* Allwinner A80 (plat-sunxi), hello world test. 649759cc499SJoakim Bech 650759cc499SJoakim Bech* ARM Juno Board (vexpress-juno), standard tests. 651759cc499SJoakim Bech 652759cc499SJoakim Bech* Foundation Models (plat-vexpress-fvp), standard + extended tests 653759cc499SJoakim Bech 654759cc499SJoakim Bech* QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements 655759cc499SJoakim Bech tested separately). 656759cc499SJoakim Bech 657759cc499SJoakim Bech* STM Cannes (plat-stm-cannes), standard + extended tests. 658759cc499SJoakim Bech 659759cc499SJoakim Bech 660*28fcee17SJerome Forissier## Issues resolved since last release 661759cc499SJoakim BechN/A since this is the first release tag on OP-TEE. 662759cc499SJoakim Bech 663759cc499SJoakim Bech 664f5117af2SPascal Brand## Known issues 665759cc499SJoakim Bech* Storage is implemented, but not "Secure storage", meaning that a client 666759cc499SJoakim Bech needs to do encrypt files on their own before storing the files. 667759cc499SJoakim Bech 668759cc499SJoakim Bech* Issue(s) open on GitHub 669759cc499SJoakim Bech * [#95][pr95]: An error about building the test code of libtomcrypt. 670759cc499SJoakim Bech 671759cc499SJoakim Bech * [#149][pr149]: when testing optee os with arm trusted firmware (I 672759cc499SJoakim Bech utilized optee os tee.bin as bl32 image) on juno platform, I got an 673759cc499SJoakim Bech error. 674759cc499SJoakim Bech 675759cc499SJoakim Bech * [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on 676759cc499SJoakim Bech user-supplied TEE_Attributes. 677759cc499SJoakim Bech 678759cc499SJoakim Bech[hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world 679759cc499SJoakim Bech[github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884 680759cc499SJoakim Bech[pr95]: https://github.com/OP-TEE/optee_os/issues/95 681759cc499SJoakim Bech[pr149]: https://github.com/OP-TEE/optee_os/issues/149 682759cc499SJoakim Bech[pr161]: https://github.com/OP-TEE/optee_os/issues/161 683759cc499SJoakim Bech 6847583c59eSCedric Chaumont* Global Platform Device Internal Core API v1.1 6857583c59eSCedric Chaumont * [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2) 6867583c59eSCedric Chaumont * [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2) 687