SPM: Make PSA interface redirect-able
The existing PSA interface is based on Supervisor call, it is
feasible to make it based on other ABI type such as direct
function call. Create an ABI type indicator for the existing
PSA Interfaces, redirect the prototypes in PSA headers to a
final definition with the '_svc' suffix.
- Involve 'psa_config.h' and make secure PSA interface redirect-able.
- Define a flag 'CONFIG_TFM_BUILDING_SPE' to indicate which PE build
is ongoing.
- Define 'CONFIG_TFM_PSA_API_SUPERVISOR_CALL' to indicate the current
redirecting ABI for PSA interface.
- Other adjustments to support the changes.
Change-Id: Id58b12df84c0e8fd1d029e8e72c2eb8340a89a52
Signed-off-by: Ken Liu <Ken.Liu@arm.com>
diff --git a/interface/include/config_impl.h.template b/interface/include/config_impl.h.template
index e021242..4210055 100644
--- a/interface/include/config_impl.h.template
+++ b/interface/include/config_impl.h.template
@@ -11,9 +11,11 @@
#define __CONFIG_IMPL_H__
{% if ipc_partition_num > 0 and sfn_partition_num == 0 %}
-#define BACKEND_IPC 1
+#define {{"%-56s"|format("CONFIG_TFM_SPM_BACKEND_IPC")}} 1
+#define {{"%-56s"|format("CONFIG_TFM_PSA_API_SUPERVISOR_CALL")}} 1
+
{% elif sfn_partition_num > 0 and ipc_partition_num == 0 %}
-#define BACKEND_SFN 1
+#define CONFIG_TFM_SPM_BACKEND_SFN 1
#if TFM_LVL > 1
#error "High isolation level SFN model is not supported."
@@ -22,7 +24,8 @@
{% elif sfn_partition_num > 0 and ipc_partition_num > 0 %}
#error "IPC and SFN co-work not supported yet."
{% else %}
-#error "Invalid partition number inputted, check configurations."
+#error "Invalid partition number input, check configurations."
{% endif %}
+#include "psa_interface_redirect.h"
#endif /* __CONFIG_IMPL_H__ */