Core: Use separate '.inc' file and init function

- Remove the 'tfm_spm_db.inc', use separate files, separate SPM
initialization functions for different models.
- Remove unused inclusion of header file 'spm_db.h'.

Change-Id: I7427eaee691a02c9b25579972902974ac9d32fd7
Signed-off-by: Mingyang Sun <mingyang.sun@arm.com>
diff --git a/secure_fw/spm/model_ipc/spm_ipc.c b/secure_fw/spm/model_ipc/spm_ipc.c
index 780fc7a..ea1a368 100644
--- a/secure_fw/spm/model_ipc/spm_ipc.c
+++ b/secure_fw/spm/model_ipc/spm_ipc.c
@@ -31,18 +31,17 @@
 #include "tfm_core_mem_check.h"
 #include "tfm_list.h"
 #include "tfm_pools.h"
+#include "region.h"
 #include "region_defs.h"
 #include "tfm/tfm_spm_services_api.h"
 
 #include "secure_fw/partitions/tfm_service_list.inc"
+#include "tfm_spm_db_ipc.inc"
 
 /* Extern service variable */
 extern struct tfm_spm_service_t service[];
 extern const struct tfm_spm_service_db_t service_db[];
 
-/* Extern SPM variable */
-extern struct spm_partition_db_t g_spm_partition_db;
-
 /* Pools */
 TFM_POOL_DECLARE(conn_handle_pool, sizeof(struct tfm_conn_handle_t),
                  TFM_CONN_HANDLE_MAX_NUM);
@@ -1658,3 +1657,20 @@
         *res_ptr = (uint32_t)TFM_ERROR_INVALID_PARAMETER;
     }
 }
+
+enum spm_err_t tfm_spm_db_init(void)
+{
+    uint32_t i;
+
+    /* This function initialises partition db */
+
+    for (i = 0; i < g_spm_partition_db.partition_count; i++) {
+        g_spm_partition_db.partitions[i].static_data = &static_data_list[i];
+        g_spm_partition_db.partitions[i].platform_data_list =
+                                                     platform_data_list_list[i];
+        g_spm_partition_db.partitions[i].memory_data = &memory_data_list[i];
+    }
+    g_spm_partition_db.is_init = 1;
+
+    return SPM_ERR_OK;
+}
diff --git a/secure_fw/spm/model_ipc/tfm_multi_core_mem_check.c b/secure_fw/spm/model_ipc/tfm_multi_core_mem_check.c
index 25a8632..ff97cf5 100644
--- a/secure_fw/spm/model_ipc/tfm_multi_core_mem_check.c
+++ b/secure_fw/spm/model_ipc/tfm_multi_core_mem_check.c
@@ -10,7 +10,6 @@
 #include "region_defs.h"
 #include "secure_utilities.h"
 #include "tfm/spm_api.h"
-#include "tfm/spm_db.h"
 #include "tfm_internal.h"
 #include "tfm_multi_core.h"
 #include "tfm_secure_api.h"