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/partitions/lib/sprt/service_api.c b/secure_fw/partitions/lib/sprt/service_api.c
index 09d48fd..72bd536 100644
--- a/secure_fw/partitions/lib/sprt/service_api.c
+++ b/secure_fw/partitions/lib/sprt/service_api.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -7,7 +7,11 @@
 
 #include "cmsis_compiler.h"
 #include "service_api.h"
-#include "tfm/tfm_core_svc.h"
+#ifdef TFM_PSA_API
+#include "svc_num.h"
+#else
+#include "tfm_core_svc.h"
+#endif /* TFM_PSA_API */
 
 __attribute__((naked))
 int32_t tfm_core_get_boot_data(uint8_t major_type,