1#-------------------------------------------------------------------------------
2# Copyright (c) 2022, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7
8menu "TF-M regression tests"
9
10config TEST_S
11    bool "Enable default secure test cases"
12    default n
13    imply TEST_S_ATTESTATION
14    imply TEST_S_CRYPTO
15    imply TEST_S_ITS
16    imply TEST_S_PS
17    imply TEST_S_PLATFORM
18    imply TEST_S_FWU
19    imply TEST_S_SFN_BACKEND
20
21config TEST_NS
22    bool "Enable default non-secure test cases"
23    default n
24    imply TEST_NS_ATTESTATION
25    imply TEST_NS_T_COSE
26    imply TEST_NS_QCBOR
27    imply TEST_NS_CRYPTO
28    imply TEST_NS_PS
29    imply TEST_NS_ITS
30    imply TEST_NS_PLATFORM
31    imply TEST_NS_FWU
32    imply TEST_NS_MULTI_CORE
33    imply TEST_NS_MANAGE_NSID
34    imply TEST_NS_IPC
35    imply TEST_NS_SFN_BACKEND
36
37################################# Secure test ##################################
38
39menu "Secure regression tests"
40
41config TEST_S_ATTESTATION
42    bool "Attestation"
43    default n
44    imply TFM_PARTITION_INITIAL_ATTESTATION
45    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
46    imply TFM_PARTITION_CRYPTO
47
48config TEST_S_CRYPTO
49    bool "Crypto"
50    default n
51    imply TFM_PARTITION_CRYPTO
52    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
53
54config TEST_S_ITS
55    bool "ITS"
56    default n
57    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
58
59config TEST_S_PS
60    bool "PS"
61    default n
62    imply TFM_PARTITION_PROTECTED_STORAGE
63    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
64    imply TFM_PARTITION_CRYPTO
65    imply TFM_PARTITION_PLATFORM
66
67config TEST_S_PLATFORM
68    bool "Platform"
69    default n
70    imply TFM_PARTITION_PLATFORM
71
72config TEST_S_FWU
73    bool "FWU"
74    depends on PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT
75    imply TFM_PARTITION_FIRMWARE_UPDATE
76    imply TFM_PARTITION_CRYPTO
77    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
78    imply TFM_PARTITION_PLATFORM
79
80config TEST_S_IPC
81    bool "IPC"
82    depends on TFM_SPM_BACKEND_IPC
83
84config TEST_S_SFN_BACKEND
85    bool "SFN backend"
86    depends on TFM_SPM_BACKEND_SFN
87
88config TEST_S_FPU
89    bool "FPU"
90    default n
91endmenu
92
93################################# Non-secure test ##############################
94
95menu "Non-Secure regression tests"
96
97config TEST_NS_ATTESTATION
98    bool "Attestation"
99    default n
100    imply TFM_PARTITION_INITIAL_ATTESTATION
101    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
102    imply TFM_PARTITION_CRYPTO
103
104config TEST_NS_T_COSE
105    bool "t_cose"
106    default n
107    imply TFM_PARTITION_INITIAL_ATTESTATION
108    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
109    imply TFM_PARTITION_CRYPTO
110
111config TEST_NS_QCBOR
112    bool "QCBOR"
113    default n
114    imply TFM_PARTITION_INITIAL_ATTESTATION
115    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
116    imply TFM_PARTITION_CRYPTO
117
118config TEST_NS_CRYPTO
119    bool "Crypto"
120    default n
121    imply TFM_PARTITION_CRYPTO
122    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
123
124config TEST_NS_PS
125    bool "PS"
126    default n
127    imply TFM_PARTITION_PROTECTED_STORAGE
128    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
129    imply TFM_PARTITION_CRYPTO
130    imply TFM_PARTITION_PLATFORM
131    imply TEST_NS_ITS
132
133config TEST_NS_ITS
134    bool "ITS"
135    default n
136    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
137
138config TEST_NS_PLATFORM
139    bool "Platform"
140    default n
141    imply TFM_PARTITION_PLATFORM
142
143config TEST_NS_FWU
144    bool "FWU"
145    depends on PLATFORM_HAS_FIRMWARE_UPDATE_SUPPORT
146    imply TFM_PARTITION_FIRMWARE_UPDATE
147    imply TFM_PARTITION_CRYPTO
148    imply TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
149    imply TFM_PARTITION_PLATFORM
150
151config TEST_NS_MULTI_CORE
152    bool "Multi-core"
153    depends on TFM_MULTI_CORE_TOPOLOGY
154
155config TEST_NS_MANAGE_NSID
156    bool "NSID management"
157
158choice TEST_NS_IRQ
159    prompt "IRQ test type"
160    optional
161
162    config TEST_NS_FLIH_IRQ
163        bool "First-Level Interrupt Handling"
164
165    config TEST_NS_SLIH_IRQ
166        bool "Second-Level Interrupt Handling"
167
168endchoice
169
170config TEST_NS_FPU
171    bool "FPU"
172    default n
173
174config TEST_NS_IPC
175    bool "IPC"
176    depends on TFM_SPM_BACKEND_IPC
177
178config TEST_NS_SFN_BACKEND
179    bool "SFN backend"
180    depends on TFM_SPM_BACKEND_SFN
181
182endmenu
183
184################################# Crypto tests #################################
185
186if TEST_NS_CRYPTO || TEST_S_CRYPTO
187
188menu "Crypto Test Configs"
189
190config TFM_CRYPTO_TEST_ALG_CBC
191    bool "Test CBC cryptography mode"
192    default y
193
194config TFM_CRYPTO_TEST_ALG_CCM
195    bool "Test CCM cryptography mode"
196    default y
197
198config TFM_CRYPTO_TEST_ALG_CFB
199    bool "Test CFB cryptography mode"
200    default y
201
202config TFM_CRYPTO_TEST_ALG_ECB
203    bool "Test ECB cryptography mode"
204    default y
205
206config TFM_CRYPTO_TEST_ALG_CTR
207    bool "Test CTR cryptography mode"
208    default y
209
210config TFM_CRYPTO_TEST_ALG_OFB
211    bool "Test OFB cryptography mode"
212    default y
213
214config TFM_CRYPTO_TEST_ALG_GCM
215    bool "Test GCM cryptography mode"
216    default y
217
218config TFM_CRYPTO_TEST_ALG_SHA_384
219    bool "Test SHA-384 cryptography algorithm"
220    default y
221
222config TFM_CRYPTO_TEST_ALG_SHA_512
223    bool "Test SHA-512 cryptography algorithm"
224    default y
225
226config TFM_CRYPTO_TEST_HKDF
227    bool "Test the HKDF key derivation algorithm"
228    default y
229
230config TFM_CRYPTO_TEST_ECDH
231    bool "Test the ECDH key agreement algorithm"
232    default y
233
234config TFM_CRYPTO_TEST_CHACHA20
235    bool "Test the ChaCha20 stream cipher"
236    default n
237
238config TFM_CRYPTO_TEST_ALG_CHACHA20_POLY1305
239    bool "Test ChaCha20-Poly1305 AEAD algorithm"
240    default n
241
242config TFM_CRYPTO_TEST_SINGLE_PART_FUNCS
243    bool "Test single-part operations in hash, MAC, AEAD and symmetric ciphers"
244    default y
245
246endmenu
247endif
248endmenu
249