SPM: Depreciate vague header 'tfm_internal.h'

The name of this file is vague. Depreciate it by:
 - Remove tfm_internal.h
 - Move function model architecture code into a new create arch.h
 - Create tfm_boot_data.h and put boot related function declaration
   in it

Change-Id: Ia2ad1b0f95c1137624f99a4e81807bedf9086857
Signed-off-by: Summer Qin <summer.qin@arm.com>
diff --git a/secure_fw/spm/cmsis_func/arch.h b/secure_fw/spm/cmsis_func/arch.h
new file mode 100644
index 0000000..964ddf7
--- /dev/null
+++ b/secure_fw/spm/cmsis_func/arch.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2020, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __ARCH_H__
+#define __ARCH_H__
+
+/*
+ * This function pointer is meant to only hold non secure function pointers.
+ * It will be turned into a non-secure one (LSB cleared) before being called
+ * whatever happens anyway (unless cast to another function pointer type).
+ * Registers will be cleared before branching so that no information leaks
+ * from secure to non-secure world.
+ */
+typedef void (*nsfptr_t) (void) __attribute__((cmse_nonsecure_call));
+
+extern nsfptr_t ns_entry;
+
+/**
+ * \brief  Jump to non-secure code.
+ */
+void jump_to_ns_code(void);
+
+#endif /* __ARCH_H__ */