14 __attribute__((naked))
18 __ASM
volatile(
"SVC %0 \n"
23 __attribute__((naked))
26 __ASM
volatile(
"SVC %0 \n"
28 : :
"I" (TFM_SVC_PSA_GET));
31 __attribute__((naked))
34 __ASM
volatile(
"SVC %0 \n"
36 : :
"I" (TFM_SVC_PSA_SET_RHANDLE));
39 __attribute__((naked))
41 void *buffer,
size_t num_bytes)
44 __ASM
volatile(
"SVC %0 \n"
46 : :
"I" (TFM_SVC_PSA_READ));
49 __attribute__((naked))
52 __ASM
volatile(
"SVC %0 \n"
54 : :
"I" (TFM_SVC_PSA_SKIP));
57 __attribute__((naked))
59 const
void *buffer,
size_t num_bytes)
61 __ASM
volatile(
"SVC %0 \n"
63 : :
"I" (TFM_SVC_PSA_WRITE));
66 __attribute__((naked))
69 __ASM
volatile(
"SVC %0 \n"
71 : :
"I" (TFM_SVC_PSA_REPLY));
74 __attribute__((naked))
77 __ASM
volatile(
"SVC %0 \n"
79 : :
"I" (TFM_SVC_PSA_NOTIFY));
82 __attribute__((naked))
85 __ASM
volatile(
"SVC %0 \n"
87 : :
"I" (TFM_SVC_PSA_CLEAR));
90 __attribute__((naked))
93 __ASM
volatile(
"SVC %0 \n"
98 __attribute__((naked))
101 __ASM
volatile(
"SVC %0 \n"
103 : :
"I" (TFM_SVC_PSA_PANIC));
void psa_set_rhandle(psa_handle_t msg_handle, void *rhandle)
Associate some RoT Service private data with a client connection.
void psa_reply(psa_handle_t msg_handle, psa_status_t retval)
Complete handling of a specific message and unblock the client.
void psa_notify(int32_t partition_id)
Send a PSA_DOORBELL signal to a specific Secure Partition.
size_t psa_read(psa_handle_t msg_handle, uint32_t invec_idx, void *buffer, size_t num_bytes)
Read a message parameter or part of a message parameter from a client input vector.
void psa_clear(void)
Clear the PSA_DOORBELL signal.
void psa_panic(void)
Terminate execution within the calling Secure Partition and will not return.
void psa_write(psa_handle_t msg_handle, uint32_t outvec_idx, const void *buffer, size_t num_bytes)
Write a message response to a client output vector.
psa_status_t psa_get(psa_signal_t signal, psa_msg_t *msg)
Retrieve the message which corresponds to a given RoT Service signal and remove the message from the ...
psa_signal_t psa_wait(psa_signal_t signal_mask, uint32_t timeout)
Return the Secure Partition interrupt signals that have been asserted from a subset of signals provid...
void psa_eoi(psa_signal_t irq_signal)
Inform the SPM that an interrupt has been handled (end of interrupt).
int32_t psa_status_t
Function return status.
size_t psa_skip(psa_handle_t msg_handle, uint32_t invec_idx, size_t num_bytes)
Skip over part of a client input vector.