Mistake on this page?
Report an issue in GitHub or email us
Modules | Data Structures | Macros | Typedefs
SPM

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...
 

Detailed Description

The Secure Partition Manager (SPM) is responsible for isolating software in partitions,
managing the execution of software within partitions and providing IPC between partitions.

Macro Definition Documentation

#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)

Parameters
[in]exprCondition 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.

Parameters
[in]formatThe format string to output on panic
[in]...(Additional arguments) Depending on the format string

Definition at line 47 of file spm_panic.h.

Typedef Documentation

typedef struct psa_invec psa_invec

Structure that describes a scatter-gather input buffer.

typedef struct psa_msg psa_msg_t

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.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.