-
-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathKconfig
More file actions
275 lines (214 loc) · 6.53 KB
/
Kconfig
File metadata and controls
275 lines (214 loc) · 6.53 KB
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
274
275
mainmenu "Twan Configuration"
# Hardware
config NUM_CPUS
int "Num CPUs"
range 1 256
default 32
---help---
Maximum CPU count
config NUM_IOAPICS
int "Num IOAPICs"
range 1 15
default 1
---help---
Maximum IOAPIC count
# Kernel
config KERNEL_SCHED_AGING
bool "Kernel sched aging"
default n
---help---
Enable kernel task aging
config KERNEL_SCHED_GLOBAL_QUEUE
bool "Kernel sched global queue"
default n
---help---
Enable global kernel scheduling queue across all cores
config KERNEL_SCHED_TASK_STACK_SIZE
int "Kernel sched task stack size"
range 2048 4294967295
default 2048
---help---
Stack size for dynamically created kernel tasks
config KERNEL_SCHED_NUM_CRITICALITIES
int "Kernel sched num criticalities"
range 1 255
default 5
---help---
Criticality level count for kernel tasks
config KERNEL_SCHED_TIME_SLICE_MS
int "Kernel sched timeslice ms"
range 1 4294967295
default 10
---help---
Kernel task time slice in milliseconds
config KERNEL_MAX_HEAP_SIZE
int "Kernel maximum heap size"
range 0 1073741824
default 1073741824
---help---
Maximum amount of memory reserved for kernel heap
config KERNEL_MAX_VMA_PARTITIONS
int "Kernel maximum VMA paritions"
range 2 261632
default 512
---help---
Maximum number of kernel VMA partitions
# Subsys
config SUBSYS_SHUTDOWN
bool "Enable shutdown subsystem"
default n
config SUBSYS_WATCHDOG
bool "Enable watchdog subsystem"
default n
config SUBSYS_MUTEX
bool "Enable mutexes"
default y
config SUBSYS_SEMAPHORE
bool "Enable semaphores"
default y
config SUBSYS_TWANVISOR
bool "Enable twanvisor subsystem"
default y
config SUBSYS_CLOCK
bool "Enable clock subsystem"
default y
config SUBSYS_SLEEP
bool "Enable sleep subsystem"
default y
config SUBSYS_TIMEOUT
bool "Enable timeout subsystem"
default y
if SUBSYS_TWANVISOR
config TWANVISOR_VSCHED_STRICT
bool "Twanvisor strict scheduling"
default n
---help---
Disable the ability for vcpus to yield or be paused, this config
will also disallow the creation of vcpus which boot in a paused
state
if !TWANVISOR_VSCHED_STRICT
config TWANVISOR_PV_LOCKS
bool "Paravirt locks"
default y
---help---
Enable kernel paravirtualised locking
config TWANVISOR_PV_LOCK_THRESHOLD
depends on TWANVISOR_PV_LOCKS
int "Paravirt lock threshold"
range 0 4294967295
default 32768
---help---
Number of iterations before making a vcall under lock contention
config TWANVISOR_PV_IPIS
bool "Paravirt IPIs"
default y
---help---
Enable kernel paravirtualised IPIs
config TWANVISOR_PV_IPI_THRESHOLD
depends on TWANVISOR_PV_IPIS
int "Paravirt IPI threshold"
range 0 4294967295
default 32768
---help---
Number of iterations before making a vcall during IPIs
config TWANVISOR_VIPI_DRAIN_STRICT
bool "Twanvisor strict VIPI draining"
default y
---help---
Enable strict IPI draining in Twanvisor to mitigate IPI based
covert channels
endif # !TWANVISOR_VSCHED_STRICT
choice
prompt "Twanvisor Scheduler"
default TWANVISOR_VSCHED_MCQS
config TWANVISOR_VSCHED_MCQS
bool "Mixed-Criticality Queued scheduler"
config TWANVISOR_VSCHED_MCFS
bool "Mixed-Criticality Frame scheduler"
endchoice
config TWANVISOR_VSCHED_NUM_FRAMES
depends on TWANVISOR_VSCHED_MCFS
int "Twanvisor num frames"
range 1 1024
default 512
---help---
Max number of MCFS frames used by Twanvisor
config TWANVISOR_VSCHED_NUM_CRITICALITIES
int "Twanvisor num criticalities"
range 1 255
default 5
---help---
Criticality level count for twanvisor guests
config TWANVISOR_NUM_VTIMERS
int "Twanvisor num vtimers"
range 3 255
default 3
---help---
Number of virtual timers Twanvisor exposes to guests
config VDBG_PANIC_ON_BUG
bool "Vpanic when VBUG checks flag a bug"
default n
config VDBG_VDYNAMIC_ASSERT
bool "Enable twanvisor dynamic assertations"
default y
config MITIGATION_SPECTRE_RSB
bool "Enable Spectre-RSB mitigations"
default y
config MITIGATION_INTRAMODE_BTI
bool "Enable mitigations for chaining Branch History Injection to Branch Target Injection"
default y
config MITIGATION_BHI
bool "Enable mitigations for Branch History Injection"
default y
config MITIGATION_BTI
bool "Enable mitigations for Branch Target Injection"
default y
config MITIGATION_MDS
bool "Enable mitigations for Microarchitectural Data Sampling"
default y
config MITIGATION_L1TF
bool "Enable mitigations for L1 Terminal Fault"
default y
config MITIGATION_RETBLEED_S
bool "Enable mitigations for retbleed in supervisor modes"
default y
config MITIGATION_RETBLEED_U
bool "Enable mitigations for retbleed in user modes"
default y
config DISABLE_SSTLF
bool "Disable speculative store to load forwarding"
default y
config DISABLE_SSB
bool "Disable speculative store bypass"
default y
config DISABLE_DDP_U
bool "Disable data dependant prefetchers in user modes"
default n
config DISABLE_BRANCH_PREDICTION_S
bool "Disable branch prediction in supervisor modes"
default n
config DISABLE_BRANCH_PREDICTION_U
bool "Disable branch prediction in user modes"
default n
endif # SUBSYS_TWANVISOR
# Kdbg
config KDBG_PANIC_ON_BUG
bool "Kpanic when KBUG checks flag a bug"
default n
config KDBG_KDYNAMIC_ASSERT
bool "Enable kernel dynamic assertations"
default y
# Demos
config DEMO_EARLY_INITCALLS
bool "Enable demo for early initicalls"
default n
config DEMO_LATE_INITCALLS
bool "Enable demo for late initicalls"
default n
config DEMO_DRIVERS
bool "Enable demo for drivers"
default n
config DEMO_PV_TWANVISOR
depends on SUBSYS_TWANVISOR
bool "Enable demo for twanvisor"
default n