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/psa/client.h b/interface/include/psa/client.h
index 7aee1e5..1d79e49 100644
--- a/interface/include/psa/client.h
+++ b/interface/include/psa/client.h
@@ -11,6 +11,7 @@
 #include <stddef.h>
 #include <stdint.h>
 
+#include "psa_config.h"
 #include "psa/error.h"
 
 #ifdef __cplusplus
diff --git a/interface/include/psa/lifecycle.h b/interface/include/psa/lifecycle.h
index a892c49..64f22d1 100644
--- a/interface/include/psa/lifecycle.h
+++ b/interface/include/psa/lifecycle.h
@@ -8,6 +8,8 @@
 #ifndef __PSA_LIFECYCLE_H__
 #define __PSA_LIFECYCLE_H__
 
+#include "psa_config.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/interface/include/psa/service.h b/interface/include/psa/service.h
index 12efd2e..2c94f4c 100644
--- a/interface/include/psa/service.h
+++ b/interface/include/psa/service.h
@@ -11,8 +11,9 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include "psa/error.h"
 #include "psa/client.h"
+#include "psa_config.h"
+#include "psa/error.h"
 
 #ifdef __cplusplus
 extern "C" {