Core: PSA APIs alignment
Update PSA Client and Secure Partition APIs and some related files:
- Add psa_panic() to indicate an internal fault in a secure partition.
- Introduce a message type parameter to the psa_call() function which
is delivered as part of the psa_msg_t data to the RoT Service.
- Change 'minor version' to 'version'.
- Add PSA_HANDLE_IS_VALID() and PSA_HANDLE_TO_ERROR() macros.
- Move the definition of PSA_MAX_IOVEC and PSA_IPC_CALL from
psa/service.h to psa/client.h.
- Change the error code returned by psa_get() when the message could
not be delivered. It now returns PSA_ERROR_DOES_NOT_EXIST.
Change-Id: Ia717f591c80484699f4f491d1ed6dbc4fd7c050f
Signed-off-by: Summer Qin <summer.qin@arm.com>
diff --git a/interface/src/tfm_crypto_api.c b/interface/src/tfm_crypto_api.c
index 400e123..554cdb5 100644
--- a/interface/src/tfm_crypto_api.c
+++ b/interface/src/tfm_crypto_api.c
@@ -32,12 +32,12 @@
#define PSA_CLOSE() psa_close(ipc_handle)
#define API_DISPATCH(sfn_name, sfn_id) \
- psa_call(ipc_handle, /*PSA_IPC_CALL,*/ \
+ psa_call(ipc_handle, PSA_IPC_CALL, \
in_vec, ARRAY_SIZE(in_vec), \
out_vec, ARRAY_SIZE(out_vec))
#define API_DISPATCH_NO_OUTVEC(sfn_name, sfn_id) \
- psa_call(ipc_handle, /*PSA_IPC_CALL,*/ \
+ psa_call(ipc_handle, PSA_IPC_CALL, \
in_vec, ARRAY_SIZE(in_vec), \
(psa_outvec *)NULL, 0)
#else
@@ -1061,7 +1061,7 @@
if (additional_data == NULL) {
in_len--;
}
- status = psa_call(ipc_handle, in_vec, in_len,
+ status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
out_vec, ARRAY_SIZE(out_vec));
#else
status = API_DISPATCH(tfm_crypto_aead_encrypt,
@@ -1131,7 +1131,7 @@
if (additional_data == NULL) {
in_len--;
}
- status = psa_call(ipc_handle, in_vec, in_len,
+ status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
out_vec, ARRAY_SIZE(out_vec));
#else
status = API_DISPATCH(tfm_crypto_aead_decrypt,
@@ -1260,7 +1260,7 @@
if (salt == NULL) {
in_len--;
}
- status = psa_call(ipc_handle, in_vec, in_len,
+ status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
out_vec, ARRAY_SIZE(out_vec));
#else
status = API_DISPATCH(tfm_crypto_asymmetric_encrypt,
@@ -1317,7 +1317,7 @@
if (salt == NULL) {
in_len--;
}
- status = psa_call(ipc_handle, in_vec, in_len,
+ status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
out_vec, ARRAY_SIZE(out_vec));
#else
status = API_DISPATCH(tfm_crypto_asymmetric_decrypt,
@@ -1503,7 +1503,7 @@
in_len--;
}
}
- status = psa_call(ipc_handle, in_vec, in_len,
+ status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len,
out_vec, ARRAY_SIZE(out_vec));
#else
status = API_DISPATCH(tfm_crypto_key_derivation,
@@ -1622,7 +1622,7 @@
in_len--;
}
- status = psa_call(ipc_handle, in_vec, in_len, NULL, 0);
+ status = psa_call(ipc_handle, PSA_IPC_CALL, in_vec, in_len, NULL, 0);
#else
status = API_DISPATCH_NO_OUTVEC(tfm_crypto_generate_key,
TFM_CRYPTO_GENERATE_KEY);