RTOS Thread Context Management for ARMv8-M TrustZone.
More...
The CMSIS-Core provides the file tz_context.h which defines an API to standardize the context memory system for real-time operating systems. For more information refer to RTOS Thread Context Management.
TZ_MemoryId_t TZ_AllocModuleContext_S |
( |
TZ_ModuleId_t |
module | ) |
|
Allocates the secure memory regions for thread execution. The parameter module describes the set of secure functions that are called by the non-secure thread. This function should be called by an RTOS kernel at the start of a thread.
- Parameters
-
[in] | module | identifies software modules called from non-secure mode |
- Returns
- value != 0 id TrustZone memory slot identify
-
value 0 no memory available or internal error
uint32_t TZ_FreeModuleContext_S |
( |
TZ_MemoryId_t |
id | ) |
|
De-allocates the secure memory regions. The parameter id refers to a TrustZone memory slot that has been obtained with TZ_AllocModuleContext_S. This function should be called by an RTOS kernel at the termination of a thread.
- Parameters
-
[in] | id | TrustZone memory slot identifier |
- Returns
- execution status (1: success, 0: error)
uint32_t TZ_InitContextSystem_S |
( |
void |
| ) |
|
Initializes the memory allocation management for the secure memory regions. As a minimum the secure thread mode stack will be provided.
- Returns
- execution status (1: success, 0: error)
uint32_t TZ_LoadContext_S |
( |
TZ_MemoryId_t |
id | ) |
|
Prepare the secure context for execution so that a thread in the non-secure state can call secure library modules. The parameter id refers to a TrustZone memory slot that has been obtained with TZ_AllocModuleContext_S. This function should be called by an RTOS kernel at thread context switch before running a thread.
- Parameters
-
[in] | id | TrustZone memory slot identifier |
- Returns
- execution status (1: success, 0: error)
uint32_t TZ_StoreContext_S |
( |
TZ_MemoryId_t |
id | ) |
|
Free the secure context that has been previously loaded with TZ_LoadContext_S. The parameter id refers to a TrustZone memory slot that has been obtained with TZ_AllocModuleContext_S. This function should be called by an RTOS kernel at thread context switch after running a thread.
- Parameters
-
[in] | id | TrustZone memory slot identifier |
- Returns
- execution status (1: success, 0: error)