Lines Matching refs:msg
29 typedef enum tfm_platform_err_t (*plat_func_t)(const psa_msg_t *msg);
42 static psa_status_t platform_sp_system_reset_psa_api(const psa_msg_t *msg)
44 (void)msg; /* unused parameter */
83 static psa_status_t platform_sp_nv_read_psa_api(const psa_msg_t *msg) in platform_sp_nv_read_psa_api() argument
92 while ((in_len > 0) && (msg->in_size[in_len - 1] == 0)) { in platform_sp_nv_read_psa_api()
97 while ((out_len > 0) && (msg->out_size[out_len - 1] == 0)) { in platform_sp_nv_read_psa_api()
101 if (msg->in_size[0] != NV_COUNTER_ID_SIZE || in platform_sp_nv_read_psa_api()
102 msg->out_size[0] > NV_COUNTER_SIZE || in platform_sp_nv_read_psa_api()
107 num = psa_read(msg->handle, 0, &counter_id, msg->in_size[0]); in platform_sp_nv_read_psa_api()
112 if (msg->client_id < 0) { in platform_sp_nv_read_psa_api()
116 if (nv_counter_permissions_check(msg->client_id, counter_id, true) in platform_sp_nv_read_psa_api()
121 err = tfm_plat_read_nv_counter(counter_id, msg->out_size[0], in platform_sp_nv_read_psa_api()
128 psa_write(msg->handle, 0, counter_val, msg->out_size[0]); in platform_sp_nv_read_psa_api()
133 static psa_status_t platform_sp_nv_increment_psa_api(const psa_msg_t *msg) in platform_sp_nv_increment_psa_api() argument
141 while ((in_len > 0) && (msg->in_size[in_len - 1] == 0)) { in platform_sp_nv_increment_psa_api()
146 while ((out_len > 0) && (msg->out_size[out_len - 1] == 0)) { in platform_sp_nv_increment_psa_api()
150 if (msg->in_size[0] != NV_COUNTER_ID_SIZE || in platform_sp_nv_increment_psa_api()
155 num = psa_read(msg->handle, 0, &counter_id, msg->in_size[0]); in platform_sp_nv_increment_psa_api()
160 if (msg->client_id < 0) { in platform_sp_nv_increment_psa_api()
164 if (nv_counter_permissions_check(msg->client_id, counter_id, false) in platform_sp_nv_increment_psa_api()
179 static psa_status_t platform_sp_ioctl_psa_api(const psa_msg_t *msg) in platform_sp_ioctl_psa_api() argument
194 while ((in_len > 0) && (msg->in_size[in_len - 1] == 0)) { in platform_sp_ioctl_psa_api()
198 while ((out_len > 0) && (msg->out_size[out_len - 1] == 0)) { in platform_sp_ioctl_psa_api()
207 num = psa_read(msg->handle, 0, &request, sizeof(request)); in platform_sp_ioctl_psa_api()
213 input_size = msg->in_size[1]; in platform_sp_ioctl_psa_api()
217 num = psa_read(msg->handle, 1, &input_buffer, msg->in_size[1]); in platform_sp_ioctl_psa_api()
227 if (msg->out_size[0] > PLATFORM_SERVICE_OUTPUT_BUFFER_SIZE) { in platform_sp_ioctl_psa_api()
231 outvec.len = msg->out_size[0]; in platform_sp_ioctl_psa_api()
238 psa_write(msg->handle, 0, outvec.base, outvec.len); in platform_sp_ioctl_psa_api()
244 psa_status_t tfm_platform_service_sfn(const psa_msg_t *msg) in tfm_platform_service_sfn() argument
246 switch (msg->type) { in tfm_platform_service_sfn()
249 return platform_sp_nv_read_psa_api(msg); in tfm_platform_service_sfn()
251 return platform_sp_nv_increment_psa_api(msg); in tfm_platform_service_sfn()
254 return platform_sp_system_reset_psa_api(msg); in tfm_platform_service_sfn()
256 return platform_sp_ioctl_psa_api(msg); in tfm_platform_service_sfn()