19 #ifdef TFM_PARTITION_CRYPTO
28 static psa_status_t secure_client_2_test_crypto_access_ctrl(
const void *arg,
33 if (arg_len !=
sizeof(key_handle)) {
44 #ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
53 static psa_status_t secure_client_2_test_its_access_ctrl(
const void *arg,
60 if (arg_len !=
sizeof(uid)) {
67 return psa_its_get(uid, 0,
sizeof(data), data, &p_data_length);
81 static psa_status_t secure_client_2_dispatch(int32_t
id,
const void *arg,
85 #ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
87 return secure_client_2_test_its_access_ctrl(arg, arg_len);
89 #ifdef TFM_PARTITION_CRYPTO
91 return secure_client_2_test_crypto_access_ctrl(arg, arg_len);
99 #define SECURE_CLIENT_2_MAX_ARG_LEN 8U
105 char arg[SECURE_CLIENT_2_MAX_ARG_LEN] __attribute__((__aligned__(8)));
137 if (in_len != 2 || out_len != 0 || in_vec[0].len !=
sizeof(
id)) {
141 id = *((int32_t *)in_vec[0].base);
143 return secure_client_2_dispatch(
id, in_vec[1].base, in_vec[1].len);
Platform Security Architecture cryptography module.
psa_status_t tfm_secure_client_2_call(psa_invec *in_vec, size_t in_len, psa_outvec *out_vec, size_t out_len)
psa_status_t psa_its_get(psa_storage_uid_t uid, size_t data_offset, size_t data_size, void *p_data, size_t *p_data_length)
Retrieve data associated with a provided UID.
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.
#define TFM_SECURE_CLIENT_2_SIGNAL
#define PSA_IPC_DISCONNECT
#define PSA_ERROR_PROGRAMMER_ERROR
psa_status_t tfm_secure_client_2_init(void)
#define TFM_SECURE_CLIENT_2_ID_CRYPTO_ACCESS_CTRL
void psa_reply(psa_handle_t msg_handle, psa_status_t status)
Complete handling of a specific message and unblock the client.
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...
uint64_t psa_storage_uid_t
#define TFM_SECURE_CLIENT_2_ID_ITS_ACCESS_CTRL
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 ...
int32_t psa_status_t
Function return status.