1 # OP-TEE - version 2.3.0
3 [Link][github_commits_2_3_0] to a list of all commits between this release and
4 the previous one (2.2.0).
6 Please note: this release is API-compatible with the previous one, but the
7 Secure Storage internal format for the REE FS is not compatible due to commit
8 [361fb3e][commit_361fb3e] ("core: REE FS: use a single file per object").
10 [commit_361fb3e]: https://github.com/OP-TEE/optee_os/commit/361fb3e
14 * New supported platform: Xilinx Zynq 7000 ZC702 (`PLATFORM=zynq7k-zc702`)
16 * Add debug assertions to spinlocks and mutexes
18 * Add more CP15 register access macros for Cortex-A9
20 * ARMv7-A: redesign secure monitor to make it easier to register services
22 * ARMv7-A: cleanup boot arguments
24 * libutee: extend `TEE_CheckMemoryAccessRights()` with
25 `TEE_MEMORY_ACCESS_SECURE` and `TEE_MEMORY_ACCESS_NONSECURE`
27 * plat-hikey: enable SPI by default and add sample test code
29 * Consider `CFLAGS_ta_arm64` and `CFLAGS_ta_arm32` when building TAs
31 * Secure storage refactoring
32 - Simplify interface with tee-supplicant. Minimize round trips with normal
33 world, especially by adding a cache for FS RPC payload data.
34 - REE FS: use a single file per object, remove block cache.
36 * Print call stack in panic()
40 * Fix UUID encoding when communicating with normal world (use big endian
41 mode instead of native endianness). Related to this, the string format
42 for UUIDs has changed in tee-supplicant, so that TA file names now follow
43 the format defined in RFC4122 (a missing hyphen was added). The old format
44 is still supported, but deprecated, and will likely be removed with the
47 * Drop write permission to non-writable ELF segments after TA loading is
50 * mm: fix confusing memory mapping debug traces
52 * plat-ti: fix issues with MMU mapping
54 * crypto: fix clearing of big numbers
56 * build: allow spaces and double quotes in CFG_ variables
58 * mm: use paddr_t to support both 32- and 64-bit architectures properly.
59 Resolves 32-bit truncation error when pool is at top of 32 bit address
60 space on 64-bit architecture.
62 * plat-stm: support pager. Fix pager on ARMv7-A SMP boards.
64 * Fix debug output of Trusted Applications (remove "ERROR: TEE-CORE:" prefix)
66 * Do not consider TA memref parameters as TA private memory
68 * crypto: fix `cipher_final()` which would not call `cbc_done()` for CBC_MAC
71 * fix for 16-way PL310
73 * arm32: fix call stack unwinding (`print_stack()`)
75 * arm32: fix spinlock assembly code
77 * plat-stm, plat-imx: fix SCR initalization
79 * Fix user L1 MMU entries calculation (non-LPAE), allowing TTBCR.N values
82 * mtk-mt8173: fix panic caused by incorrect size of SHMEM
84 * plat-stm: fix RNG driver (non-flat mapping)
88 * New issues open on GitHub
89 * [#1203][issue1203] AES-CTS mode will fail when inlen=0x100, in_incr=0x80
90 * [#1199][issue1199] Both tee and teepriv reported GlobalPlatform compliant
91 * [#1188][issue1188] Secure storage (SQL FS and REE FS): blocks not tied to
93 * [#1172][issue1172] paddr_t should be larger than 32 bits when
94 CFG_WITH_LPAE is enabled
98 In the list below, _standard_ means that the `xtest` program passed with
99 its default configuration, while _extended_ means it was run successfully
100 with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
103 If a platform is not listed, it means the release was not tested on this
106 <!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
109 * imx-mx6ulevk: standard
110 * ls-ls1021atwr: standard
111 * mediatek-mt8173: standard
114 * stm-b2260: extended
115 * stm-cannes: extended
116 * ti-dra7xx: standard
117 * vexpress-fvp: standard
118 * vexpress-juno: standard
119 * vexpress-qemu_armv8a: standard
120 * vexpress-qemu_virt: extended
121 * zynqmp-zcu102: standard
123 [github_commits_2_3_0]: https://github.com/OP-TEE/optee_os/compare/2.2.0...2.3.0
124 [issue1172]: https://github.com/OP-TEE/optee_os/issues/1172
125 [issue1188]: https://github.com/OP-TEE/optee_os/issues/1188
126 [issue1199]: https://github.com/OP-TEE/optee_os/issues/1199
127 [issue1203]: https://github.com/OP-TEE/optee_os/issues/1203
129 # OP-TEE - version 2.2.0
131 [Link][github_commits_2_2_0] to a list of all commits between this release and
132 the previous one (2.1.0).
134 Please note: this release is API-compatible with the previous one, but the
135 Secure Storage internal format is not compatible due to commit
136 [fde4a75][commit_fde4a75] ("storage: encrypt the FEK with a TA-specific key").
138 [commit_fde4a75]: https://github.com/OP-TEE/optee_os/commit/fde4a75
142 * New supported platforms:
143 * Freescale i.MX6 Quad SABRE Lite & SD
147 * STMicroelectronics b2260 - h410
149 * Pager: Support paging of read/write pages by encrypting them with AES-GCM.
150 Support paging of user TAs. Add global setting for TZSRAM size
151 (CFG_CORE_TZSRAM_EMUL_SIZE), defaults to 300K.
153 * Support for more than 8 CPU cores
155 * Added SPI framework and PL022 driver
157 * GPIO: framework supports multiple instances, PL061 driver now has get/set
158 interrupt and mode control functions
160 * Secure storage: Encrypt the File Encryption Key with a TA-specific key for
161 better TA isolation. Add build-time and run-time support for multiple storage
162 backends. Add SQLite backend.
164 * Trusted User Interface: some code is introduced to support the implementation
165 of TUI. This includes: a generic framebuffer driver, display and serial
166 abstractions, and drivers for PL111 (LCD) / PL050 (KMI) / TZC400 and PS2
169 * AES acceleration using ARMv8-A Cryptographic Extensions instructions is
170 now supported in AArch32 mode
172 * Add support for GCC flags: -fsanitize=undefined and -fsanitize=kernel-address
174 * Use a global setting for core heap size (CFG_CORE_HEAP_SIZE), 64K by default.
176 * Add macros to unwind and print the call stack of TEE core
178 * Libtomcrypt: sync with the latest `develop` branch.
180 * The Trusted Application SDK (ta_dev_kit.mk) can produce libraries (.a)
182 * Rework assertions and TEE core panics and properly honor NDEBUG
186 * Fix incorrect algorithm passed to cipher.final()
188 * scripts: support Python 2.x and 3.x
190 * Secure storage: Add proper locking to support concurrent access. Fix sign
191 extension bug with offset parameter of syscall storage_obj_seek which could
192 cause errors in Aarch32 mode. Fix reading beyond end of file.
194 * Aarch64: mask all maskable exceptions before doing a normal return from call.
196 * Device Tree: add no-map property to OP-TEE node in reserved-memory.
198 * LibTomcrypt: fix CVE-2016-6129
202 * New issues open on GitHub
203 * [#1093][issue1093] rcar-h3: xtest 6010 hangs
204 * [#1092][issue1092] rcar-h3: xtest 4010 fails
205 * [#1081][issue1081] Bad mapping of TA secure memref parameters
206 * [#1071][issue1071] __data_end may not correctly represent text start position when using CFG_WITH_PAGER
207 * [#1069][issue1069] armv7/Aarch32: crash in stack unwind (DPRINT_STACK())
211 In the list below, _standard_ means that the `xtest` program passed with
212 its default configuration, while _extended_ means it was run successfully
213 with the additional GlobalPlatform™ TEE Initial Configuration Test Suite
216 If a platform is not listed, it means the release was not tested on this
219 <!-- ${PLATFORM}-${PLATFORM_FLAVOR}, ordered alphabetically -->
222 * imx-mx6qsabrelite: standard
223 * imx-mx6qsabresd: standard
224 * rcar-h3: standard, pass except issues [#1092][issue1092] and [#1093][issue1093]
226 * stm-b2260: standard
227 * stm-cannes: standard
228 * ti-dra7xx: standard
229 * vexpress-fvp: standard
230 * vexpress-juno: standard
231 * vexpress-qemu_armv8a: standard
232 * vexpress-qemu_virt: extended
233 * zynqmp-zcu102: standard
235 [github_commits_2_2_0]: https://github.com/OP-TEE/optee_os/compare/2.1.0...2.2.0
236 [issue1081]: https://github.com/OP-TEE/optee_os/issues/1081
237 [issue1071]: https://github.com/OP-TEE/optee_os/issues/1071
238 [issue1069]: https://github.com/OP-TEE/optee_os/issues/1069
239 [issue1092]: https://github.com/OP-TEE/optee_os/issues/1092
240 [issue1093]: https://github.com/OP-TEE/optee_os/issues/1093
242 # OP-TEE - version 2.1.0
246 * New supported platforms:
247 * Xilinx Zynq UltraScale+ MPSOC
252 * Non Linear Mapping support: In OP-TEE kernel mode, the physical to virtual
253 addresses was linear until this release, meaning the virtual addresses
254 were equal to the physical addresses. This is no more the case in this
257 * Font rendering routines have been introduced in order to ease an
258 implementation of Trusted UI.
260 * File Storage: Possibility to use the normal world filesystem and the RPMB
261 implementations simultaneously.
263 * AOSP: There is a [local manifest][aosp_local_manifest] to build OP-TEE into an AOSP build, running on HiKey.
264 Please refer to the README in that repo for instructions.
266 * OpenEmbedded: In addition to the makefile-based build described in the optee_os README, there is an
267 [OpenEmbedded-based build][oe_build] that supports Qemu (32-bit), FVP (64-bit), and HiKey (64-bit).
268 Please refer to the README in that repo for instructions.
270 * [Link][github_commits_2_1_0] to a list of all commits between this and
279 | Standard tests | The [optee_test][optee_test] project. |
280 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
282 * ARM Juno Board (vexpress-juno), standard.
283 * Foundation Models (vexpress-fvp), standard tests + extended tests,
284 using FVP ARM V8 Foundation Platformr0p0 (platform build 10.0.37)
285 * FSL i.MX6 UltraLite EVK (imx), standard.
286 * FSL ls1021a (ls-ls1021atwr), standard tests.
287 * HiKey (hikey), standard + extended tests.
288 * QEMU (vexpress-qemu), standard + extended tests.
289 * Xilinx Zynq UltraScale+ MPSOC, standard tests
291 Note that the following platform has not been tested:
292 * MTK8173-EVB (mediatek-mt8173)
296 * Issue(s) open on GitHub
297 * [#868][pr868]: python-wand font generation sometimes times out
298 * [#863][pr863]: "double free or corruption" error when building optee_os
299 * [#858][pr858]: UUIDs in binary format have wrong endinanness
300 * [#857][pr857]: Formatting of UUIDs is incorrect
301 * [#847][pr847]: optee_os panic(TEE-CORE: Assertion)
302 * [#838][pr838]: TUI font rendering is _very_ slow
303 * [#814][pr814]: Persistent objects : save informations after close
304 * [#665][pr665]: xtest 1013 stalled on HiKey when log levels are 4 and optee_os is on its own UART
305 * [#506][pr506]: tee-supplicant panic & ta panic
307 [github_commits_2_1_0]: https://github.com/OP-TEE/optee_os/compare/2.0.0...2.1.0
308 [pr868]: https://github.com/OP-TEE/optee_os/issues/868
309 [pr863]: https://github.com/OP-TEE/optee_os/issues/863
310 [pr858]: https://github.com/OP-TEE/optee_os/issues/858
311 [pr857]: https://github.com/OP-TEE/optee_os/issues/857
312 [pr847]: https://github.com/OP-TEE/optee_os/issues/847
313 [pr838]: https://github.com/OP-TEE/optee_os/issues/838
314 [pr814]: https://github.com/OP-TEE/optee_os/issues/814
315 [pr665]: https://github.com/OP-TEE/optee_os/issues/665
316 [aosp_local_manifest]: https://github.com/linaro-swg/optee_android_manifest
317 [oe_build]: https://github.com/linaro-swg/oe-optee
319 # OP-TEE - version 2.0.0
323 * Generic driver: A new generic TEE driver is in the process of being
324 [upstreamed][gendrv_v9].
325 In this release, [OP-TEE/optee_linuxdriver][optee_linuxdriver] is no more used.
326 Instead, linux v4.5 is being patched using the proposed Generic TEE Driver,
327 as it can be found in [https://github.com/linaro-swg/linux/tree/optee][linux_optee]
329 * RPMB support: Secure Storage can now use Replay Protected Memory Block (RPMB) partition
330 of an eMMC device. Check the [full documentation][rpmb_doc]
332 * Hard-float ABI is now available.
334 * [Link][github_commits_2_0_0] to a list of all commits between this and
343 | Standard tests | The [optee_test][optee_test] project. |
344 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
346 * ARM Juno Board (vexpress-juno), standard.
347 * Foundation Models (vexpress-fvp), standard tests + extended tests,
348 using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
349 * FSL ls1021a (ls-ls1021atwr), standard.
350 * HiKey (hikey), standard.
351 * MTK8173-EVB (mediatek-mt8173), standard.
352 * QEMU (vexpress-qemu), standard + extended tests.
353 * STM Cannes (stm-cannes), standard + extended tests.
356 * Issue(s) open on GitHub
357 * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
358 * [#506][pr506]: tee-supplicant panic & ta panic
360 [github_commits_2_0_0]: https://github.com/OP-TEE/optee_os/compare/1.1.0...2.0.0
361 [rpmb_doc]: https://github.com/OP-TEE/optee_os/blob/master/documentation/secure_storage_rpmb.md
362 [optee_linuxdriver]: https://github.com/OP-TEE/optee_linuxdriver
363 [gendrv_v9]: https://lkml.org/lkml/2016/4/1/205
364 [linux_optee]: https://github.com/linaro-swg/linux/tree/optee
367 # OP-TEE - version 1.1.0
372 * Softfloat library: floating point support is now available in 32bits TA.
374 * Support running 64-bits TA: on ARMv8-A platform, TA can be compiled in
375 AArch32 and/or in AArch64 in case the core is compiled in AArch64.
376 An example can be found in HiKey configuration file. Using the following
377 excerpt code, the user TA libraries are compiled in both AArch32 and
378 AArch64, and can be found in `out/arm-plat-hikey/export-ta_arm32` and
379 `out/arm-plat-hikey/export-ta_arm64`
382 ta-targets = ta_arm32
383 ta-targets += ta_arm64
386 * Concurrent TA support: multiple TA can run in parallel on
389 * New tests added in xtest test suite: concurrent TA (xtest 1013),
390 floating point tests (xtest 1006 and os_test TA) and corruption
391 file storage (xtest 20000)
393 * [Link][github_commits_1_1_0] to a list of all commits between this and
402 | Standard tests | The [optee_test][optee_test] project. |
403 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
404 | Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
406 * Foundation Models (vexpress-fvp), standard tests + extended tests,
407 using FVP ARM V8 Foundation Platformr0p0 (platform build 9.5.40)
408 * HiKey (hikey), standard + extended tests.
409 * MT8173 (mediatek), standard tests.
410 * QEMU (vexpress-qemu), standard + extended tests.
411 * STM Cannes (stm-cannes), standard + extended tests.
414 * Secure Storage is implemented, but note that anti-rollback protection
415 is not implemented yet.
417 * Issue(s) open on GitHub
418 * [#40][prld40] BUG_ON() when re-using RPC buffer to tee-supplicant
419 * [#296][pr296]: Connecting RPMB to the storage APIs.
420 * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
421 * [#506][pr506]: tee-supplicant panic & ta panic
423 [prld40]: https://github.com/OP-TEE/optee_linuxdriver/issues/40
424 [pr506]: https://github.com/OP-TEE/optee_os/issues/506
425 [github_commits_1_1_0]: https://github.com/OP-TEE/optee_os/compare/1.0.1...1.1.0
429 # OP-TEE - version 1.0.0
431 OP-TEE is now maintained by Linaro. Contributors do not need to
432 sign a CLA anymore, but must follow the rules of the [DCO][DCO]
433 (Developer Certificate of Origin) instead.
438 * Add hardware support for Texas Instruments DRA7xx, ARMv7 (plat-ti)
440 * GlobalPlatform™ TEE Internal Core API Specification v1.1,
441 including ECC algorithms.
443 * Secure Storage: Files stored by the REE are now encrypted. Operations
444 are made atomic in order to prevent inconsistencies in case of errors
445 during the storage operations. [Slides][LCStorage] describing the
446 Secure Storage have been presented at the Linaro Connect SFO15.
448 * Change of format of the Trusted Applications: they follow a
449 [signed ELF format][elf]
451 * Rework thread [synchronization][synchro] in optee_os.
453 * Use of ARMv8 native cryptographic support.
455 * [OP-TEE/optee_test][optee_test] test suite is released.
457 * Introduce [OP-TEE/manifest][manifest] and [OP-TEE/build][build]
458 to setup and build QEMU, FVP, HiKey and Mediatek platforms. Setup scripts
459 that used to be in optee_os have been removed, except for Juno board.
461 * [Link][github_commits_1_0_0] to a list of all commits between this and
470 | Standard tests | The [optee_test][optee_test] project. |
471 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
472 | Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
474 * ARM Juno Board (vexpress-juno), standard + extended tests.
475 * Foundation Models (vexpress-fvp), standard tests.
476 * HiKey (hikey), standard + extended tests.
477 * MT8173 (mediatek), standard tests.
478 * QEMU (vexpress-qemu), standard + extended tests.
479 * STM Cannes (stm-cannes), standard + extended tests.
482 * Secure Storage is implemented, but note that anti-rollback protection
483 is not implemented yet.
485 * Issue(s) open on GitHub
486 * [#210][pr210]: libteec.so 32-bit does not communicate well
487 with 64-bit kernel module
488 * [#296][pr296]: Connecting RPMB to the storage APIs.
489 * [#493][pr493]: setup_juno_optee: unable to find pre-built binaries
490 * [#494][pr494]: HiKey: xtest 7671 fails (1.0.0-rc2)
492 [pr210]: https://github.com/OP-TEE/optee_os/issues/210
493 [pr296]: https://github.com/OP-TEE/optee_os/issues/296
494 [pr493]: https://github.com/OP-TEE/optee_os/issues/493
495 [pr494]: https://github.com/OP-TEE/optee_os/issues/494
496 [github_commits_1_0_0]: https://github.com/OP-TEE/optee_os/compare/0.3.0...1.0.0
497 [DCO]: https://github.com/OP-TEE/optee_os/blob/master/Notice.md#contributions
498 [LCStorage]: http://www.slideshare.net/linaroorg/sfo15503-secure-storage-in-optee
499 [synchro]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#4-thread-handling
500 [elf]: https://github.com/OP-TEE/optee_os/blob/master/documentation/optee_design.md#format
501 [optee_test]: https://github.com/OP-TEE/optee_test
502 [manifest]: https://github.com/OP-TEE/manifest
503 [build]: https://github.com/OP-TEE/build
507 # OP-TEE - version 0.3.0
511 * Add hardware support for
512 * Mediatek MT8173 Board, ARMv8-A (plat-mediatek)
513 * Hisilicon HiKey Board, ARMv8-A (plat-hikey)
514 * AArch64 build of optee_os is now possible through the configuration `CFG_ARM64_core=y`
515 * Secure Storage: Data can be encrypted prior to their storage in the non-secure.
516 Build is configured using `CFG_ENC_FS=y`
517 * A generic boot scheme can be used. Boot configuration is commonalized. This helps
518 new board support. It is applied on plat-hikey, plat-vexpress, plat-mediatek, plat-stm
526 | Standard tests | The optee_test project. |
527 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
528 | Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
530 * ARM Juno Board (vexpress-juno), standard tests.
531 * Foundation Models (vexpress-fvp), standard tests.
532 * HiKey (hikey), standard tests.
533 * MT8173 (mediatek), standard tests.
534 * QEMU (vexpress-qemu), standard + extended tests.
535 * STM Cannes (stm-cannes), standard + extended tests.
537 -------------------------------------------
539 # OP-TEE - version 0.2.0
543 ### Linux Driver Refactoring
545 Linux Driver has been refactored. It is now split in two parts:
546 * optee.ko, the generic Linux driver. It contains all functionality
547 common to all backends.
548 * optee_armtz.ko, a specific backend dedicated to the TrustZone optee.
549 It depends on optee.ko.
551 Loading the TrustZone optee linux driver module is now performed using
555 Thanks to the dependency between the generic and the backend modules, optee.ko is then automatically loaded.
557 ### Misc new features
558 * support PL310 lock down at TEE boot
559 * add 64bits support (division / print)
566 | Standard tests | The optee_test project. |
567 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.1.0.4. |
568 | Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
570 * ARM Juno Board (vexpress-juno), standard tests + extended tests.
572 * Foundation Models (vexpress-fvp), standard + extended tests.
574 * QEMU (vexpress-qemu), standard + extended tests.
576 * STM Cannes (stm-cannes), standard + extended tests.
579 ## Issues resolved since last release
580 * Fix user TA trace issue, in order each TA is able to select its own trace level
583 -------------------------------------------
584 #OP-TEE - version 0.1.0
587 Below is a summary of the most important features added, but at the end you will
588 find a link that present you all commits between the current and previous
591 * GlobalPlatform Client API v1.0 support.
593 * GlobalPlatform Internal API v1.0 support.
595 * GlobalPlatform Secure Elements v1.0 support.
597 * Add hardware support for
599 * Allwinner A80, ARMv7-A.
601 * ARM Juno Board, ARMv8-A.
603 * Foundation Models, ARMv8-A.
605 * Fast Models, ARMv8-A.
609 * STM Cannes, ARMv7-A.
611 * STM Orly2, ARMv7-A.
613 * Add LibTomCrypt as the default software cryptographic library.
615 * Add cryptographic abstraction layer in on secure side to ease the use of
616 other cryptographic software libraries or adding support for hardware
619 * Extended cryptographic API with support for HKDF, Concat KDF and PBKDF2.
621 * SHA-1 and SHA-256 ARMv8-A crypto extension implementation.
623 * Enabled paging support in OP-TEE OS.
625 * Add support for xtest (both standard and extended) in QEMU and FVP setup
628 * Add documentation for the OS design, cryptographic abstraction layer, secure
629 elements design, the build system, GitHub usage, key derivation extensions,
630 ARM-Trusted Firmware usage within OP-TEE and GlobalPlatform usage within
633 * Integrate support for Travis CI.
635 * [Link][github_commits_0_1_0] to a list of all commits between this and
644 | Standard tests | The optee_test project. |
645 | Extended tests | optee_test with tests from the GlobalPlatform™ TEE Initial Configuration Test Suite v1.0.0. |
646 | Hello world test | Plain hello world Trusted Application such as [this][hello_world]. |
648 * Allwinner A80 (plat-sunxi), hello world test.
650 * ARM Juno Board (vexpress-juno), standard tests.
652 * Foundation Models (plat-vexpress-fvp), standard + extended tests
654 * QEMU (plat-vexpress-qemu), standard + extended tests (and Secure Elements
657 * STM Cannes (plat-stm-cannes), standard + extended tests.
660 ## Issues resolved since last release
661 N/A since this is the first release tag on OP-TEE.
665 * Storage is implemented, but not "Secure storage", meaning that a client
666 needs to do encrypt files on their own before storing the files.
668 * Issue(s) open on GitHub
669 * [#95][pr95]: An error about building the test code of libtomcrypt.
671 * [#149][pr149]: when testing optee os with arm trusted firmware (I
672 utilized optee os tee.bin as bl32 image) on juno platform, I got an
675 * [#161][pr161]: tee_svc_cryp.c lacks accessibility checks on
676 user-supplied TEE_Attributes.
678 [hello_world]: https://github.com/jenswi-linaro/lcu14_optee_hello_world
679 [github_commits_0_1_0]: https://github.com/OP-TEE/optee_os/compare/b01047730e77127c23a36591643eeb8bb0487d68...999e4a6c0f64d3177fd3d0db234107b6fb860884
680 [pr95]: https://github.com/OP-TEE/optee_os/issues/95
681 [pr149]: https://github.com/OP-TEE/optee_os/issues/149
682 [pr161]: https://github.com/OP-TEE/optee_os/issues/161
684 * Global Platform Device Internal Core API v1.1
685 * [#230][pr230]: Persistent object corruption support (TEE_ERROR_CORRUPT_OBJECT/_2)
686 * [#230][pr230]: Persistent object access support (TEE_ERROR_STORAGE_NOT_AVAILABLE/_2)