SPM: Convert SVC number to uint8_t

SVC number encoded in SVC instruction is 8-bit long.
Currently it relies on the short-enum compiler option to have a
8-bit long SVC number type.

This patch converts the enum to uint8_t for SVC number and divids
the SVC numbers to two parts for IPC model:
 - 0x0 ~ 0x7F for SVC calls only allowed from Thread Mode
 - 0x80 ~ 0xFF for SVC calls only allowed from interrupt handling

Note: For library model, the SVC numbers have no restrictions.

Since the requirements for SVC number assignment are different,
this patch also split the SVC number header for IPC and Library models.

Change-Id: I0fb4dd110be6bab05e1c4b9a8fc55e1b8bfbc0eb
Signed-off-by: Kevin Peng <kevin.peng@arm.com>
diff --git a/secure_fw/spm/include/tfm_secure_api.h b/secure_fw/spm/include/tfm_secure_api.h
index 8ed7a79..0fa9cc9 100644
--- a/secure_fw/spm/include/tfm_secure_api.h
+++ b/secure_fw/spm/include/tfm_secure_api.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2017-2021, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -12,11 +12,15 @@
 #include <arm_cmse.h>
 #endif
 #include "tfm_arch.h"
-#include "tfm/tfm_core_svc.h"
 #include "tfm_api.h"
 #include "utilities.h"
 #include "tfm_boot_status.h"
 #include "psa/service.h"
+#ifdef TFM_PSA_API
+#include "svc_num.h"
+#else
+#include "tfm_core_svc.h"
+#endif /* TFM_PSA_API */
 
 #ifndef TFM_MULTI_CORE_TOPOLOGY
 #ifndef TFM_PSA_API