blob: 2ac617644041e93cff86409068be594d886604e5 [file] [log] [blame]
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001/*
2 * Copyright (c) 2019, 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_INC__
11#define __TFM_SPM_DB_INC__
12
13#include "spm_api.h"
14
15/**************************************************************************/
16/** IRQ count per partition */
17/**************************************************************************/
18#define TFM_PARTITION_TFM_SP_STORAGE_IRQ_COUNT 0
19
TudorCretufb182bc2019-07-05 17:34:12 +010020#define TFM_PARTITION_TFM_SP_ITS_IRQ_COUNT 0
21
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020022#ifdef TFM_PARTITION_AUDIT_LOG
23#define TFM_PARTITION_TFM_SP_AUDIT_LOG_IRQ_COUNT 0
24#endif /* TFM_PARTITION_AUDIT_LOG */
25
26#define TFM_PARTITION_TFM_SP_CRYPTO_IRQ_COUNT 0
27
28#ifdef TFM_PARTITION_PLATFORM
29#define TFM_PARTITION_TFM_SP_PLATFORM_IRQ_COUNT 0
30#endif /* TFM_PARTITION_PLATFORM */
31
32#define TFM_PARTITION_TFM_SP_INITIAL_ATTESTATION_IRQ_COUNT 0
33
34#ifdef TFM_PARTITION_TEST_CORE
35#define TFM_PARTITION_TFM_SP_CORE_TEST_IRQ_COUNT 0
36#endif /* TFM_PARTITION_TEST_CORE */
37
38#ifdef TFM_PARTITION_TEST_CORE
39#define TFM_PARTITION_TFM_SP_CORE_TEST_2_IRQ_COUNT 0
40#endif /* TFM_PARTITION_TEST_CORE */
41
42#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
43#define TFM_PARTITION_TFM_SP_SECURE_TEST_PARTITION_IRQ_COUNT 0
44#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
45
46#ifdef TFM_PARTITION_TEST_CORE_IPC
47#define TFM_PARTITION_TFM_SP_IPC_SERVICE_TEST_IRQ_COUNT 0
48#endif /* TFM_PARTITION_TEST_CORE_IPC */
49
50#ifdef TFM_PARTITION_TEST_CORE_IPC
51#define TFM_PARTITION_TFM_SP_IPC_CLIENT_TEST_IRQ_COUNT 0
52#endif /* TFM_PARTITION_TEST_CORE_IPC */
53
David Hu33f2fd22019-08-16 15:32:39 +080054#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020055#define TFM_PARTITION_TFM_IRQ_TEST_1_IRQ_COUNT 1
David Hu33f2fd22019-08-16 15:32:39 +080056#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020057
58/**************************************************************************/
59/** Declarations of partition init functions */
60/**************************************************************************/
Summer Qin423dbef2019-08-22 15:59:35 +080061#ifdef TFM_PSA_API
Edison Ai9c48d202019-10-12 16:57:21 +080062extern void tfm_nspm_thread_entry(void);
Summer Qin423dbef2019-08-22 15:59:35 +080063#endif
64
Edison Ai9c48d202019-10-12 16:57:21 +080065extern void tfm_sst_req_mngr_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020066
Edison Ai9c48d202019-10-12 16:57:21 +080067extern void tfm_its_req_mngr_init(void);
TudorCretufb182bc2019-07-05 17:34:12 +010068
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020069#ifdef TFM_PARTITION_AUDIT_LOG
Edison Ai9c48d202019-10-12 16:57:21 +080070extern void audit_core_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020071#endif /* TFM_PARTITION_AUDIT_LOG */
72
Edison Ai9c48d202019-10-12 16:57:21 +080073extern void tfm_crypto_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020074
75#ifdef TFM_PARTITION_PLATFORM
Edison Ai9c48d202019-10-12 16:57:21 +080076extern void platform_sp_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020077#endif /* TFM_PARTITION_PLATFORM */
78
Edison Ai9c48d202019-10-12 16:57:21 +080079extern void attest_partition_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020080
81#ifdef TFM_PARTITION_TEST_CORE
Edison Ai9c48d202019-10-12 16:57:21 +080082extern void core_test_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020083#endif /* TFM_PARTITION_TEST_CORE */
84
85#ifdef TFM_PARTITION_TEST_CORE
Edison Ai9c48d202019-10-12 16:57:21 +080086extern void core_test_2_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020087#endif /* TFM_PARTITION_TEST_CORE */
88
89#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
Edison Ai9c48d202019-10-12 16:57:21 +080090extern void tfm_secure_client_service_init(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020091#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
92
93#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai9c48d202019-10-12 16:57:21 +080094extern void ipc_service_test_main(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020095#endif /* TFM_PARTITION_TEST_CORE_IPC */
96
97#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Ai9c48d202019-10-12 16:57:21 +080098extern void ipc_client_test_main(void);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +020099#endif /* TFM_PARTITION_TEST_CORE_IPC */
100
David Hu33f2fd22019-08-16 15:32:39 +0800101#ifdef TFM_ENABLE_IRQ_TEST
Edison Ai9c48d202019-10-12 16:57:21 +0800102extern void tfm_irq_test_1_init(void);
David Hu33f2fd22019-08-16 15:32:39 +0800103#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200104
105/**************************************************************************/
106/** Memory region declarations */
107/**************************************************************************/
Summer Qin423dbef2019-08-22 15:59:35 +0800108#ifdef TFM_PSA_API
109REGION_DECLARE(Image$$, ARM_LIB_STACK, $$ZI$$Base);
110REGION_DECLARE(Image$$, ARM_LIB_STACK, $$ZI$$Limit);
111
Edison Aib2134e62019-10-11 18:24:47 +0800112REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$Base);
113REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$Limit);
114REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$RO$$Base);
115REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, $$RO$$Limit);
116REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$RW$$Base);
117REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$RW$$Limit);
118REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Base);
119REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Limit);
120REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Base);
121REGION_DECLARE(Image$$, TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200122
Edison Aib2134e62019-10-11 18:24:47 +0800123REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$Base);
124REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$Limit);
125REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$RO$$Base);
126REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, $$RO$$Limit);
127REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$RW$$Base);
128REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$RW$$Limit);
129REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$ZI$$Base);
130REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _DATA$$ZI$$Limit);
131REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _STACK$$ZI$$Base);
132REGION_DECLARE(Image$$, TFM_SP_ITS_LINKER, _STACK$$ZI$$Limit);
TudorCretufb182bc2019-07-05 17:34:12 +0100133
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200134#ifdef TFM_PARTITION_AUDIT_LOG
Edison Aib2134e62019-10-11 18:24:47 +0800135REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$Base);
136REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$Limit);
137REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$RO$$Base);
138REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, $$RO$$Limit);
139REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Base);
140REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Limit);
141REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Base);
142REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Limit);
143REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Base);
144REGION_DECLARE(Image$$, TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200145#endif /* TFM_PARTITION_AUDIT_LOG */
146
Edison Aib2134e62019-10-11 18:24:47 +0800147REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$Base);
148REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$Limit);
149REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$RO$$Base);
150REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, $$RO$$Limit);
151REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Base);
152REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Limit);
153REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Base);
154REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Limit);
155REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Base);
156REGION_DECLARE(Image$$, TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200157
158#ifdef TFM_PARTITION_PLATFORM
Edison Aib2134e62019-10-11 18:24:47 +0800159REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$Base);
160REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$Limit);
161REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$RO$$Base);
162REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, $$RO$$Limit);
163REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Base);
164REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Limit);
165REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Base);
166REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Limit);
167REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Base);
168REGION_DECLARE(Image$$, TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200169#endif /* TFM_PARTITION_PLATFORM */
170
Edison Aib2134e62019-10-11 18:24:47 +0800171REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$Base);
172REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$Limit);
173REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Base);
174REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Limit);
175REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Base);
176REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Limit);
177REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Base);
178REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Limit);
179REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Base);
180REGION_DECLARE(Image$$, TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200181
182#ifdef TFM_PARTITION_TEST_CORE
Edison Aib2134e62019-10-11 18:24:47 +0800183REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$Base);
184REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$Limit);
185REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$RO$$Base);
186REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, $$RO$$Limit);
187REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Base);
188REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Limit);
189REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Base);
190REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Limit);
191REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Base);
192REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200193#endif /* TFM_PARTITION_TEST_CORE */
194
195#ifdef TFM_PARTITION_TEST_CORE
Edison Aib2134e62019-10-11 18:24:47 +0800196REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$Base);
197REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$Limit);
198REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$RO$$Base);
199REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, $$RO$$Limit);
200REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Base);
201REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Limit);
202REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Base);
203REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Limit);
204REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Base);
205REGION_DECLARE(Image$$, TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200206#endif /* TFM_PARTITION_TEST_CORE */
207
208#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
Edison Aib2134e62019-10-11 18:24:47 +0800209REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Base);
210REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Limit);
211REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Base);
212REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Limit);
213REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Base);
214REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Limit);
215REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Base);
216REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Limit);
217REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Base);
218REGION_DECLARE(Image$$, TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200219#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
220
221#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Aib2134e62019-10-11 18:24:47 +0800222REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$Base);
223REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$Limit);
224REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Base);
225REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Limit);
226REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Base);
227REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Limit);
228REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Base);
229REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Limit);
230REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Base);
231REGION_DECLARE(Image$$, TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200232#endif /* TFM_PARTITION_TEST_CORE_IPC */
233
234#ifdef TFM_PARTITION_TEST_CORE_IPC
Edison Aib2134e62019-10-11 18:24:47 +0800235REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$Base);
236REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$Limit);
237REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Base);
238REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Limit);
239REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Base);
240REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Limit);
241REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Base);
242REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Limit);
243REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Base);
244REGION_DECLARE(Image$$, TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Limit);
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200245#endif /* TFM_PARTITION_TEST_CORE_IPC */
246
David Hu33f2fd22019-08-16 15:32:39 +0800247#ifdef TFM_ENABLE_IRQ_TEST
Edison Aib2134e62019-10-11 18:24:47 +0800248REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$Base);
249REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$Limit);
250REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$RO$$Base);
251REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, $$RO$$Limit);
252REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Base);
253REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Limit);
254REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Base);
255REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Limit);
256REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Base);
257REGION_DECLARE(Image$$, TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Limit);
David Hu33f2fd22019-08-16 15:32:39 +0800258#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200259
Summer Qin423dbef2019-08-22 15:59:35 +0800260#endif /* defined(TFM_PSA_API) */
261
Edison Ai66fbdf12019-07-08 16:05:07 +0800262#ifndef TFM_PSA_API
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200263/**************************************************************************/
264/** Context stacks for IRQ handling */
265/**************************************************************************/
266/* The max size of the context stack can be calculated as a function of the IRQ
267 * count of the secure partition:
268 *
269 * max_stack_size = intr_ctx_size + (IRQ_CNT * (intr_ctx_size + hndl_ctx_size))
270 *
271 * where:
272 * intr_ctx: Frame pushed when the partition is interrupted
273 * hndl_ctx: Frame pushed when the partition is handling an interrupt
274 */
Summer Qin423dbef2019-08-22 15:59:35 +0800275static uint32_t ns_interrupt_ctx_stack[
276 sizeof(struct interrupted_ctx_stack_frame_t) / sizeof(uint32_t)];
277
278static uint32_t tfm_core_interrupt_ctx_stack[
279 sizeof(struct interrupted_ctx_stack_frame_t) / sizeof(uint32_t)];
280
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200281static uint32_t ctx_stack_TFM_SP_STORAGE[
282 (sizeof(struct interrupted_ctx_stack_frame_t) +
283 (TFM_PARTITION_TFM_SP_STORAGE_IRQ_COUNT) * (
284 sizeof(struct interrupted_ctx_stack_frame_t) +
285 sizeof(struct handler_ctx_stack_frame_t)
286 )) / sizeof(uint32_t)];
287
TudorCretufb182bc2019-07-05 17:34:12 +0100288static uint32_t ctx_stack_TFM_SP_ITS[
289 (sizeof(struct interrupted_ctx_stack_frame_t) +
290 (TFM_PARTITION_TFM_SP_ITS_IRQ_COUNT) * (
291 sizeof(struct interrupted_ctx_stack_frame_t) +
292 sizeof(struct handler_ctx_stack_frame_t)
293 )) / sizeof(uint32_t)];
294
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200295#ifdef TFM_PARTITION_AUDIT_LOG
296static uint32_t ctx_stack_TFM_SP_AUDIT_LOG[
297 (sizeof(struct interrupted_ctx_stack_frame_t) +
298 (TFM_PARTITION_TFM_SP_AUDIT_LOG_IRQ_COUNT) * (
299 sizeof(struct interrupted_ctx_stack_frame_t) +
300 sizeof(struct handler_ctx_stack_frame_t)
301 )) / sizeof(uint32_t)];
302#endif /* TFM_PARTITION_AUDIT_LOG */
303
304static uint32_t ctx_stack_TFM_SP_CRYPTO[
305 (sizeof(struct interrupted_ctx_stack_frame_t) +
306 (TFM_PARTITION_TFM_SP_CRYPTO_IRQ_COUNT) * (
307 sizeof(struct interrupted_ctx_stack_frame_t) +
308 sizeof(struct handler_ctx_stack_frame_t)
309 )) / sizeof(uint32_t)];
310
311#ifdef TFM_PARTITION_PLATFORM
312static uint32_t ctx_stack_TFM_SP_PLATFORM[
313 (sizeof(struct interrupted_ctx_stack_frame_t) +
314 (TFM_PARTITION_TFM_SP_PLATFORM_IRQ_COUNT) * (
315 sizeof(struct interrupted_ctx_stack_frame_t) +
316 sizeof(struct handler_ctx_stack_frame_t)
317 )) / sizeof(uint32_t)];
318#endif /* TFM_PARTITION_PLATFORM */
319
320static uint32_t ctx_stack_TFM_SP_INITIAL_ATTESTATION[
321 (sizeof(struct interrupted_ctx_stack_frame_t) +
322 (TFM_PARTITION_TFM_SP_INITIAL_ATTESTATION_IRQ_COUNT) * (
323 sizeof(struct interrupted_ctx_stack_frame_t) +
324 sizeof(struct handler_ctx_stack_frame_t)
325 )) / sizeof(uint32_t)];
326
327#ifdef TFM_PARTITION_TEST_CORE
328static uint32_t ctx_stack_TFM_SP_CORE_TEST[
329 (sizeof(struct interrupted_ctx_stack_frame_t) +
330 (TFM_PARTITION_TFM_SP_CORE_TEST_IRQ_COUNT) * (
331 sizeof(struct interrupted_ctx_stack_frame_t) +
332 sizeof(struct handler_ctx_stack_frame_t)
333 )) / sizeof(uint32_t)];
334#endif /* TFM_PARTITION_TEST_CORE */
335
336#ifdef TFM_PARTITION_TEST_CORE
337static uint32_t ctx_stack_TFM_SP_CORE_TEST_2[
338 (sizeof(struct interrupted_ctx_stack_frame_t) +
339 (TFM_PARTITION_TFM_SP_CORE_TEST_2_IRQ_COUNT) * (
340 sizeof(struct interrupted_ctx_stack_frame_t) +
341 sizeof(struct handler_ctx_stack_frame_t)
342 )) / sizeof(uint32_t)];
343#endif /* TFM_PARTITION_TEST_CORE */
344
345#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
346static uint32_t ctx_stack_TFM_SP_SECURE_TEST_PARTITION[
347 (sizeof(struct interrupted_ctx_stack_frame_t) +
348 (TFM_PARTITION_TFM_SP_SECURE_TEST_PARTITION_IRQ_COUNT) * (
349 sizeof(struct interrupted_ctx_stack_frame_t) +
350 sizeof(struct handler_ctx_stack_frame_t)
351 )) / sizeof(uint32_t)];
352#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
353
354#ifdef TFM_PARTITION_TEST_CORE_IPC
355static uint32_t ctx_stack_TFM_SP_IPC_SERVICE_TEST[
356 (sizeof(struct interrupted_ctx_stack_frame_t) +
357 (TFM_PARTITION_TFM_SP_IPC_SERVICE_TEST_IRQ_COUNT) * (
358 sizeof(struct interrupted_ctx_stack_frame_t) +
359 sizeof(struct handler_ctx_stack_frame_t)
360 )) / sizeof(uint32_t)];
361#endif /* TFM_PARTITION_TEST_CORE_IPC */
362
363#ifdef TFM_PARTITION_TEST_CORE_IPC
364static uint32_t ctx_stack_TFM_SP_IPC_CLIENT_TEST[
365 (sizeof(struct interrupted_ctx_stack_frame_t) +
366 (TFM_PARTITION_TFM_SP_IPC_CLIENT_TEST_IRQ_COUNT) * (
367 sizeof(struct interrupted_ctx_stack_frame_t) +
368 sizeof(struct handler_ctx_stack_frame_t)
369 )) / sizeof(uint32_t)];
370#endif /* TFM_PARTITION_TEST_CORE_IPC */
371
David Hu33f2fd22019-08-16 15:32:39 +0800372#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200373static uint32_t ctx_stack_TFM_IRQ_TEST_1[
374 (sizeof(struct interrupted_ctx_stack_frame_t) +
375 (TFM_PARTITION_TFM_IRQ_TEST_1_IRQ_COUNT) * (
376 sizeof(struct interrupted_ctx_stack_frame_t) +
377 sizeof(struct handler_ctx_stack_frame_t)
378 )) / sizeof(uint32_t)];
David Hu33f2fd22019-08-16 15:32:39 +0800379#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200380
Summer Qin423dbef2019-08-22 15:59:35 +0800381
382uint32_t *ctx_stack_list[] =
383{
384 ns_interrupt_ctx_stack,
385 tfm_core_interrupt_ctx_stack,
386 ctx_stack_TFM_SP_STORAGE,
TudorCretufb182bc2019-07-05 17:34:12 +0100387 ctx_stack_TFM_SP_ITS,
Summer Qin423dbef2019-08-22 15:59:35 +0800388#ifdef TFM_PARTITION_AUDIT_LOG
389 ctx_stack_TFM_SP_AUDIT_LOG,
390#endif /* TFM_PARTITION_AUDIT_LOG */
391 ctx_stack_TFM_SP_CRYPTO,
392#ifdef TFM_PARTITION_PLATFORM
393 ctx_stack_TFM_SP_PLATFORM,
394#endif /* TFM_PARTITION_PLATFORM */
395 ctx_stack_TFM_SP_INITIAL_ATTESTATION,
396#ifdef TFM_PARTITION_TEST_CORE
397 ctx_stack_TFM_SP_CORE_TEST,
398#endif /* TFM_PARTITION_TEST_CORE */
399#ifdef TFM_PARTITION_TEST_CORE
400 ctx_stack_TFM_SP_CORE_TEST_2,
401#endif /* TFM_PARTITION_TEST_CORE */
402#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
403 ctx_stack_TFM_SP_SECURE_TEST_PARTITION,
404#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
405#ifdef TFM_PARTITION_TEST_CORE_IPC
406 ctx_stack_TFM_SP_IPC_SERVICE_TEST,
407#endif /* TFM_PARTITION_TEST_CORE_IPC */
408#ifdef TFM_PARTITION_TEST_CORE_IPC
409 ctx_stack_TFM_SP_IPC_CLIENT_TEST,
410#endif /* TFM_PARTITION_TEST_CORE_IPC */
411#ifdef TFM_ENABLE_IRQ_TEST
412 ctx_stack_TFM_IRQ_TEST_1,
413#endif /* TFM_ENABLE_IRQ_TEST */
414};
Edison Ai66fbdf12019-07-08 16:05:07 +0800415#endif /* !defined(TFM_PSA_API) */
416
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200417/**************************************************************************/
Summer Qin423dbef2019-08-22 15:59:35 +0800418/** The static data of the partition list */
419/**************************************************************************/
420const struct spm_partition_static_data_t static_data_list[] =
421{
422 {
Edison Aif0501702019-10-11 14:36:42 +0800423#ifdef TFM_PSA_API
424 .psa_framework_version = 0x0100,
425#endif /* defined(TFM_PSA_API) */
Summer Qin423dbef2019-08-22 15:59:35 +0800426 .partition_id = TFM_SP_NON_SECURE_ID,
427#ifdef TFM_PSA_API
David Hu90128b72019-09-23 16:35:41 +0800428#if TFM_MULTI_CORE_TOPOLOGY
429 .partition_flags = SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_IPC,
430#else
Summer Qin423dbef2019-08-22 15:59:35 +0800431 .partition_flags = SPM_PART_FLAG_APP_ROT | SPM_PART_FLAG_IPC,
David Hu90128b72019-09-23 16:35:41 +0800432#endif
Summer Qin423dbef2019-08-22 15:59:35 +0800433 .partition_priority = TFM_PRIORITY_LOW,
434 .partition_init = tfm_nspm_thread_entry,
435#else
436 .partition_flags = 0,
437#endif
438 },
439
440#ifndef TFM_PSA_API
441 {
442 .partition_id = TFM_SP_CORE_ID,
443 .partition_flags = SPM_PART_FLAG_APP_ROT | SPM_PART_FLAG_PSA_ROT,
444 },
445#endif
446
447 {
Edison Aif0501702019-10-11 14:36:42 +0800448#ifdef TFM_PSA_API
449 .psa_framework_version = 0x0100,
450#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800451 .partition_id = TFM_SP_STORAGE,
Summer Qin423dbef2019-08-22 15:59:35 +0800452 .partition_flags = SPM_PART_FLAG_IPC
453 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
454 ,
455 .partition_priority = TFM_PRIORITY(NORMAL),
456 .partition_init = tfm_sst_req_mngr_init,
457 },
458
TudorCretufb182bc2019-07-05 17:34:12 +0100459 {
Edison Aif0501702019-10-11 14:36:42 +0800460#ifdef TFM_PSA_API
461 .psa_framework_version = 0x0100,
462#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800463 .partition_id = TFM_SP_ITS,
TudorCretufb182bc2019-07-05 17:34:12 +0100464 .partition_flags = SPM_PART_FLAG_IPC
465 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
466 ,
467 .partition_priority = TFM_PRIORITY(NORMAL),
468 .partition_init = tfm_its_req_mngr_init,
469 },
470
Summer Qin423dbef2019-08-22 15:59:35 +0800471#ifdef TFM_PARTITION_AUDIT_LOG
472 {
Edison Aif0501702019-10-11 14:36:42 +0800473#ifdef TFM_PSA_API
474 .psa_framework_version = 0x0100,
475#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800476 .partition_id = TFM_SP_AUDIT_LOG,
Summer Qin423dbef2019-08-22 15:59:35 +0800477 .partition_flags = 0
478 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
479 ,
480 .partition_priority = TFM_PRIORITY(NORMAL),
481 .partition_init = audit_core_init,
482 },
483#endif /* TFM_PARTITION_AUDIT_LOG */
484
485 {
Edison Aif0501702019-10-11 14:36:42 +0800486#ifdef TFM_PSA_API
487 .psa_framework_version = 0x0100,
488#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800489 .partition_id = TFM_SP_CRYPTO,
Summer Qin423dbef2019-08-22 15:59:35 +0800490 .partition_flags = SPM_PART_FLAG_IPC
491 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
492 ,
493 .partition_priority = TFM_PRIORITY(NORMAL),
494 .partition_init = tfm_crypto_init,
495 },
496
497#ifdef TFM_PARTITION_PLATFORM
498 {
Edison Aif0501702019-10-11 14:36:42 +0800499#ifdef TFM_PSA_API
500 .psa_framework_version = 0x0100,
501#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800502 .partition_id = TFM_SP_PLATFORM,
Summer Qin423dbef2019-08-22 15:59:35 +0800503 .partition_flags = 0
504 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
505 ,
506 .partition_priority = TFM_PRIORITY(NORMAL),
507 .partition_init = platform_sp_init,
508 },
509#endif /* TFM_PARTITION_PLATFORM */
510
511 {
Edison Aif0501702019-10-11 14:36:42 +0800512#ifdef TFM_PSA_API
513 .psa_framework_version = 0x0100,
514#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800515 .partition_id = TFM_SP_INITIAL_ATTESTATION,
Summer Qin423dbef2019-08-22 15:59:35 +0800516 .partition_flags = SPM_PART_FLAG_IPC
517 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
518 ,
519 .partition_priority = TFM_PRIORITY(NORMAL),
520 .partition_init = attest_partition_init,
521 },
522
523#ifdef TFM_PARTITION_TEST_CORE
524 {
Edison Aif0501702019-10-11 14:36:42 +0800525#ifdef TFM_PSA_API
526 .psa_framework_version = 0x0100,
527#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800528 .partition_id = TFM_SP_CORE_TEST,
Summer Qin423dbef2019-08-22 15:59:35 +0800529 .partition_flags = SPM_PART_FLAG_IPC
Mate Toth-Palacae8bd2019-09-10 16:47:11 +0200530 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
Summer Qin423dbef2019-08-22 15:59:35 +0800531 ,
532 .partition_priority = TFM_PRIORITY(NORMAL),
533 .partition_init = core_test_init,
534 },
535#endif /* TFM_PARTITION_TEST_CORE */
536
537#ifdef TFM_PARTITION_TEST_CORE
538 {
Edison Aif0501702019-10-11 14:36:42 +0800539#ifdef TFM_PSA_API
540 .psa_framework_version = 0x0100,
541#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800542 .partition_id = TFM_SP_CORE_TEST_2,
Summer Qin423dbef2019-08-22 15:59:35 +0800543 .partition_flags = SPM_PART_FLAG_IPC
544 | SPM_PART_FLAG_APP_ROT
545 ,
546 .partition_priority = TFM_PRIORITY(NORMAL),
547 .partition_init = core_test_2_init,
548 },
549#endif /* TFM_PARTITION_TEST_CORE */
550
551#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
552 {
Edison Aif0501702019-10-11 14:36:42 +0800553#ifdef TFM_PSA_API
554 .psa_framework_version = 0x0100,
555#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800556 .partition_id = TFM_SP_SECURE_TEST_PARTITION,
Summer Qin423dbef2019-08-22 15:59:35 +0800557 .partition_flags = SPM_PART_FLAG_IPC
558 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
559 ,
560 .partition_priority = TFM_PRIORITY(NORMAL),
561 .partition_init = tfm_secure_client_service_init,
562 },
563#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
564
565#ifdef TFM_PARTITION_TEST_CORE_IPC
566 {
Edison Aif0501702019-10-11 14:36:42 +0800567#ifdef TFM_PSA_API
568 .psa_framework_version = 0x0100,
569#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800570 .partition_id = TFM_SP_IPC_SERVICE_TEST,
Summer Qin423dbef2019-08-22 15:59:35 +0800571 .partition_flags = SPM_PART_FLAG_IPC
572 | SPM_PART_FLAG_PSA_ROT | SPM_PART_FLAG_APP_ROT
573 ,
574 .partition_priority = TFM_PRIORITY(HIGH),
575 .partition_init = ipc_service_test_main,
576 },
577#endif /* TFM_PARTITION_TEST_CORE_IPC */
578
579#ifdef TFM_PARTITION_TEST_CORE_IPC
580 {
Edison Aif0501702019-10-11 14:36:42 +0800581#ifdef TFM_PSA_API
582 .psa_framework_version = 0x0100,
583#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800584 .partition_id = TFM_SP_IPC_CLIENT_TEST,
Summer Qin423dbef2019-08-22 15:59:35 +0800585 .partition_flags = SPM_PART_FLAG_IPC
586 | SPM_PART_FLAG_APP_ROT
587 ,
588 .partition_priority = TFM_PRIORITY(NORMAL),
589 .partition_init = ipc_client_test_main,
590 },
591#endif /* TFM_PARTITION_TEST_CORE_IPC */
592
593#ifdef TFM_ENABLE_IRQ_TEST
594 {
Edison Aif0501702019-10-11 14:36:42 +0800595#ifdef TFM_PSA_API
596 .psa_framework_version = 0x0100,
597#endif /* defined(TFM_PSA_API) */
Edison Aib2134e62019-10-11 18:24:47 +0800598 .partition_id = TFM_IRQ_TEST_1,
Summer Qin423dbef2019-08-22 15:59:35 +0800599 .partition_flags = SPM_PART_FLAG_IPC
600 | SPM_PART_FLAG_APP_ROT
601 ,
602 .partition_priority = TFM_PRIORITY(NORMAL),
603 .partition_init = tfm_irq_test_1_init,
604 },
605#endif /* TFM_ENABLE_IRQ_TEST */
606
607};
608
609/**************************************************************************/
610/** The platform data of the partition list */
611/**************************************************************************/
612const struct tfm_spm_partition_platform_data_t *platform_data_list[] =
613{
614 NULL,
615
616#ifndef TFM_PSA_API
617 NULL,
618#endif
619
620 NULL,
621
TudorCretufb182bc2019-07-05 17:34:12 +0100622 NULL,
623
Summer Qin423dbef2019-08-22 15:59:35 +0800624#ifdef TFM_PARTITION_AUDIT_LOG
625 /* FIXME: Only adding the first mmio region */
626#ifdef AUDIT_UART_REDIRECTION
627 TFM_PERIPHERAL_UART1,
628#else /* AUDIT_UART_REDIRECTION */
629 NULL,
630#endif /* AUDIT_UART_REDIRECTION */
631#endif /* TFM_PARTITION_AUDIT_LOG */
632
633 NULL,
634
635#ifdef TFM_PARTITION_PLATFORM
636 NULL,
637#endif /* TFM_PARTITION_PLATFORM */
638
639 NULL,
640
641#ifdef TFM_PARTITION_TEST_CORE
642 /* FIXME: Only adding the first mmio region */
643 TFM_PERIPHERAL_FPGA_IO,
644#endif /* TFM_PARTITION_TEST_CORE */
645
646#ifdef TFM_PARTITION_TEST_CORE
647 NULL,
648#endif /* TFM_PARTITION_TEST_CORE */
649
650#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
651 /* FIXME: Only adding the first mmio region */
652 TFM_PERIPHERAL_STD_UART,
653#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
654
655#ifdef TFM_PARTITION_TEST_CORE_IPC
656 NULL,
657#endif /* TFM_PARTITION_TEST_CORE_IPC */
658
659#ifdef TFM_PARTITION_TEST_CORE_IPC
660 NULL,
661#endif /* TFM_PARTITION_TEST_CORE_IPC */
662
663#ifdef TFM_ENABLE_IRQ_TEST
664 /* FIXME: Only adding the first mmio region */
665 TFM_PERIPHERAL_TIMER0,
666#endif /* TFM_ENABLE_IRQ_TEST */
667
668};
669
670/**************************************************************************/
671/** The memory data of the partition list */
672/**************************************************************************/
673#ifdef TFM_PSA_API
674const struct tfm_spm_partition_memory_data_t memory_data_list[] =
675{
676 {
677 .stack_bottom = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Base),
678 .stack_top = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Limit),
679 .rw_start = PART_REGION_ADDR(ARM_LIB_STACK, $$ZI$$Base),
680 },
681 {
Edison Aib2134e62019-10-11 18:24:47 +0800682 .code_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$Base),
683 .code_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$Limit),
684 .ro_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$RO$$Base),
685 .ro_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, $$RO$$Limit),
686 .rw_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$RW$$Base),
687 .rw_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$RW$$Limit),
688 .zi_start = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Base),
689 .zi_limit = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _DATA$$ZI$$Limit),
690 .stack_bottom = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Base),
691 .stack_top = PART_REGION_ADDR(TFM_SP_STORAGE_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800692 },
693
TudorCretufb182bc2019-07-05 17:34:12 +0100694 {
Edison Aib2134e62019-10-11 18:24:47 +0800695 .code_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$Base),
696 .code_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$Limit),
697 .ro_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$RO$$Base),
698 .ro_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, $$RO$$Limit),
699 .rw_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$RW$$Base),
700 .rw_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$RW$$Limit),
701 .zi_start = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$ZI$$Base),
702 .zi_limit = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _DATA$$ZI$$Limit),
703 .stack_bottom = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _STACK$$ZI$$Base),
704 .stack_top = PART_REGION_ADDR(TFM_SP_ITS_LINKER, _STACK$$ZI$$Limit),
TudorCretufb182bc2019-07-05 17:34:12 +0100705 },
706
Summer Qin423dbef2019-08-22 15:59:35 +0800707#ifdef TFM_PARTITION_AUDIT_LOG
708 {
Edison Aib2134e62019-10-11 18:24:47 +0800709 .code_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$Base),
710 .code_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$Limit),
711 .ro_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$RO$$Base),
712 .ro_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, $$RO$$Limit),
713 .rw_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Base),
714 .rw_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$RW$$Limit),
715 .zi_start = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Base),
716 .zi_limit = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _DATA$$ZI$$Limit),
717 .stack_bottom = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Base),
718 .stack_top = PART_REGION_ADDR(TFM_SP_AUDIT_LOG_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800719 },
720#endif /* TFM_PARTITION_AUDIT_LOG */
721
722 {
Edison Aib2134e62019-10-11 18:24:47 +0800723 .code_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$Base),
724 .code_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$Limit),
725 .ro_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$RO$$Base),
726 .ro_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, $$RO$$Limit),
727 .rw_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Base),
728 .rw_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$RW$$Limit),
729 .zi_start = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Base),
730 .zi_limit = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _DATA$$ZI$$Limit),
731 .stack_bottom = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Base),
732 .stack_top = PART_REGION_ADDR(TFM_SP_CRYPTO_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800733 },
734
735#ifdef TFM_PARTITION_PLATFORM
736 {
Edison Aib2134e62019-10-11 18:24:47 +0800737 .code_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$Base),
738 .code_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$Limit),
739 .ro_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$RO$$Base),
740 .ro_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, $$RO$$Limit),
741 .rw_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Base),
742 .rw_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$RW$$Limit),
743 .zi_start = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Base),
744 .zi_limit = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _DATA$$ZI$$Limit),
745 .stack_bottom = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Base),
746 .stack_top = PART_REGION_ADDR(TFM_SP_PLATFORM_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800747 },
748#endif /* TFM_PARTITION_PLATFORM */
749
750 {
Edison Aib2134e62019-10-11 18:24:47 +0800751 .code_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$Base),
752 .code_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$Limit),
753 .ro_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Base),
754 .ro_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, $$RO$$Limit),
755 .rw_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Base),
756 .rw_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$RW$$Limit),
757 .zi_start = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Base),
758 .zi_limit = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _DATA$$ZI$$Limit),
759 .stack_bottom = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Base),
760 .stack_top = PART_REGION_ADDR(TFM_SP_INITIAL_ATTESTATION_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800761 },
762
763#ifdef TFM_PARTITION_TEST_CORE
764 {
Edison Aib2134e62019-10-11 18:24:47 +0800765 .code_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$Base),
766 .code_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$Limit),
767 .ro_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$RO$$Base),
768 .ro_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, $$RO$$Limit),
769 .rw_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Base),
770 .rw_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$RW$$Limit),
771 .zi_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Base),
772 .zi_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _DATA$$ZI$$Limit),
773 .stack_bottom = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Base),
774 .stack_top = PART_REGION_ADDR(TFM_SP_CORE_TEST_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800775 },
776#endif /* TFM_PARTITION_TEST_CORE */
777
778#ifdef TFM_PARTITION_TEST_CORE
779 {
Edison Aib2134e62019-10-11 18:24:47 +0800780 .code_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$Base),
781 .code_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$Limit),
782 .ro_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$RO$$Base),
783 .ro_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, $$RO$$Limit),
784 .rw_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Base),
785 .rw_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$RW$$Limit),
786 .zi_start = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Base),
787 .zi_limit = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _DATA$$ZI$$Limit),
788 .stack_bottom = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Base),
789 .stack_top = PART_REGION_ADDR(TFM_SP_CORE_TEST_2_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800790 },
791#endif /* TFM_PARTITION_TEST_CORE */
792
793#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
794 {
Edison Aib2134e62019-10-11 18:24:47 +0800795 .code_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Base),
796 .code_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$Limit),
797 .ro_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Base),
798 .ro_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, $$RO$$Limit),
799 .rw_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Base),
800 .rw_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$RW$$Limit),
801 .zi_start = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Base),
802 .zi_limit = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _DATA$$ZI$$Limit),
803 .stack_bottom = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Base),
804 .stack_top = PART_REGION_ADDR(TFM_SP_SECURE_TEST_PARTITION_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800805 },
806#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
807
808#ifdef TFM_PARTITION_TEST_CORE_IPC
809 {
Edison Aib2134e62019-10-11 18:24:47 +0800810 .code_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$Base),
811 .code_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$Limit),
812 .ro_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Base),
813 .ro_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, $$RO$$Limit),
814 .rw_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Base),
815 .rw_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$RW$$Limit),
816 .zi_start = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Base),
817 .zi_limit = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _DATA$$ZI$$Limit),
818 .stack_bottom = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Base),
819 .stack_top = PART_REGION_ADDR(TFM_SP_IPC_SERVICE_TEST_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800820 },
821#endif /* TFM_PARTITION_TEST_CORE_IPC */
822
823#ifdef TFM_PARTITION_TEST_CORE_IPC
824 {
Edison Aib2134e62019-10-11 18:24:47 +0800825 .code_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$Base),
826 .code_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$Limit),
827 .ro_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Base),
828 .ro_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, $$RO$$Limit),
829 .rw_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Base),
830 .rw_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$RW$$Limit),
831 .zi_start = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Base),
832 .zi_limit = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _DATA$$ZI$$Limit),
833 .stack_bottom = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Base),
834 .stack_top = PART_REGION_ADDR(TFM_SP_IPC_CLIENT_TEST_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800835 },
836#endif /* TFM_PARTITION_TEST_CORE_IPC */
837
838#ifdef TFM_ENABLE_IRQ_TEST
839 {
Edison Aib2134e62019-10-11 18:24:47 +0800840 .code_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$Base),
841 .code_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$Limit),
842 .ro_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$RO$$Base),
843 .ro_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, $$RO$$Limit),
844 .rw_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Base),
845 .rw_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$RW$$Limit),
846 .zi_start = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Base),
847 .zi_limit = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _DATA$$ZI$$Limit),
848 .stack_bottom = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Base),
849 .stack_top = PART_REGION_ADDR(TFM_IRQ_TEST_1_LINKER, _STACK$$ZI$$Limit),
Summer Qin423dbef2019-08-22 15:59:35 +0800850 },
851#endif /* TFM_ENABLE_IRQ_TEST */
852
853};
854#endif /* defined(TFM_PSA_API) */
855
856/**************************************************************************/
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200857/** The partition list for the DB */
858/**************************************************************************/
Summer Qin423dbef2019-08-22 15:59:35 +0800859static struct spm_partition_desc_t partition_list [] =
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200860{
Summer Qin423dbef2019-08-22 15:59:35 +0800861 {{}}, /* placeholder for Non-secure internal partition */
Mingyang Sunda01a972019-07-12 17:32:59 +0800862#ifndef TFM_PSA_API
Summer Qin423dbef2019-08-22 15:59:35 +0800863 {{}}, /* placeholder for TF-M Core internal partition */
Mingyang Sunda01a972019-07-12 17:32:59 +0800864#endif /* !ifndefined(TFM_PSA_API) */
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200865
866 /* -----------------------------------------------------------------------*/
867 /* - Partition DB record for TFM_SP_STORAGE */
868 /* -----------------------------------------------------------------------*/
869 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200870 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800871 .runtime_data = {},
872 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200873 .platform_data = NULL,
874
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200875 },
876
877 /* -----------------------------------------------------------------------*/
TudorCretufb182bc2019-07-05 17:34:12 +0100878 /* - Partition DB record for TFM_SP_ITS */
879 /* -----------------------------------------------------------------------*/
880 {
881 /* Runtime data */
882 .runtime_data = {},
883 .static_data = NULL,
884 .platform_data = NULL,
885
886 },
887
888 /* -----------------------------------------------------------------------*/
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200889 /* - Partition DB record for TFM_SP_AUDIT_LOG */
890 /* -----------------------------------------------------------------------*/
891#ifdef TFM_PARTITION_AUDIT_LOG
892 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200893 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800894 .runtime_data = {},
895 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200896 .platform_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200897
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200898 },
899#endif /* TFM_PARTITION_AUDIT_LOG */
900
901 /* -----------------------------------------------------------------------*/
902 /* - Partition DB record for TFM_SP_CRYPTO */
903 /* -----------------------------------------------------------------------*/
904 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200905 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800906 .runtime_data = {},
907 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200908 .platform_data = NULL,
909
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200910 },
911
912 /* -----------------------------------------------------------------------*/
913 /* - Partition DB record for TFM_SP_PLATFORM */
914 /* -----------------------------------------------------------------------*/
915#ifdef TFM_PARTITION_PLATFORM
916 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200917 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800918 .runtime_data = {},
919 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200920 .platform_data = NULL,
921
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200922 },
923#endif /* TFM_PARTITION_PLATFORM */
924
925 /* -----------------------------------------------------------------------*/
926 /* - Partition DB record for TFM_SP_INITIAL_ATTESTATION */
927 /* -----------------------------------------------------------------------*/
928 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200929 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800930 .runtime_data = {},
931 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200932 .platform_data = NULL,
933
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200934 },
935
936 /* -----------------------------------------------------------------------*/
937 /* - Partition DB record for TFM_SP_CORE_TEST */
938 /* -----------------------------------------------------------------------*/
939#ifdef TFM_PARTITION_TEST_CORE
940 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200941 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800942 .runtime_data = {},
943 .static_data = NULL,
944 .platform_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200945
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200946 },
947#endif /* TFM_PARTITION_TEST_CORE */
948
949 /* -----------------------------------------------------------------------*/
950 /* - Partition DB record for TFM_SP_CORE_TEST_2 */
951 /* -----------------------------------------------------------------------*/
952#ifdef TFM_PARTITION_TEST_CORE
953 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200954 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800955 .runtime_data = {},
956 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200957 .platform_data = NULL,
958
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200959 },
960#endif /* TFM_PARTITION_TEST_CORE */
961
962 /* -----------------------------------------------------------------------*/
963 /* - Partition DB record for TFM_SP_SECURE_TEST_PARTITION */
964 /* -----------------------------------------------------------------------*/
965#ifdef TFM_PARTITION_TEST_SECURE_SERVICES
966 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200967 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800968 .runtime_data = {},
969 .static_data = NULL,
970 .platform_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200971
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200972 },
973#endif /* TFM_PARTITION_TEST_SECURE_SERVICES */
974
975 /* -----------------------------------------------------------------------*/
976 /* - Partition DB record for TFM_SP_IPC_SERVICE_TEST */
977 /* -----------------------------------------------------------------------*/
978#ifdef TFM_PARTITION_TEST_CORE_IPC
979 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200980 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800981 .runtime_data = {},
982 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200983 .platform_data = NULL,
984
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200985 },
986#endif /* TFM_PARTITION_TEST_CORE_IPC */
987
988 /* -----------------------------------------------------------------------*/
989 /* - Partition DB record for TFM_SP_IPC_CLIENT_TEST */
990 /* -----------------------------------------------------------------------*/
991#ifdef TFM_PARTITION_TEST_CORE_IPC
992 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200993 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +0800994 .runtime_data = {},
995 .static_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200996 .platform_data = NULL,
997
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +0200998 },
999#endif /* TFM_PARTITION_TEST_CORE_IPC */
1000
1001 /* -----------------------------------------------------------------------*/
1002 /* - Partition DB record for TFM_IRQ_TEST_1 */
1003 /* -----------------------------------------------------------------------*/
David Hu33f2fd22019-08-16 15:32:39 +08001004#ifdef TFM_ENABLE_IRQ_TEST
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001005 {
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001006 /* Runtime data */
Summer Qin423dbef2019-08-22 15:59:35 +08001007 .runtime_data = {},
1008 .static_data = NULL,
1009 .platform_data = NULL,
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001010
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001011 },
David Hu33f2fd22019-08-16 15:32:39 +08001012#endif /* TFM_ENABLE_IRQ_TEST */
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001013
1014};
1015
1016struct spm_partition_db_t g_spm_partition_db = {
1017 .is_init = 0,
1018 .partition_count = sizeof(partition_list) / sizeof(partition_list[0]),
Edison Ai66fbdf12019-07-08 16:05:07 +08001019#ifndef TFM_PSA_API
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001020 .running_partition_idx = 0,
Edison Ai66fbdf12019-07-08 16:05:07 +08001021#endif
Mate Toth-Pal3ad2e3e2019-07-11 21:43:37 +02001022 .partitions = partition_list,
1023};
1024
1025#endif /* __TFM_SPM_DB_INC__ */