Description
Secure Engine Manager Core API.
API for initialization of SE Manager and SE command context with yield attribute.
Data Structures |
|
struct | sl_se_command_context_t |
SE mailbox command context.
|
|
Functions |
|
sl_status_t | sl_se_init (void) |
Initialize the SE Manager.
|
|
sl_status_t | sl_se_deinit (void) |
Denitialize the SE Manager.
|
|
sl_status_t | sl_se_set_yield ( sl_se_command_context_t *cmd_ctx, bool yield) |
Set the yield attribute of the SE command context object.
|
|
sl_status_t | sl_se_read_executed_command ( sl_se_command_context_t *cmd_ctx) |
From VSE mailbox read which command, if any, was executed.
|
|
sl_status_t | sl_se_ack_command ( sl_se_command_context_t *cmd_ctx) |
Acknowledge and get status and output data of a completed command.
|
|
sl_status_t | sl_se_init_command_context ( sl_se_command_context_t *cmd_ctx) |
Initialize an SE command context object.
|
|
sl_status_t | sl_se_deinit_command_context ( sl_se_command_context_t *cmd_ctx) |
De-initialize an SE command context.
|
|
Macros |
|
#define | SL_SE_COMMAND_CONTEXT_INIT { SE_COMMAND_DEFAULT(0), false } |
Context initialization values.
|
|
Function Documentation
◆ sl_se_init()
sl_status_t sl_se_init | ( | void |
|
) |
Initialize the SE Manager.
Initialize the SE Manager by checking hardware availability and setting up internal module specific resources like mutexes etc.
- Returns
- Status code, sl_status.h.
◆ sl_se_deinit()
sl_status_t sl_se_deinit | ( | void |
|
) |
Denitialize the SE Manager.
Free resources held by the SE Manager.
- Returns
- Status code, sl_status.h.
◆ sl_se_set_yield()
sl_status_t sl_se_set_yield | ( | sl_se_command_context_t * |
cmd_ctx,
|
bool |
yield
|
||
) |
Set the yield attribute of the SE command context object.
- Parameters
-
[in,out] cmd_ctx
Pointer to an SE command context object. [in] yield
The user may set this parameter to true in order to tell the SE Manager to yield the cpu core while waiting for the SE mailbox command to complete. If false, the SE Manager will busy-wait, by polling the SE mailbox response register until the SE mailbox command completes.
- Returns
- Status code, sl_status.h.
◆ sl_se_read_executed_command()
sl_status_t sl_se_read_executed_command | ( | sl_se_command_context_t * |
cmd_ctx
|
) |
From VSE mailbox read which command, if any, was executed.
- Parameters
-
[in,out] cmd_ctx
Pointer to an SE command context object. If this function returns SL_STATUS_OK the command word of the SE command context object will be set.
- Returns
- Status code, sl_status.h.
◆ sl_se_ack_command()
sl_status_t sl_se_ack_command | ( | sl_se_command_context_t * |
cmd_ctx
|
) |
Acknowledge and get status and output data of a completed command.
This function acknowledges and gets the status and output data of a completed mailbox command. The acknowledge operation invalidates the contents of the output mailbox. The output data is copied into the linked list of output buffers pointed to in the given command data structure.
- Parameters
-
[in,out] cmd_ctx
Pointer to an SE command context object.
- Returns
- Status code, sl_status.h.
◆ sl_se_init_command_context()
sl_status_t sl_se_init_command_context | ( | sl_se_command_context_t * |
cmd_ctx
|
) |
Initialize an SE command context object.
Initialize an SE command context which can be used in subsequent calls to the SE Manager API in order to execute SE mailbox commands.
- Parameters
-
[in,out] cmd_ctx
Pointer to an SE command context object to be initialized. This context object should be used in subsequent calls to the SE Manager API in order to execute SE mailbox commands. The same command context object cannot be used concurrently, e.g. by two different threads. However a command context object may be reused for the next and any subsequent mailbox operatons, except when streaming commands are in progress in which case only streaming commands of the same operation type is allowed until the streaming operation is finished (i.e. the corresponding sl_se_xxx_finish is called).
- Returns
- Status code, sl_status.h.
◆ sl_se_deinit_command_context()
sl_status_t sl_se_deinit_command_context | ( | sl_se_command_context_t * |
cmd_ctx
|
) |
De-initialize an SE command context.
De-initialize an SE command context object.
- Parameters
-
[in,out] cmd_ctx
Pointer to an SE command context object to deinitialize.
- Returns
- Status code, sl_status.h.
Macro Definition Documentation
◆ SL_SE_COMMAND_CONTEXT_INIT
#define SL_SE_COMMAND_CONTEXT_INIT { SE_COMMAND_DEFAULT(0), false } |
Context initialization values.
Some of the context values are not fully initialized. The user will need to call the corresponding initialization function in order to fully initialize the context objects for further use in the SE Manager API. The purpose of these initialization values is to set the context objects to a known safe state initially when the context object is declared.