Joakim Bech | 8e5c5b3 | 2018-10-25 08:18:32 +0200 | [diff] [blame] | 1 | .. _libraries: |
| 2 | |
| 3 | ######### |
| 4 | Libraries |
| 5 | ######### |
| 6 | |
Etienne Carriere | 7b78018 | 2023-11-10 10:25:02 +0100 | [diff] [blame^] | 7 | .. _libutils: |
| 8 | |
| 9 | libutils |
| 10 | ******** |
| 11 | |
| 12 | OP-TEE core and OP-TEE development kit for Trusted Application provide a |
| 13 | standard C library that is named **libutils**. It implements many |
| 14 | standard functions like ``snprintf()``, ``strncmp()``, ``memcpy()``, |
| 15 | ``malloc()``. ``qsort()``, and many more but not all standard C library |
| 16 | functions. |
| 17 | |
| 18 | Note however that Trusted Applications implemented in C should use GP TEE |
| 19 | Internal Core API functions rather than their standard C library function |
| 20 | equivalent (e.g. ``TEE_MemMove()`` instead of ``memcpy()`` and |
| 21 | ``memmove()``, or ``TEE_Malloc()`` instead of ``malloc()`` and friends). |
| 22 | This makes those TAs implementation more portable to other GP |
| 23 | TEE compliant environments. |
| 24 | |
Joakim Bech | 8e5c5b3 | 2018-10-25 08:18:32 +0200 | [diff] [blame] | 25 | .. _libutee: |
| 26 | |
| 27 | libutee |
| 28 | ******* |
| 29 | The :ref:`tee_internal_core_api` describes services that are provided to Trusted |
| 30 | Applications. **libutee** is a library that implements this API. |
| 31 | |
| 32 | libutee is a static library the Trusted Applications shall statically link |
| 33 | against. Trusted Applications do execute in non-privileged secure userspace and |
| 34 | libutee also aims at being executed in the non-privileged secure userspace. |
| 35 | |
| 36 | Some services for this API are fully statically implemented inside the libutee |
| 37 | library while some services for the API are implemented inside the OP-TEE core |
| 38 | (privileged level) and libutee calls such services through system calls. |
| 39 | |
| 40 | .. _libmpa: |
| 41 | |
| 42 | libmpa |
| 43 | ****** |
Markus S. Wamser | 618e2b8 | 2020-04-16 12:45:44 +0200 | [diff] [blame] | 44 | Now deprecated, used to provide the BigNum library in OP-TEE. |
Joakim Bech | 8e5c5b3 | 2018-10-25 08:18:32 +0200 | [diff] [blame] | 45 | |