-
Notifications
You must be signed in to change notification settings - Fork 17
/
Kconfig
274 lines (219 loc) · 6.35 KB
/
Kconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the docs folder of mTower repository.
#
mainmenu "mTower/$ARCH Configuration"
menu "Build Setup"
choice
prompt "Control Optimization Options"
default OPTIMIZATION_LEVEL_O1
config OPTIMIZATION_LEVEL_OS
bool "Optimization level -Os (not supported yet)"
---help---
"The optimization level -Os (not supported yet - internal compiler
error: Segmentation fault)"
config OPTIMIZATION_LEVEL_O1
bool "Optimization level -O1"
---help---
The optimization level -O1
config OPTIMIZATION_LEVEL_O2
bool "Optimization level -O2 (not supported yet)"
---help---
"The optimization level -O2 (not supported yet - internal compiler
error: Segmentation fault)"
config OPTIMIZATION_LEVEL_O3
bool "Optimization level -O3 (not supported yet)"
---help---
"The optimization level -O3 (not supported yet - internal compiler
error: Segmentation fault)"
endchoice
config OPTIMIZATION_LEVEL
string
default "-Os" if OPTIMIZATION_LEVEL_OS
default "-O1" if OPTIMIZATION_LEVEL_O1
default "-O2" if OPTIMIZATION_LEVEL_O2
default "-O3" if OPTIMIZATION_LEVEL_O3
menu "Debug Options"
config DEBUG_ALERT
bool
default n
config DEBUG_FEATURES
bool "Enable Debug Features"
default n
select DEBUG_ALERT
---help---
Enables built-in debug features. Selecting this option will (1) Enable
debug assertions in the code, (2) enable extended parameter testing in
many functions, and (3) enable support for debug output to the SYSLOG.
Note that enabling this option by itself does not produce debug output.
Debug output must also be selected on a subsystem-by-subsystem basis.
if DEBUG_FEATURES
comment "Debug mTower LOG Output Controls"
config DEBUG_ERROR
bool "Enable Error Output"
default n
---help---
Enables output from [subsystem]err() statements. Errors are significant
system exceptions that require immediate attention.
config DEBUG_WARN
bool "Enable Warnings Output"
default n
depends on DEBUG_ERROR
---help---
Enables output from [subsystem-z]warn() statements. Warnings are
considered to be various unexpected conditions, potential errors or
errors that will not have serious consequences.
config DEBUG_INFO
bool "Enable Informational Debug Output"
default n
depends on DEBUG_WARN
---help---
Enables verbose "informational" debug output. If you enable
CONFIG_DEBUG_INFO, then very chatty (and often annoying) output
will be generated.
config DEBUG_DBG
bool "Enable Debug Informational Output"
default n
depends on DEBUG_INFO
---help---
Enables verbose "debug" output. If you enable
CONFIG_DEBUG_DBG, then very chatty (and often annoying) output
will be generated.
config DEBUG_ASSERTIONS
bool "Enable Debug Assertions"
default n
---help---
Enables the DEBUGASSERT() macro. When CONFIG_DEBUG_ASSERTIONS is
defined, DEBUGASSERT() will cause the system to halt if the
assertion fails. If CONFIG_DEBUG_ASSERTIONS is not defined
DEBUGASSERT() compiled out of the system. In general, you would
set CONFIG_DEBUG_ASSERTIONS=y during debug, but disable the
assertions on a final, buckled up system.
config DEBUG_INCLUDE_FILE_FUNCTION_NAME
bool "Enable include File and Function name to output"
default n
---help---
Enables include file and function name to debug messages.
config DEBUG_COLORIZED_OUTPUT
bool "Enable colorized output"
default n
---help---
Enables colorize debug messages.
comment "Subsystem Debug Options"
endif # DEBUG_FEATURES
config DEBUG_SYMBOLS
bool "Generate Debug Symbols"
default n
---help---
Build with debug symbols (needed for use with a debugger).
comment "GP TEE API Debug Options"
choice
prompt "TEE Internal API trace level"
default TRACE_LEVEL_INFO
config TRACE_LEVEL_MSG
bool "MSG"
---help---
"Formatted trace tagged with level independent"
config TRACE_LEVEL_ERROR
bool "MSG ERROR"
---help---
"Formatted trace tagged with TRACE_ERROR level"
config TRACE_LEVEL_INFO
bool "MSG + ERROR + INFO"
---help---
"Formatted trace tagged with TRACE_INFO level"
config TRACE_LEVEL_DEBUG
bool "MSG + ERROR + INFO + DEBUG"
---help---
"Formatted trace tagged with TRACE_DEBUG level"
config TRACE_LEVEL_FLOW
bool "MSG + ERROR + INFO + DEBUG + FLOW"
---help---
"Formatted trace tagged with TRACE_FLOW level"
endchoice
config TRACE_LEVEL
int
default 0 if TRACE_LEVEL_MSG
default 1 if TRACE_LEVEL_ERROR
default 2 if TRACE_LEVEL_INFO
default 3 if TRACE_LEVEL_DEBUG
default 4 if TRACE_LEVEL_FLOW
choice
prompt "TEE Client API trace level"
default DEBUGLEVEL_INFO
config DEBUGLEVEL_ERROR
bool "ERROR"
---help---
"Formatted trace tagged with TRACE_ERROR level"
config DEBUGLEVEL_INFO
bool "ERROR + INFO"
---help---
"Formatted trace tagged with TRACE_INFO level"
config DEBUGLEVEL_DEBUG
bool "ERROR + INFO + DEBUG"
---help---
"Formatted trace tagged with TRACE_DEBUG level"
config DEBUGLEVEL_FLOW
bool "ERROR + INFO + DEBUG + FLOW"
---help---
"Formatted trace tagged with TRACE_FLOW level"
endchoice
config DEBUGLEVEL
int
default 1 if DEBUGLEVEL_ERROR
default 2 if DEBUGLEVEL_INFO
default 3 if DEBUGLEVEL_DEBUG
default 4 if DEBUGLEVEL_FLOW
endmenu # Debug Options
endmenu # Build Setup
menu "Trusted boot"
config BOOTLOADER1
bool "Enable BL1 (not supported yet)"
default n
---help---
"Boot Loader1 is enabled"
config BOOTLOADER2
bool "Enable BL2"
default y
---help---
"BootLoader2 is enabled"
config BOOTLOADER32
bool "Enable BL32 (Secure handler)"
default y
---help---
"BootLoader32 is enabled (Secure handler)"
config BOOTLOADER33
bool "Enable BL33 (FreeRTOS)"
depends on BOOTLOADER32
default y
---help---
"BootLoader33 is enabled (FreeRTOS)"
config START_ADDRESS_BL32
hex
depends on BOOTLOADER32
default 0x00000000 if !BOOTLOADER2
default 0x00010000 if BOOTLOADER2
config START_ADDRESS_BL33
hex "Start address BL33"
depends on BOOTLOADER33
default 0x10040000
---help---
"Start address of BL33"
endmenu
menu "System Type"
source "arch/Kconfig"
endmenu
menu "Standard Libc Configuration"
source "common/Kconfig"
endmenu
menu "GP TEE Configuration"
config MAX_CRYPTO_CHUNK_SIZE
hex "Maximum crypto chunk size (hex)"
default 0x400
default 0x00010000 if BOOTLOADER2
---help---
"Maximum chunk size for TEE crypto operations. Keep in mind that this is the heap size..."
endmenu
menu "Application Configuration"
source "apps/Kconfig"
endmenu