Interface: Refactor the NS interface
This patch refactors the NS interface source code
to provide an easier paradigm for integration by
marking the NS interface function as weak in order
for integrators to provide their own implementation
to fulfill their requirements.
Change-Id: Id8231cf91773d6850149a028e1b639432540efa0
Signed-off-by: Antonio de Angelis <antonio.deangelis@arm.com>
diff --git a/interface/src/tfm_psa_ns_api.c b/interface/src/tfm_psa_ns_api.c
index 838e7b0..1c83084 100644
--- a/interface/src/tfm_psa_ns_api.c
+++ b/interface/src/tfm_psa_ns_api.c
@@ -6,14 +6,15 @@
*/
#include "psa/client.h"
-#include "tfm_ns_lock.h"
+#include "tfm_ns_interface.h"
#include "tfm_api.h"
/**** API functions ****/
uint32_t psa_framework_version(void)
{
- return tfm_ns_lock_dispatch((veneer_fn)tfm_psa_framework_version_veneer,
+ return tfm_ns_interface_dispatch(
+ (veneer_fn)tfm_psa_framework_version_veneer,
0,
0,
0,
@@ -22,7 +23,8 @@
uint32_t psa_version(uint32_t sid)
{
- return tfm_ns_lock_dispatch((veneer_fn)tfm_psa_version_veneer,
+ return tfm_ns_interface_dispatch(
+ (veneer_fn)tfm_psa_version_veneer,
sid,
0,
0,
@@ -31,7 +33,8 @@
psa_handle_t psa_connect(uint32_t sid, uint32_t minor_version)
{
- return tfm_ns_lock_dispatch((veneer_fn)tfm_psa_connect_veneer,
+ return tfm_ns_interface_dispatch(
+ (veneer_fn)tfm_psa_connect_veneer,
sid,
minor_version,
0,
@@ -57,7 +60,8 @@
in_vecs.len = in_len;
out_vecs.base = out_vec;
out_vecs.len = out_len;
- return tfm_ns_lock_dispatch((veneer_fn)tfm_psa_call_veneer,
+ return tfm_ns_interface_dispatch(
+ (veneer_fn)tfm_psa_call_veneer,
(uint32_t)handle,
(uint32_t)&in_vecs,
(uint32_t)&out_vecs,
@@ -66,7 +70,8 @@
void psa_close(psa_handle_t handle)
{
- tfm_ns_lock_dispatch((veneer_fn)tfm_psa_close_veneer,
+ (void)tfm_ns_interface_dispatch(
+ (veneer_fn)tfm_psa_close_veneer,
(uint32_t)handle,
0,
0,