Core#

Secure Engine Manager Core API.

API for initialization of SE Manager and SE command context with yield attribute.

Modules#

sl_se_command_context_t

Functions#

sl_status_t

Initialize the SE Manager.

sl_status_t

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 { SLI_SE_MAILBOX_COMMAND_DEFAULT(0), false }

Context initialization values.

Function Documentation#

sl_se_init#

sl_status_t sl_se_init (void )

Initialize the SE Manager.

Parameters
N/A

Initialize the SE Manager by checking hardware availability and setting up internal module specific resources like mutexes etc.

Returns

  • Status code, sl_status.h.


Definition at line 84 of file platform/security/sl_component/se_manager/inc/sl_se_manager.h

sl_se_deinit#

sl_status_t sl_se_deinit (void )

Denitialize the SE Manager.

Parameters
N/A

Free resources held by the SE Manager.

Returns

  • Status code, sl_status.h.


Definition at line 96 of file platform/security/sl_component/se_manager/inc/sl_se_manager.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
[inout]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.


Definition at line 115 of file platform/security/sl_component/se_manager/inc/sl_se_manager.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
[inout]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.


Definition at line 131 of file platform/security/sl_component/se_manager/inc/sl_se_manager.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.

Parameters
[inout]cmd_ctx

Pointer to an SE command context object.

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.

Returns

  • Status code, sl_status.h.


Definition at line 149 of file platform/security/sl_component/se_manager/inc/sl_se_manager.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.

Parameters
[inout]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).

Initialize an SE command context which can be used in subsequent calls to the SE Manager API in order to execute SE mailbox commands.

Returns

  • Status code, sl_status.h.


Definition at line 173 of file platform/security/sl_component/se_manager/inc/sl_se_manager.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.

Parameters
[inout]cmd_ctx

Pointer to an SE command context object to deinitialize.

De-initialize an SE command context object.

Returns

  • Status code, sl_status.h.


Definition at line 188 of file platform/security/sl_component/se_manager/inc/sl_se_manager.h

Macro Definition Documentation#

SL_SE_COMMAND_CONTEXT_INIT#

#define SL_SE_COMMAND_CONTEXT_INIT
Value:
{ SLI_SE_MAILBOX_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.


Definition at line 72 of file platform/security/sl_component/se_manager/inc/sl_se_manager_defines.h