1 /*
2 * Copyright (c) 2023, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8 #include "psa/client.h"
9 #include "psa_manifest/sid.h"
10 #include "tfm_its_defs.h"
11 #include "psa_manifest/pid.h"
12 #include "tfm_internal_trusted_storage.h"
13
14 uint8_t *p_psa_src_data;
15 uint8_t *p_psa_dest_data;
16
psa_its_set(psa_storage_uid_t uid,size_t data_length,void * p_data,psa_storage_create_flags_t create_flags)17 psa_status_t psa_its_set(psa_storage_uid_t uid,
18 size_t data_length,
19 void *p_data,
20 psa_storage_create_flags_t create_flags)
21 {
22 p_psa_src_data = p_data;
23
24 return tfm_its_set(TFM_SP_PS, uid, data_length, create_flags);
25 }
26
psa_its_get(psa_storage_uid_t uid,size_t data_offset,size_t data_size,void * p_data,size_t * p_data_length)27 psa_status_t psa_its_get(psa_storage_uid_t uid,
28 size_t data_offset,
29 size_t data_size,
30 void *p_data,
31 size_t *p_data_length)
32 {
33 if (p_data_length == NULL) {
34 return PSA_ERROR_INVALID_ARGUMENT;
35 }
36
37 p_psa_dest_data = p_data;
38
39 return tfm_its_get(TFM_SP_PS, uid, data_offset, data_size, p_data_length);
40 }
41
psa_its_get_info(psa_storage_uid_t uid,struct psa_storage_info_t * p_info)42 psa_status_t psa_its_get_info(psa_storage_uid_t uid,
43 struct psa_storage_info_t *p_info)
44 {
45 return tfm_its_get_info(TFM_SP_PS, uid, p_info);
46 }
47
psa_its_remove(psa_storage_uid_t uid)48 psa_status_t psa_its_remove(psa_storage_uid_t uid)
49 {
50 return tfm_its_remove(TFM_SP_PS, uid);
51 }
52