TF-M Reference Manual  1.2.0
TrustedFirmware-M
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
spm_partition_defs.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2019, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef __SPM_PARTITION_DEFS_H__
9 #define __SPM_PARTITION_DEFS_H__
10 
11 /* FixMe: allocations to be settled.
12  * 8 bits reserved by TFM for secure partition Id in this prototype
13  */
14 #define TFM_SP_BASE 256
15 
16 /* A reserved partition ID that is used for uninitialised data */
17 #define INVALID_PARTITION_ID (~0U)
18 
19 /* ***** partition ID-s internal to the TFM ***** */
20 #define TFM_INTERNAL_PARTITIONS (2)
21 
22 /* From the SPM point of view the non secure processing environment is handled
23  * as a special secure partition. This simplifies the context switch
24  * operations.
25  */
26 #define TFM_SP_NON_SECURE_ID (0)
27 /* A dummy partition for TFM_SP_CORE is created to handle secure partition
28  * calls done directly from the core, before NS execution started.
29  */
30 #define TFM_SP_CORE_ID (1)
31 
32 #include "psa_manifest/pid.h"
33 
34 /* This limit is only used to define the size of the database reserved for
35  * partitions. There's no requirement that it match the number of partitions
36  * that get registered in a specific build
37  */
38 #define SPM_MAX_PARTITIONS (TFM_MAX_USER_PARTITIONS + TFM_INTERNAL_PARTITIONS)
39 
40 typedef void(*sp_entry_point)(void);
41 
42 #endif /* __SPM_PARTITION_DEFS_H__ */
void(* sp_entry_point)(void)