The Secure Partition Manager (SPM) is responsible for isolating software in partitions,
managing the execution of software within partitions and providing IPC between partitions.
More...
Modules | |
RoT-Service-API | |
The C interface for a root of trust (RoT) Service in a partition. | |
Client-API | |
The C interface for connecting to a Root of Trust Service and calling it. | |
Data Structures | |
struct | psa_msg |
Structure containing the PSA IPC message sent from a client partition to an RoT Service. More... | |
struct | psa_invec |
Structure that describes a scatter-gather input buffer. More... | |
struct | psa_outvec |
Structure which describes a scatter-gather output buffer. More... | |
Macros | |
#define | SPM_PANIC(format, ...) error("%s %u: " format, __func__, __LINE__, ##__VA_ARGS__) |
Generate a system panic. More... | |
#define | SPM_ASSERT(expr) MBED_ASSERT(expr) |
Assert on condition (debug build only) More... | |
#define | PSA_FRAMEWORK_VERSION (0x0100) |
Version of the PSA Framework API. More... | |
#define | PSA_VERSION_NONE (0L) |
Identifier for an unimplemented Root of Trust (RoT) Service. More... | |
#define | PSA_NSPE_IDENTIFIER (-1L) |
"Partition" identifier of the NSPE. More... | |
#define | PSA_NULL_HANDLE ((psa_handle_t)0) |
Denotes an invalid handle. More... | |
#define | PSA_MAX_IOVEC (4UL) |
Maximum number of psa_invec and psa_outvec structures allowed for psa_call(). More... | |
#define | PSA_POLL (0x00000000UL) |
Returns immediately even if none of the requested signals is asserted. More... | |
#define | PSA_BLOCK (0x80000000UL) |
Block the caller until one of the requested signals is asserted. More... | |
#define | PSA_WAIT_ANY (0xFFFFFFFFUL) |
A mask value that includes all Secure Partition signals. More... | |
#define | PSA_MINOR_VERSION_POLICY_RELAXED (0UL) |
Don't perform minor version check during psa_connect(). More... | |
#define | PSA_MINOR_VERSION_POLICY_STRICT (1UL) |
Force minor version check during psa_connect(). More... | |
#define | PSA_DOORBELL (0x00000008UL) |
Mask for PSA_DOORBELL signal. More... | |
#define | PSA_IPC_CONNECT (1) |
The IPC message type that indicates a new connection. More... | |
#define | PSA_IPC_CALL (2) |
The IPC message type that indicates a client request. More... | |
#define | PSA_IPC_DISCONNECT (3) |
The IPC message type that indicates the end of a connection. More... | |
#define | PSA_IPC_VERSION (4) |
The IPC message type that indicates a client query for a specific sid. More... | |
#define | PSA_DROP_CONNECTION (INT32_MIN) |
The result code in a call to psa_reply() to indicate a nonrecoverable error in the client. More... | |
#define | PSA_CONNECTION_REFUSED (INT32_MIN + 1) |
The return value from psa_connect() if the RoT Service or SPM was unable to establish a connection. More... | |
#define | PSA_CONNECTION_BUSY (INT32_MIN + 2) |
The return value from psa_connect() if the RoT Service rejects the connection for a transient reason. More... | |
Typedefs | |
typedef struct psa_msg | psa_msg_t |
Structure containing the PSA IPC message sent from a client partition to an RoT Service. More... | |
typedef struct psa_invec | psa_invec |
Structure that describes a scatter-gather input buffer. More... | |
typedef struct psa_outvec | psa_outvec |
Structure which describes a scatter-gather output buffer. More... | |
The Secure Partition Manager (SPM) is responsible for isolating software in partitions,
managing the execution of software within partitions and providing IPC between partitions.
#define PSA_BLOCK (0x80000000UL) |
Block the caller until one of the requested signals is asserted.
Definition at line 57 of file psa_defs.h.
#define PSA_CONNECTION_BUSY (INT32_MIN + 2) |
The return value from psa_connect() if the RoT Service rejects the connection for a transient reason.
Definition at line 73 of file psa_defs.h.
#define PSA_CONNECTION_REFUSED (INT32_MIN + 1) |
The return value from psa_connect() if the RoT Service or SPM was unable to establish a connection.
Definition at line 72 of file psa_defs.h.
#define PSA_DOORBELL (0x00000008UL) |
Mask for PSA_DOORBELL signal.
Definition at line 63 of file psa_defs.h.
#define PSA_DROP_CONNECTION (INT32_MIN) |
The result code in a call to psa_reply() to indicate a nonrecoverable error in the client.
Definition at line 71 of file psa_defs.h.
#define PSA_FRAMEWORK_VERSION (0x0100) |
Version of the PSA Framework API.
Definition at line 47 of file psa_defs.h.
#define PSA_IPC_CALL (2) |
The IPC message type that indicates a client request.
Definition at line 66 of file psa_defs.h.
#define PSA_IPC_CONNECT (1) |
The IPC message type that indicates a new connection.
Definition at line 65 of file psa_defs.h.
#define PSA_IPC_DISCONNECT (3) |
The IPC message type that indicates the end of a connection.
Definition at line 67 of file psa_defs.h.
#define PSA_IPC_VERSION (4) |
The IPC message type that indicates a client query for a specific sid.
Definition at line 68 of file psa_defs.h.
#define PSA_MAX_IOVEC (4UL) |
Maximum number of psa_invec and psa_outvec structures allowed for psa_call().
Definition at line 54 of file psa_defs.h.
#define PSA_MINOR_VERSION_POLICY_RELAXED (0UL) |
Don't perform minor version check during psa_connect().
Definition at line 60 of file psa_defs.h.
#define PSA_MINOR_VERSION_POLICY_STRICT (1UL) |
Force minor version check during psa_connect().
Definition at line 61 of file psa_defs.h.
#define PSA_NSPE_IDENTIFIER (-1L) |
"Partition" identifier of the NSPE.
Definition at line 50 of file psa_defs.h.
#define PSA_NULL_HANDLE ((psa_handle_t)0) |
Denotes an invalid handle.
Definition at line 52 of file psa_defs.h.
#define PSA_POLL (0x00000000UL) |
Returns immediately even if none of the requested signals is asserted.
Definition at line 56 of file psa_defs.h.
#define PSA_VERSION_NONE (0L) |
Identifier for an unimplemented Root of Trust (RoT) Service.
Definition at line 48 of file psa_defs.h.
#define PSA_WAIT_ANY (0xFFFFFFFFUL) |
A mask value that includes all Secure Partition signals.
Definition at line 58 of file psa_defs.h.
#define SPM_ASSERT | ( | expr | ) | MBED_ASSERT(expr) |
Assert on condition (debug build only)
[in] | expr | Condition to be asserted |
Definition at line 55 of file spm_panic.h.
#define SPM_PANIC | ( | format, | |
... | |||
) | error("%s %u: " format, __func__, __LINE__, ##__VA_ARGS__) |
Generate a system panic.
[in] | format | The format string to output on panic |
[in] | ... | (Additional arguments) Depending on the format string |
Definition at line 47 of file spm_panic.h.
Structure containing the PSA IPC message sent from a client partition to an RoT Service.
typedef struct psa_outvec psa_outvec |
Structure which describes a scatter-gather output buffer.