xref: /optee_os/CHANGELOG.md (revision 28fcee179fc908ee2001a135179366d794af7878)
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