blob: 2dd09bc1b39776d37bd38dd3ef925a834c85e5b2 [file] [log] [blame]
Shawn Shan071d86d2020-05-25 17:32:58 +08001/*
2 * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8/*********** WARNING: This is an auto-generated file. Do not edit! ***********/
9
10#ifndef __TFM_SPM_DB_IPC_INC__
11#define __TFM_SPM_DB_IPC_INC__
12
13#include "spm_api.h"
14#include "psa_manifest/sid.h"
15
16/**************************************************************************/
17/** IRQ count per partition */
18/**************************************************************************/
19#ifdef TFM_PARTITION_SECURE_STORAGE
20#define TFM_PARTITION_TFM_SP_STORAGE_IRQ_COUNT 0
21#endif /* TFM_PARTITION_SECURE_STORAGE */
22
23#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
24#define TFM_PARTITION_TFM_SP_ITS_IRQ_COUNT 0
25#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
26
27#ifdef TFM_PARTITION_AUDIT_LOG
28#define TFM_PARTITION_TFM_SP_AUDIT_LOG_IRQ_COUNT 0
29#endif /* TFM_PARTITION_AUDIT_LOG */
30
31#ifdef TFM_PARTITION_CRYPTO
32#define TFM_PARTITION_TFM_SP_CRYPTO_IRQ_COUNT 0
33#endif /* TFM_PARTITION_CRYPTO */
34
35#ifdef TFM_PARTITION_PLATFORM
36#define TFM_PARTITION_TFM_SP_PLATFORM_IRQ_COUNT 0
37#endif /* TFM_PARTITION_PLATFORM */
38
39#ifdef TFM_PARTITION_INITIAL_ATTESTATION
40#define TFM_PARTITION_TFM_SP_INITIAL_ATTESTATION_IRQ_COUNT 0
41#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
42
43#ifdef TFM_PARTITION_TEST_CORE
44#define TFM_PARTITION_TFM_SP_CORE_TEST_IRQ_COUNT 0
45#endif /* TFM_PARTITION_TEST_CORE */
46
47#ifdef TFM_PARTITION_TEST_CORE
48#define TFM_PARTITION_TFM_SP_CORE_TEST_2_IRQ_COUNT 0
49#endif /* TFM_PARTITION_TEST_CORE */
50
51#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
52#define TFM_PARTITION_TFM_SP_SECURE_TEST_PARTITION_IRQ_COUNT 0
53#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
54
55#ifdef TFM_PARTITION_TEST_CORE_IPC
56#define TFM_PARTITION_TFM_SP_IPC_SERVICE_TEST_IRQ_COUNT 0
57#endif /* TFM_PARTITION_TEST_CORE_IPC */
58
59#ifdef TFM_PARTITION_TEST_CORE_IPC
60#define TFM_PARTITION_TFM_SP_IPC_CLIENT_TEST_IRQ_COUNT 0
61#endif /* TFM_PARTITION_TEST_CORE_IPC */
62
63#ifdef TFM_ENABLE_IRQ_TEST
64#define TFM_PARTITION_TFM_IRQ_TEST_1_IRQ_COUNT 1
65#endif /* TFM_ENABLE_IRQ_TEST */
66
67#ifdef TFM_PARTITION_TEST_SST
68#define TFM_PARTITION_TFM_SP_SST_TEST_IRQ_COUNT 0
69#endif /* TFM_PARTITION_TEST_SST */
70
71#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
72#define TFM_PARTITION_TFM_SP_SECURE_CLIENT_2_IRQ_COUNT 0
73#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
74
75#ifdef TFM_MULTI_CORE_TEST
76#define TFM_PARTITION_TFM_SP_MULTI_CORE_TEST_IRQ_COUNT 0
77#endif /* TFM_MULTI_CORE_TEST */
78
79/**************************************************************************/
80/** Declarations of partition init functions */
81/**************************************************************************/
82extern void tfm_nspm_thread_entry(void);
83
84#ifdef TFM_PARTITION_SECURE_STORAGE
85extern void tfm_sst_req_mngr_init(void);
86#endif /* TFM_PARTITION_SECURE_STORAGE */
87
88#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
89extern void tfm_its_req_mngr_init(void);
90#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
91
92#ifdef TFM_PARTITION_AUDIT_LOG
93extern void audit_core_init(void);
94#endif /* TFM_PARTITION_AUDIT_LOG */
95
96#ifdef TFM_PARTITION_CRYPTO
97extern void tfm_crypto_init(void);
98#endif /* TFM_PARTITION_CRYPTO */
99
100#ifdef TFM_PARTITION_PLATFORM
101extern void platform_sp_init(void);
102#endif /* TFM_PARTITION_PLATFORM */
103
104#ifdef TFM_PARTITION_INITIAL_ATTESTATION
105extern void attest_partition_init(void);
106#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
107
108#ifdef TFM_PARTITION_TEST_CORE
109extern void core_test_init(void);
110#endif /* TFM_PARTITION_TEST_CORE */
111
112#ifdef TFM_PARTITION_TEST_CORE
113extern void core_test_2_init(void);
114#endif /* TFM_PARTITION_TEST_CORE */
115
116#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
117extern void tfm_secure_client_service_init(void);
118#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
119
120#ifdef TFM_PARTITION_TEST_CORE_IPC
121extern void ipc_service_test_main(void);
122#endif /* TFM_PARTITION_TEST_CORE_IPC */
123
124#ifdef TFM_PARTITION_TEST_CORE_IPC
125extern void ipc_client_test_main(void);
126#endif /* TFM_PARTITION_TEST_CORE_IPC */
127
128#ifdef TFM_ENABLE_IRQ_TEST
129extern void tfm_irq_test_1_init(void);
130#endif /* TFM_ENABLE_IRQ_TEST */
131
132#ifdef TFM_PARTITION_TEST_SST
133extern void tfm_sst_test_init(void);
134#endif /* TFM_PARTITION_TEST_SST */
135
136#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
137extern void tfm_secure_client_2_init(void);
138#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
139
140#ifdef TFM_MULTI_CORE_TEST
141extern void multi_core_test_main(void);
142#endif /* TFM_MULTI_CORE_TEST */
143
144/**************************************************************************/
145/** Memory region declarations */
146/**************************************************************************/
147REGION_DECLARE(Image$$, ARM_LIB_STACK, $$ZI$$Base);
148REGION_DECLARE(Image$$, ARM_LIB_STACK, $$ZI$$Limit);
149
150#ifdef TFM_PARTITION_SECURE_STORAGE
151REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$Base);
152REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$Limit);
153REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$RO$$Base);
154REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$RO$$Limit);
155REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$RW$$Base);
156REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$RW$$Limit);
157REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Base);
158REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Limit);
159REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Base);
160REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Limit);
161#endif /* TFM_PARTITION_SECURE_STORAGE */
162
163#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
164REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$Base);
165REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$Limit);
166REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$RO$$Base);
167REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$RO$$Limit);
168REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$RW$$Base);
169REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$RW$$Limit);
170REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$ZI$$Base);
171REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$ZI$$Limit);
172REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _STACK$$ZI$$Base);
173REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _STACK$$ZI$$Limit);
174#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
175
176#ifdef TFM_PARTITION_AUDIT_LOG
177REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$Base);
178REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$Limit);
179REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$RO$$Base);
180REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$RO$$Limit);
181REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Base);
182REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Limit);
183REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Base);
184REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Limit);
185REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Base);
186REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Limit);
187#endif /* TFM_PARTITION_AUDIT_LOG */
188
189#ifdef TFM_PARTITION_CRYPTO
190REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$Base);
191REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$Limit);
192REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$RO$$Base);
193REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$RO$$Limit);
194REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Base);
195REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Limit);
196REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Base);
197REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Limit);
198REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Base);
199REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Limit);
200#endif /* TFM_PARTITION_CRYPTO */
201
202#ifdef TFM_PARTITION_PLATFORM
203REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$Base);
204REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$Limit);
205REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$RO$$Base);
206REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$RO$$Limit);
207REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Base);
208REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Limit);
209REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Base);
210REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Limit);
211REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Base);
212REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Limit);
213#endif /* TFM_PARTITION_PLATFORM */
214
215#ifdef TFM_PARTITION_INITIAL_ATTESTATION
216REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$Base);
217REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$Limit);
218REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Base);
219REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Limit);
220REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Base);
221REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Limit);
222REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Base);
223REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Limit);
224REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Base);
225REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Limit);
226#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
227
228#ifdef TFM_PARTITION_TEST_CORE
229REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$Base);
230REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$Limit);
231REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$RO$$Base);
232REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$RO$$Limit);
233REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Base);
234REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Limit);
235REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Base);
236REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Limit);
237REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Base);
238REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Limit);
239#endif /* TFM_PARTITION_TEST_CORE */
240
241#ifdef TFM_PARTITION_TEST_CORE
242REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$Base);
243REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$Limit);
244REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$RO$$Base);
245REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$RO$$Limit);
246REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Base);
247REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Limit);
248REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Base);
249REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Limit);
250REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Base);
251REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Limit);
252#endif /* TFM_PARTITION_TEST_CORE */
253
254#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
255REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Base);
256REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Limit);
257REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Base);
258REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Limit);
259REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Base);
260REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Limit);
261REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Base);
262REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Limit);
263REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Base);
264REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Limit);
265#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
266
267#ifdef TFM_PARTITION_TEST_CORE_IPC
268REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$Base);
269REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$Limit);
270REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Base);
271REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Limit);
272REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Base);
273REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Limit);
274REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Base);
275REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Limit);
276REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Base);
277REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Limit);
278#endif /* TFM_PARTITION_TEST_CORE_IPC */
279
280#ifdef TFM_PARTITION_TEST_CORE_IPC
281REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$Base);
282REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$Limit);
283REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Base);
284REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Limit);
285REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Base);
286REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Limit);
287REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Base);
288REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Limit);
289REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Base);
290REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Limit);
291#endif /* TFM_PARTITION_TEST_CORE_IPC */
292
293#ifdef TFM_ENABLE_IRQ_TEST
294REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$Base);
295REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$Limit);
296REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$RO$$Base);
297REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$RO$$Limit);
298REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Base);
299REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Limit);
300REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Base);
301REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Limit);
302REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Base);
303REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Limit);
304#endif /* TFM_ENABLE_IRQ_TEST */
305
306#ifdef TFM_PARTITION_TEST_SST
307REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, $$Base);
308REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, $$Limit);
309REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, $$RO$$Base);
310REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, $$RO$$Limit);
311REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, _DATA$$RW$$Base);
312REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, _DATA$$RW$$Limit);
313REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, _DATA$$ZI$$Base);
314REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, _DATA$$ZI$$Limit);
315REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, _STACK$$ZI$$Base);
316REGION_DECLARE(Image$$, TFM_SP_SST_TEST_LINKER, _STACK$$ZI$$Limit);
317#endif /* TFM_PARTITION_TEST_SST */
318
319#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
320REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$Base);
321REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$Limit);
322REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Base);
323REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Limit);
324REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Base);
325REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Limit);
326REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Base);
327REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Limit);
328REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Base);
329REGION_DECLARE(Image$$, TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Limit);
330#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
331
332#ifdef TFM_MULTI_CORE_TEST
333REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$Base);
334REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$Limit);
335REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Base);
336REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Limit);
337REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Base);
338REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Limit);
339REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Base);
340REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Limit);
341REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Base);
342REGION_DECLARE(Image$$, TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Limit);
343#endif /* TFM_MULTI_CORE_TEST */
344
345/**************************************************************************/
346/** Dependencies array for Secure Partition */
347/**************************************************************************/
348#ifdef TFM_PARTITION_SECURE_STORAGE
349static int32_t dependencies_TFM_SP_STORAGE[] =
350{
351 TFM_CRYPTO_SID,
352 TFM_ITS_SET_SID,
353 TFM_ITS_GET_SID,
354 TFM_ITS_GET_INFO_SID,
355 TFM_ITS_REMOVE_SID,
356 TFM_SP_PLATFORM_NV_COUNTER_SID,
357};
358#endif /* TFM_PARTITION_SECURE_STORAGE */
359
360#ifdef TFM_PARTITION_CRYPTO
361static int32_t dependencies_TFM_SP_CRYPTO[] =
362{
363 TFM_ITS_SET_SID,
364 TFM_ITS_GET_SID,
365 TFM_ITS_GET_INFO_SID,
366 TFM_ITS_REMOVE_SID,
367};
368#endif /* TFM_PARTITION_CRYPTO */
369
370#ifdef TFM_PARTITION_INITIAL_ATTESTATION
371static int32_t dependencies_TFM_SP_INITIAL_ATTESTATION[] =
372{
373 TFM_CRYPTO_SID,
374};
375#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
376
377#ifdef TFM_PARTITION_TEST_CORE
378static int32_t dependencies_TFM_SP_CORE_TEST[] =
379{
380 SPM_CORE_TEST_2_INVERT_SID,
381 SPM_CORE_TEST_2_GET_EVERY_SECOND_BYTE_SID,
382 SPM_CORE_TEST_2_SLAVE_SERVICE_SID,
383};
384#endif /* TFM_PARTITION_TEST_CORE */
385
386#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
387static int32_t dependencies_TFM_SP_SECURE_TEST_PARTITION[] =
388{
389 TFM_SECURE_CLIENT_2_SID,
390 TFM_CRYPTO_SID,
391 TFM_SST_SET_SID,
392 TFM_SST_GET_SID,
393 TFM_SST_GET_INFO_SID,
394 TFM_SST_REMOVE_SID,
395 TFM_SST_GET_SUPPORT_SID,
396 TFM_ITS_SET_SID,
397 TFM_ITS_GET_SID,
398 TFM_ITS_GET_INFO_SID,
399 TFM_ITS_REMOVE_SID,
400 TFM_ATTEST_GET_TOKEN_SID,
401 TFM_ATTEST_GET_TOKEN_SIZE_SID,
402 TFM_ATTEST_GET_PUBLIC_KEY_SID,
403 TFM_SST_TEST_PREPARE_SID,
404 TFM_SP_PLATFORM_SYSTEM_RESET_SID,
405 TFM_SP_PLATFORM_IOCTL_SID,
406};
407#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
408
409#ifdef TFM_PARTITION_TEST_CORE_IPC
410static int32_t dependencies_TFM_SP_IPC_CLIENT_TEST[] =
411{
412 IPC_SERVICE_TEST_PSA_ACCESS_APP_READ_ONLY_MEM_SID,
413 IPC_SERVICE_TEST_PSA_ACCESS_APP_MEM_SID,
414 IPC_SERVICE_TEST_BASIC_SID,
415 IPC_SERVICE_TEST_APP_ACCESS_PSA_MEM_SID,
416};
417#endif /* TFM_PARTITION_TEST_CORE_IPC */
418
419#ifdef TFM_PARTITION_TEST_SST
420static int32_t dependencies_TFM_SP_SST_TEST[] =
421{
422 TFM_CRYPTO_SID,
423 TFM_ITS_GET_SID,
424 TFM_ITS_REMOVE_SID,
425};
426#endif /* TFM_PARTITION_TEST_SST */
427
428#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
429static int32_t dependencies_TFM_SP_SECURE_CLIENT_2[] =
430{
431 TFM_ITS_GET_SID,
432 TFM_CRYPTO_SID,
433};
434#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
435
436/**************************************************************************/
437/** The static data of the partition list */
438/**************************************************************************/
439const struct spm_partition_static_data_t static_data_list[] =
440{
441 {
442 .psa_framework_version = 0x0100,
443 .partition_id = TFM_SP_NON_SECURE_ID,
444#if TFM_MULTI_CORE_TOPOLOGY
445 .partition_flags = SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_IPC,
446#else
447 .partition_flags = SPM_PART_FLAG_APP_ROT | SPM_PART_FLAG_IPC,
448#endif
449 .partition_priority = TFM_PRIORITY_LOW,
450 .partition_init = tfm_nspm_thread_entry,
451 },
452
453#ifdef TFM_PARTITION_SECURE_STORAGE
454 {
455 .psa_framework_version = 0x0100,
456 .partition_id = TFM_SP_STORAGE,
457 .partition_flags = SPM_PART_FLAG_IPC
458 | SPM_PART_FLAG_APP_ROT
459 ,
460 .partition_priority = TFM_PRIORITY(NORMAL),
461 .partition_init = tfm_sst_req_mngr_init,
462 .dependencies_num = 6,
463 .p_dependencies = dependencies_TFM_SP_STORAGE,
464 },
465#endif /* TFM_PARTITION_SECURE_STORAGE */
466
467#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
468 {
469 .psa_framework_version = 0x0100,
470 .partition_id = TFM_SP_ITS,
471 .partition_flags = SPM_PART_FLAG_IPC
472 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
473 ,
474 .partition_priority = TFM_PRIORITY(NORMAL),
475 .partition_init = tfm_its_req_mngr_init,
476 .dependencies_num = 0,
477 .p_dependencies = NULL,
478 },
479#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
480
481#ifdef TFM_PARTITION_AUDIT_LOG
482 {
483 .psa_framework_version = 0x0100,
484 .partition_id = TFM_SP_AUDIT_LOG,
485 .partition_flags = 0
486 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
487 ,
488 .partition_priority = TFM_PRIORITY(NORMAL),
489 .partition_init = audit_core_init,
490 .dependencies_num = 0,
491 .p_dependencies = NULL,
492 },
493#endif /* TFM_PARTITION_AUDIT_LOG */
494
495#ifdef TFM_PARTITION_CRYPTO
496 {
497 .psa_framework_version = 0x0100,
498 .partition_id = TFM_SP_CRYPTO,
499 .partition_flags = SPM_PART_FLAG_IPC
500 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
501 ,
502 .partition_priority = TFM_PRIORITY(NORMAL),
503 .partition_init = tfm_crypto_init,
504 .dependencies_num = 4,
505 .p_dependencies = dependencies_TFM_SP_CRYPTO,
506 },
507#endif /* TFM_PARTITION_CRYPTO */
508
509#ifdef TFM_PARTITION_PLATFORM
510 {
511 .psa_framework_version = 0x0100,
512 .partition_id = TFM_SP_PLATFORM,
513 .partition_flags = SPM_PART_FLAG_IPC
514 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
515 ,
516 .partition_priority = TFM_PRIORITY(NORMAL),
517 .partition_init = platform_sp_init,
518 .dependencies_num = 0,
519 .p_dependencies = NULL,
520 },
521#endif /* TFM_PARTITION_PLATFORM */
522
523#ifdef TFM_PARTITION_INITIAL_ATTESTATION
524 {
525 .psa_framework_version = 0x0100,
526 .partition_id = TFM_SP_INITIAL_ATTESTATION,
527 .partition_flags = SPM_PART_FLAG_IPC
528 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
529 ,
530 .partition_priority = TFM_PRIORITY(NORMAL),
531 .partition_init = attest_partition_init,
532 .dependencies_num = 1,
533 .p_dependencies = dependencies_TFM_SP_INITIAL_ATTESTATION,
534 },
535#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
536
537#ifdef TFM_PARTITION_TEST_CORE
538 {
539 .psa_framework_version = 0x0100,
540 .partition_id = TFM_SP_CORE_TEST,
541 .partition_flags = SPM_PART_FLAG_IPC
542 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
543 ,
544 .partition_priority = TFM_PRIORITY(NORMAL),
545 .partition_init = core_test_init,
546 .dependencies_num = 3,
547 .p_dependencies = dependencies_TFM_SP_CORE_TEST,
548 },
549#endif /* TFM_PARTITION_TEST_CORE */
550
551#ifdef TFM_PARTITION_TEST_CORE
552 {
553 .psa_framework_version = 0x0100,
554 .partition_id = TFM_SP_CORE_TEST_2,
555 .partition_flags = SPM_PART_FLAG_IPC
556 | SPM_PART_FLAG_APP_ROT
557 ,
558 .partition_priority = TFM_PRIORITY(NORMAL),
559 .partition_init = core_test_2_init,
560 .dependencies_num = 0,
561 .p_dependencies = NULL,
562 },
563#endif /* TFM_PARTITION_TEST_CORE */
564
565#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
566 {
567 .psa_framework_version = 0x0100,
568 .partition_id = TFM_SP_SECURE_TEST_PARTITION,
569 .partition_flags = SPM_PART_FLAG_IPC
570 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
571 ,
572 .partition_priority = TFM_PRIORITY(NORMAL),
573 .partition_init = tfm_secure_client_service_init,
574 .dependencies_num = 17,
575 .p_dependencies = dependencies_TFM_SP_SECURE_TEST_PARTITION,
576 },
577#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
578
579#ifdef TFM_PARTITION_TEST_CORE_IPC
580 {
581 .psa_framework_version = 0x0100,
582 .partition_id = TFM_SP_IPC_SERVICE_TEST,
583 .partition_flags = SPM_PART_FLAG_IPC
584 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
585 ,
586 .partition_priority = TFM_PRIORITY(HIGH),
587 .partition_init = ipc_service_test_main,
588 .dependencies_num = 0,
589 .p_dependencies = NULL,
590 },
591#endif /* TFM_PARTITION_TEST_CORE_IPC */
592
593#ifdef TFM_PARTITION_TEST_CORE_IPC
594 {
595 .psa_framework_version = 0x0100,
596 .partition_id = TFM_SP_IPC_CLIENT_TEST,
597 .partition_flags = SPM_PART_FLAG_IPC
598 | SPM_PART_FLAG_APP_ROT
599 ,
600 .partition_priority = TFM_PRIORITY(NORMAL),
601 .partition_init = ipc_client_test_main,
602 .dependencies_num = 4,
603 .p_dependencies = dependencies_TFM_SP_IPC_CLIENT_TEST,
604 },
605#endif /* TFM_PARTITION_TEST_CORE_IPC */
606
607#ifdef TFM_ENABLE_IRQ_TEST
608 {
609 .psa_framework_version = 0x0100,
610 .partition_id = TFM_IRQ_TEST_1,
611 .partition_flags = SPM_PART_FLAG_IPC
612 | SPM_PART_FLAG_APP_ROT
613 ,
614 .partition_priority = TFM_PRIORITY(NORMAL),
615 .partition_init = tfm_irq_test_1_init,
616 .dependencies_num = 0,
617 .p_dependencies = NULL,
618 },
619#endif /* TFM_ENABLE_IRQ_TEST */
620
621#ifdef TFM_PARTITION_TEST_SST
622 {
623 .psa_framework_version = 0x0100,
624 .partition_id = TFM_SP_SST_TEST,
625 .partition_flags = SPM_PART_FLAG_IPC
626 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
627 ,
628 .partition_priority = TFM_PRIORITY(NORMAL),
629 .partition_init = tfm_sst_test_init,
630 .dependencies_num = 3,
631 .p_dependencies = dependencies_TFM_SP_SST_TEST,
632 },
633#endif /* TFM_PARTITION_TEST_SST */
634
635#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
636 {
637 .psa_framework_version = 0x0100,
638 .partition_id = TFM_SP_SECURE_CLIENT_2,
639 .partition_flags = SPM_PART_FLAG_IPC
640 | SPM_PART_FLAG_APP_ROT
641 ,
642 .partition_priority = TFM_PRIORITY(NORMAL),
643 .partition_init = tfm_secure_client_2_init,
644 .dependencies_num = 2,
645 .p_dependencies = dependencies_TFM_SP_SECURE_CLIENT_2,
646 },
647#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
648
649#ifdef TFM_MULTI_CORE_TEST
650 {
651 .psa_framework_version = 0x0100,
652 .partition_id = TFM_SP_MULTI_CORE_TEST,
653 .partition_flags = SPM_PART_FLAG_IPC
654 | SPM_PART_FLAG_APP_ROT
655 ,
656 .partition_priority = TFM_PRIORITY(NORMAL),
657 .partition_init = multi_core_test_main,
658 .dependencies_num = 0,
659 .p_dependencies = NULL,
660 },
661#endif /* TFM_MULTI_CORE_TEST */
662
663};
664
665/**************************************************************************/
666/** The platform data of the partition list */
667/**************************************************************************/
668#ifdef TFM_PARTITION_AUDIT_LOG
669const struct tfm_spm_partition_platform_data_t *
670 platform_data_list_TFM_SP_AUDIT_LOG[] =
671{
672#ifdef AUDIT_UART_REDIRECTION
673 TFM_PERIPHERAL_UART1,
674#endif /* AUDIT_UART_REDIRECTION */
675 NULL
676};
677#endif /* TFM_PARTITION_AUDIT_LOG */
678
679#ifdef TFM_PARTITION_TEST_CORE
680const struct tfm_spm_partition_platform_data_t *
681 platform_data_list_TFM_SP_CORE_TEST[] =
682{
683 TFM_PERIPHERAL_FPGA_IO,
684 NULL
685};
686#endif /* TFM_PARTITION_TEST_CORE */
687
688#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
689const struct tfm_spm_partition_platform_data_t *
690 platform_data_list_TFM_SP_SECURE_TEST_PARTITION[] =
691{
692 TFM_PERIPHERAL_STD_UART,
693 NULL
694};
695#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
696
697#ifdef TFM_ENABLE_IRQ_TEST
698const struct tfm_spm_partition_platform_data_t *
699 platform_data_list_TFM_IRQ_TEST_1[] =
700{
701 TFM_PERIPHERAL_TIMER0,
702 NULL
703};
704#endif /* TFM_ENABLE_IRQ_TEST */
705
706const struct tfm_spm_partition_platform_data_t **platform_data_list_list[] =
707{
708 NULL,
709
710#ifdef TFM_PARTITION_SECURE_STORAGE
711 NULL,
712#endif /* TFM_PARTITION_SECURE_STORAGE */
713
714#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
715 NULL,
716#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
717
718#ifdef TFM_PARTITION_AUDIT_LOG
719 platform_data_list_TFM_SP_AUDIT_LOG,
720#endif /* TFM_PARTITION_AUDIT_LOG */
721
722#ifdef TFM_PARTITION_CRYPTO
723 NULL,
724#endif /* TFM_PARTITION_CRYPTO */
725
726#ifdef TFM_PARTITION_PLATFORM
727 NULL,
728#endif /* TFM_PARTITION_PLATFORM */
729
730#ifdef TFM_PARTITION_INITIAL_ATTESTATION
731 NULL,
732#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
733
734#ifdef TFM_PARTITION_TEST_CORE
735 platform_data_list_TFM_SP_CORE_TEST,
736#endif /* TFM_PARTITION_TEST_CORE */
737
738#ifdef TFM_PARTITION_TEST_CORE
739 NULL,
740#endif /* TFM_PARTITION_TEST_CORE */
741
742#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
743 platform_data_list_TFM_SP_SECURE_TEST_PARTITION,
744#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
745
746#ifdef TFM_PARTITION_TEST_CORE_IPC
747 NULL,
748#endif /* TFM_PARTITION_TEST_CORE_IPC */
749
750#ifdef TFM_PARTITION_TEST_CORE_IPC
751 NULL,
752#endif /* TFM_PARTITION_TEST_CORE_IPC */
753
754#ifdef TFM_ENABLE_IRQ_TEST
755 platform_data_list_TFM_IRQ_TEST_1,
756#endif /* TFM_ENABLE_IRQ_TEST */
757
758#ifdef TFM_PARTITION_TEST_SST
759 NULL,
760#endif /* TFM_PARTITION_TEST_SST */
761
762#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
763 NULL,
764#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
765
766#ifdef TFM_MULTI_CORE_TEST
767 NULL,
768#endif /* TFM_MULTI_CORE_TEST */
769
770};
771
772/**************************************************************************/
773/** The memory data of the partition list */
774/**************************************************************************/
775const struct tfm_spm_partition_memory_data_t memory_data_list[] =
776{
777 {
778 .stack_bottom = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Base),
779 .stack_top = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Limit),
780 .rw_start = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Base),
781 },
782#ifdef TFM_PARTITION_SECURE_STORAGE
783 {
784 .code_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$Base),
785 .code_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$Limit),
786 .ro_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$RO$$Base),
787 .ro_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$RO$$Limit),
788 .rw_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$RW$$Base),
789 .rw_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$RW$$Limit),
790 .zi_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Base),
791 .zi_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Limit),
792 .stack_bottom = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Base),
793 .stack_top = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Limit),
794 },
795#endif /* TFM_PARTITION_SECURE_STORAGE */
796
797#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
798 {
799 .code_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$Base),
800 .code_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$Limit),
801 .ro_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$RO$$Base),
802 .ro_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$RO$$Limit),
803 .rw_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$RW$$Base),
804 .rw_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$RW$$Limit),
805 .zi_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$ZI$$Base),
806 .zi_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$ZI$$Limit),
807 .stack_bottom = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _STACK$$ZI$$Base),
808 .stack_top = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _STACK$$ZI$$Limit),
809 },
810#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
811
812#ifdef TFM_PARTITION_AUDIT_LOG
813 {
814 .code_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$Base),
815 .code_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$Limit),
816 .ro_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$RO$$Base),
817 .ro_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$RO$$Limit),
818 .rw_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Base),
819 .rw_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Limit),
820 .zi_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Base),
821 .zi_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Limit),
822 .stack_bottom = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Base),
823 .stack_top = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Limit),
824 },
825#endif /* TFM_PARTITION_AUDIT_LOG */
826
827#ifdef TFM_PARTITION_CRYPTO
828 {
829 .code_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$Base),
830 .code_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$Limit),
831 .ro_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$RO$$Base),
832 .ro_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$RO$$Limit),
833 .rw_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Base),
834 .rw_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Limit),
835 .zi_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Base),
836 .zi_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Limit),
837 .stack_bottom = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Base),
838 .stack_top = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Limit),
839 },
840#endif /* TFM_PARTITION_CRYPTO */
841
842#ifdef TFM_PARTITION_PLATFORM
843 {
844 .code_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$Base),
845 .code_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$Limit),
846 .ro_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$RO$$Base),
847 .ro_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$RO$$Limit),
848 .rw_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Base),
849 .rw_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Limit),
850 .zi_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Base),
851 .zi_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Limit),
852 .stack_bottom = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Base),
853 .stack_top = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Limit),
854 },
855#endif /* TFM_PARTITION_PLATFORM */
856
857#ifdef TFM_PARTITION_INITIAL_ATTESTATION
858 {
859 .code_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$Base),
860 .code_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$Limit),
861 .ro_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Base),
862 .ro_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Limit),
863 .rw_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Base),
864 .rw_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Limit),
865 .zi_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Base),
866 .zi_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Limit),
867 .stack_bottom = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Base),
868 .stack_top = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Limit),
869 },
870#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
871
872#ifdef TFM_PARTITION_TEST_CORE
873 {
874 .code_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$Base),
875 .code_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$Limit),
876 .ro_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$RO$$Base),
877 .ro_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$RO$$Limit),
878 .rw_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Base),
879 .rw_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Limit),
880 .zi_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Base),
881 .zi_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Limit),
882 .stack_bottom = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Base),
883 .stack_top = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Limit),
884 },
885#endif /* TFM_PARTITION_TEST_CORE */
886
887#ifdef TFM_PARTITION_TEST_CORE
888 {
889 .code_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$Base),
890 .code_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$Limit),
891 .ro_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$RO$$Base),
892 .ro_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$RO$$Limit),
893 .rw_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Base),
894 .rw_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Limit),
895 .zi_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Base),
896 .zi_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Limit),
897 .stack_bottom = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Base),
898 .stack_top = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Limit),
899 },
900#endif /* TFM_PARTITION_TEST_CORE */
901
902#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
903 {
904 .code_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Base),
905 .code_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Limit),
906 .ro_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Base),
907 .ro_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Limit),
908 .rw_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Base),
909 .rw_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Limit),
910 .zi_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Base),
911 .zi_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Limit),
912 .stack_bottom = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Base),
913 .stack_top = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Limit),
914 },
915#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
916
917#ifdef TFM_PARTITION_TEST_CORE_IPC
918 {
919 .code_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$Base),
920 .code_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$Limit),
921 .ro_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Base),
922 .ro_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Limit),
923 .rw_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Base),
924 .rw_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Limit),
925 .zi_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Base),
926 .zi_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Limit),
927 .stack_bottom = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Base),
928 .stack_top = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Limit),
929 },
930#endif /* TFM_PARTITION_TEST_CORE_IPC */
931
932#ifdef TFM_PARTITION_TEST_CORE_IPC
933 {
934 .code_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$Base),
935 .code_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$Limit),
936 .ro_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Base),
937 .ro_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Limit),
938 .rw_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Base),
939 .rw_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Limit),
940 .zi_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Base),
941 .zi_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Limit),
942 .stack_bottom = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Base),
943 .stack_top = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Limit),
944 },
945#endif /* TFM_PARTITION_TEST_CORE_IPC */
946
947#ifdef TFM_ENABLE_IRQ_TEST
948 {
949 .code_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$Base),
950 .code_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$Limit),
951 .ro_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$RO$$Base),
952 .ro_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$RO$$Limit),
953 .rw_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Base),
954 .rw_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Limit),
955 .zi_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Base),
956 .zi_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Limit),
957 .stack_bottom = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Base),
958 .stack_top = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Limit),
959 },
960#endif /* TFM_ENABLE_IRQ_TEST */
961
962#ifdef TFM_PARTITION_TEST_SST
963 {
964 .code_start = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, $$Base),
965 .code_limit = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, $$Limit),
966 .ro_start = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, $$RO$$Base),
967 .ro_limit = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, $$RO$$Limit),
968 .rw_start = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, _DATA$$RW$$Base),
969 .rw_limit = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, _DATA$$RW$$Limit),
970 .zi_start = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, _DATA$$ZI$$Base),
971 .zi_limit = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, _DATA$$ZI$$Limit),
972 .stack_bottom = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, _STACK$$ZI$$Base),
973 .stack_top = PART_REGION_ADDR(TFM_SP_SST_TEST_LINKER, _STACK$$ZI$$Limit),
974 },
975#endif /* TFM_PARTITION_TEST_SST */
976
977#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
978 {
979 .code_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$Base),
980 .code_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$Limit),
981 .ro_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Base),
982 .ro_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, $$RO$$Limit),
983 .rw_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Base),
984 .rw_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$RW$$Limit),
985 .zi_start = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Base),
986 .zi_limit = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _DATA$$ZI$$Limit),
987 .stack_bottom = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Base),
988 .stack_top = PART_REGION_ADDR(TFM_SP_SECURE_CLIENT_2_LINKER, _STACK$$ZI$$Limit),
989 },
990#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
991
992#ifdef TFM_MULTI_CORE_TEST
993 {
994 .code_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$Base),
995 .code_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$Limit),
996 .ro_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Base),
997 .ro_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, $$RO$$Limit),
998 .rw_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Base),
999 .rw_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$RW$$Limit),
1000 .zi_start = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Base),
1001 .zi_limit = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _DATA$$ZI$$Limit),
1002 .stack_bottom = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Base),
1003 .stack_top = PART_REGION_ADDR(TFM_SP_MULTI_CORE_TEST_LINKER, _STACK$$ZI$$Limit),
1004 },
1005#endif /* TFM_MULTI_CORE_TEST */
1006
1007};
1008
1009/**************************************************************************/
1010/** The partition list for the DB */
1011/**************************************************************************/
1012static struct spm_partition_desc_t partition_list [] =
1013{
1014 {{0}}, /* placeholder for Non-secure internal partition */
1015
1016 /* -----------------------------------------------------------------------*/
1017 /* - Partition DB record for TFM_SP_STORAGE */
1018 /* -----------------------------------------------------------------------*/
1019#ifdef TFM_PARTITION_SECURE_STORAGE
1020 {
1021 /* Runtime data */
1022 .runtime_data = {0},
1023 .static_data = NULL,
1024 .platform_data_list = NULL,
1025 },
1026#endif /* TFM_PARTITION_SECURE_STORAGE */
1027
1028 /* -----------------------------------------------------------------------*/
1029 /* - Partition DB record for TFM_SP_ITS */
1030 /* -----------------------------------------------------------------------*/
1031#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
1032 {
1033 /* Runtime data */
1034 .runtime_data = {0},
1035 .static_data = NULL,
1036 .platform_data_list = NULL,
1037 },
1038#endif /* TFM_PARTITION_INTERNAL_TRUSTED_STORAGE */
1039
1040 /* -----------------------------------------------------------------------*/
1041 /* - Partition DB record for TFM_SP_AUDIT_LOG */
1042 /* -----------------------------------------------------------------------*/
1043#ifdef TFM_PARTITION_AUDIT_LOG
1044 {
1045 /* Runtime data */
1046 .runtime_data = {0},
1047 .static_data = NULL,
1048 .platform_data_list = NULL,
1049 },
1050#endif /* TFM_PARTITION_AUDIT_LOG */
1051
1052 /* -----------------------------------------------------------------------*/
1053 /* - Partition DB record for TFM_SP_CRYPTO */
1054 /* -----------------------------------------------------------------------*/
1055#ifdef TFM_PARTITION_CRYPTO
1056 {
1057 /* Runtime data */
1058 .runtime_data = {0},
1059 .static_data = NULL,
1060 .platform_data_list = NULL,
1061 },
1062#endif /* TFM_PARTITION_CRYPTO */
1063
1064 /* -----------------------------------------------------------------------*/
1065 /* - Partition DB record for TFM_SP_PLATFORM */
1066 /* -----------------------------------------------------------------------*/
1067#ifdef TFM_PARTITION_PLATFORM
1068 {
1069 /* Runtime data */
1070 .runtime_data = {0},
1071 .static_data = NULL,
1072 .platform_data_list = NULL,
1073 },
1074#endif /* TFM_PARTITION_PLATFORM */
1075
1076 /* -----------------------------------------------------------------------*/
1077 /* - Partition DB record for TFM_SP_INITIAL_ATTESTATION */
1078 /* -----------------------------------------------------------------------*/
1079#ifdef TFM_PARTITION_INITIAL_ATTESTATION
1080 {
1081 /* Runtime data */
1082 .runtime_data = {0},
1083 .static_data = NULL,
1084 .platform_data_list = NULL,
1085 },
1086#endif /* TFM_PARTITION_INITIAL_ATTESTATION */
1087
1088 /* -----------------------------------------------------------------------*/
1089 /* - Partition DB record for TFM_SP_CORE_TEST */
1090 /* -----------------------------------------------------------------------*/
1091#ifdef TFM_PARTITION_TEST_CORE
1092 {
1093 /* Runtime data */
1094 .runtime_data = {0},
1095 .static_data = NULL,
1096 .platform_data_list = NULL,
1097 },
1098#endif /* TFM_PARTITION_TEST_CORE */
1099
1100 /* -----------------------------------------------------------------------*/
1101 /* - Partition DB record for TFM_SP_CORE_TEST_2 */
1102 /* -----------------------------------------------------------------------*/
1103#ifdef TFM_PARTITION_TEST_CORE
1104 {
1105 /* Runtime data */
1106 .runtime_data = {0},
1107 .static_data = NULL,
1108 .platform_data_list = NULL,
1109 },
1110#endif /* TFM_PARTITION_TEST_CORE */
1111
1112 /* -----------------------------------------------------------------------*/
1113 /* - Partition DB record for TFM_SP_SECURE_TEST_PARTITION */
1114 /* -----------------------------------------------------------------------*/
1115#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
1116 {
1117 /* Runtime data */
1118 .runtime_data = {0},
1119 .static_data = NULL,
1120 .platform_data_list = NULL,
1121 },
1122#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
1123
1124 /* -----------------------------------------------------------------------*/
1125 /* - Partition DB record for TFM_SP_IPC_SERVICE_TEST */
1126 /* -----------------------------------------------------------------------*/
1127#ifdef TFM_PARTITION_TEST_CORE_IPC
1128 {
1129 /* Runtime data */
1130 .runtime_data = {0},
1131 .static_data = NULL,
1132 .platform_data_list = NULL,
1133 },
1134#endif /* TFM_PARTITION_TEST_CORE_IPC */
1135
1136 /* -----------------------------------------------------------------------*/
1137 /* - Partition DB record for TFM_SP_IPC_CLIENT_TEST */
1138 /* -----------------------------------------------------------------------*/
1139#ifdef TFM_PARTITION_TEST_CORE_IPC
1140 {
1141 /* Runtime data */
1142 .runtime_data = {0},
1143 .static_data = NULL,
1144 .platform_data_list = NULL,
1145 },
1146#endif /* TFM_PARTITION_TEST_CORE_IPC */
1147
1148 /* -----------------------------------------------------------------------*/
1149 /* - Partition DB record for TFM_IRQ_TEST_1 */
1150 /* -----------------------------------------------------------------------*/
1151#ifdef TFM_ENABLE_IRQ_TEST
1152 {
1153 /* Runtime data */
1154 .runtime_data = {0},
1155 .static_data = NULL,
1156 .platform_data_list = NULL,
1157 },
1158#endif /* TFM_ENABLE_IRQ_TEST */
1159
1160 /* -----------------------------------------------------------------------*/
1161 /* - Partition DB record for TFM_SP_SST_TEST */
1162 /* -----------------------------------------------------------------------*/
1163#ifdef TFM_PARTITION_TEST_SST
1164 {
1165 /* Runtime data */
1166 .runtime_data = {0},
1167 .static_data = NULL,
1168 .platform_data_list = NULL,
1169 },
1170#endif /* TFM_PARTITION_TEST_SST */
1171
1172 /* -----------------------------------------------------------------------*/
1173 /* - Partition DB record for TFM_SP_SECURE_CLIENT_2 */
1174 /* -----------------------------------------------------------------------*/
1175#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
1176 {
1177 /* Runtime data */
1178 .runtime_data = {0},
1179 .static_data = NULL,
1180 .platform_data_list = NULL,
1181 },
1182#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
1183
1184 /* -----------------------------------------------------------------------*/
1185 /* - Partition DB record for TFM_SP_MULTI_CORE_TEST */
1186 /* -----------------------------------------------------------------------*/
1187#ifdef TFM_MULTI_CORE_TEST
1188 {
1189 /* Runtime data */
1190 .runtime_data = {0},
1191 .static_data = NULL,
1192 .platform_data_list = NULL,
1193 },
1194#endif /* TFM_MULTI_CORE_TEST */
1195
1196};
1197
1198struct spm_partition_db_t g_spm_partition_db = {
1199 .is_init = 0,
1200 .partition_count = sizeof(partition_list) / sizeof(partition_list[0]),
1201 .partitions = partition_list,
1202};
1203
1204#endif /* __TFM_SPM_DB_IPC_INC__ */