Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


add console hook support
[palacios.git] / Kconfig
1 mainmenu "Palacios VMM Configuration"
2
3 menu "Target Configuration"
4
5
6 config KITTEN
7         bool "Set defaults needed for the Kitten OS"
8         default y
9         help
10           This enables the necesary options to compile Palacios with Kitten
11
12
13 config CRAY_XT
14         bool "Red Storm (Cray XT3/XT4)"
15         help
16           Support for Cray XT3 and XT4 systems.
17
18 config SVM
19         bool "AMD SVM Support"
20         default y
21         help
22           Compile with support for AMD SVM
23
24 config VMX
25         bool "Intel VMX Support"
26         default y
27         help 
28           Compile with support for Intel VMX
29
30
31 config MULTITHREAD_OS
32         bool "Compile for a multi threaded OS"
33         default y
34         help 
35           This allows Palacios to use OS thread mechanisms
36
37
38 config MAX_CPUS
39         int "Maximum number of cpus"
40         range 1 255
41         default "16"
42         help 
43           Specifies the maximum number of hardware cpus Palacios can support
44
45           For uniprocessor environments, set this to 1
46
47
48 config CONSOLE
49         bool "Include Console Support"
50         default n
51         help 
52           Enable console support in Palacios
53
54
55
56
57 config SOCKET
58         bool "Include Network Socket Support"
59         default n
60         help 
61           Enable networking support in Palacios
62
63
64
65
66 config TELEMETRY
67         bool "Enable VMM telemetry support"
68         default y
69         help 
70           Enable the telemetry framework in Palacios
71           -----
72           This is a framwork that allows components of palacios to record 
73           information that is periodically reported to the log output.
74           Telemetry is automatically collected for vmexits. Subsystem telemetry 
75           is configured separately
76
77
78 config SHADOW_PAGING_TELEMETRY
79         bool "Enable Shadow Paging Telemetry"
80         default y
81         depends on TELEMETRY
82         help
83           Enable telemetry information for shadow paging 
84
85 config SYMBIOTIC_SWAP_TELEMETRY
86         bool "Enable Symbiotic Swap Telemetry"
87         default n
88         depends on TELEMETRY && SYMBIOTIC_SWAP
89         help 
90           Enable the telemetry information for the symbiotic swap subsystem
91
92
93 config PASSTHROUGH_VIDEO
94         bool "Enable Passthrough Video"
95         default n
96         help 
97           Configures Palacios to map a guest's framebuffer directly 
98           to the hardware framebuffer (no longer needed)
99
100 config INSTRUMENT_VMM
101         bool "Enable VMM instrumentation"
102         default n
103         help 
104           Enable the instrumentation framework
105           --------
106           This is much heavier weight than profiling
107
108 config EXPERIMENTAL
109         bool "Enable Experimental options"
110         default n
111         help 
112           This allows the selection of experimental features. This includes incomplete or unreviewed code. 
113           Only enable this feature if you are working on the features in question. 
114           IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features. 
115           Any code that violates this will be immediately deleted without warning. 
116           -- 
117           The purpose of this option is to allow features under development to be committed to the mainline
118           to more easily track changes and provide access to multiple developers
119
120 config VNET
121         depends on EXPERIMENTAL
122         bool "Enable Vnet in Palacios"
123         default n
124         help
125           Enable the Vnet in Palacios
126
127 config DEBUG_VNET
128         depends on VNET
129         bool "Enable Vnet Debug in Palacios"
130         default n
131         help
132           Enable the Vnet Debug in Palacios
133
134 config BUILT_IN_STDLIB
135         bool "Enable Built in versions of stdlib functions"
136         default y if KITTEN
137         help 
138           Not all host OSes provide link targets for stdlib functions
139           Palacios provides internal implementations of these functions, that you can select from this list
140
141 config BUILT_IN_MEMSET
142         bool "memset()"
143         default n
144         depends on BUILT_IN_STDLIB
145         help 
146           This enables Palacios' internal implementation of memset
147
148
149 config BUILT_IN_MEMCPY
150         bool "memcpy()"
151         default n
152         depends on BUILT_IN_STDLIB
153         help 
154           This enables Palacios' internal implementation of memcpy
155
156 config BUILT_IN_MEMMOVE
157         bool "memmove()"
158         default n
159         depends on BUILT_IN_STDLIB
160         help 
161           This enables Palacios' internal implementation of memmove
162
163 config BUILT_IN_MEMCMP
164         bool "memcmp()"
165         default n
166         depends on BUILT_IN_STDLIB
167         help 
168           This enables Palacios' internal implementation of memcmp
169
170 config BUILT_IN_STRLEN
171         bool "strlen()"
172         default n
173         depends on BUILT_IN_STDLIB
174         help 
175           This enables Palacios' internal implementation of strlen
176
177 config BUILT_IN_STRNLEN
178         bool "strnlen()"
179         default n
180         depends on BUILT_IN_STDLIB
181         help 
182           This enables Palacios' internal implementation of strnlen
183
184
185 config BUILT_IN_STRCMP
186         bool "strcmp()"
187         default n
188         depends on BUILT_IN_STDLIB
189         help 
190           This enables Palacios' internal implementation of strcmp
191
192
193 config BUILT_IN_STRCASECMP
194         bool "strcasecmp()"
195         default y if KITTEN
196         depends on BUILT_IN_STDLIB
197         help
198           This enables Palacios' internal implementation of strcasecmp
199
200 config BUILT_IN_STRNCMP
201         bool "strncmp()"
202         default n
203         depends on BUILT_IN_STDLIB
204         help 
205           This enables Palacios' internal implementation of strncmp
206
207 config BUILT_IN_STRNCASECMP
208         bool "strncasecmp()"
209         default n
210         depends on BUILT_IN_STDLIB
211         help
212           This enables Palacios' internal implementation of strncasecmp
213
214
215 config BUILT_IN_STRCAT
216         bool "strcat()"
217         default n
218         depends on BUILT_IN_STDLIB
219         help 
220           This enables Palacios' internal implementation of strcat
221
222 config BUILT_IN_STRNCAT
223         bool "strncat()"
224         default n
225         depends on BUILT_IN_STDLIB
226         help 
227           This enables Palacios' internal implementation of strncat
228
229 config BUILT_IN_STRCPY
230         bool "strcpy()"
231         default n
232         depends on BUILT_IN_STDLIB
233         help 
234           This enables Palacios' internal implementation of strcpy
235
236 config BUILT_IN_STRNCPY
237         bool "strncpy()"
238         default n
239         depends on BUILT_IN_STDLIB
240         help 
241           This enables Palacios' internal implementation of strncpy
242
243 config BUILT_IN_STRDUP
244         bool "strdup()"
245         default n
246         depends on BUILT_IN_STDLIB
247         help 
248           This enables Palacios' internal implementation of strdup
249
250 config BUILT_IN_STRSTR
251         bool "strstr()"
252         default n
253         depends on BUILT_IN_STDLIB
254         help
255           This enables Palacios internal implementation of strstr
256
257
258 config BUILT_IN_ATOI
259         bool "atoi()"
260         default y if KITTEN
261         depends on BUILT_IN_STDLIB
262         help 
263           This enables Palacios' internal implementation of atoi
264
265 config BUILT_IN_STRCHR
266         bool "strchr()"
267         default n
268         depends on BUILT_IN_STDLIB
269         help 
270           This enables Palacios' internal implementation of strchr
271
272 config BUILT_IN_STRRCHR
273         bool "strrchr()"
274         default n
275         depends on BUILT_IN_STDLIB
276         help 
277           This enables Palacios' internal implementation of strrchr
278
279 config BUILT_IN_STRPBRK
280         bool "strpbrk()"
281         default n
282         depends on BUILT_IN_STDLIB
283         help 
284           This enables Palacios' internal implementation of strpbrk
285
286
287 config BUILT_IN_STDIO
288         bool "Enable Built in versions of stdio functions"
289         default n
290         help 
291           Not all host OSes provide link targets for stdio functions
292           Palacios provides internal implementations of these functions, that you can select from this list
293
294
295
296 config BUILT_IN_SPRINTF
297         bool "sprintf()"
298         default n
299         depends on BUILT_IN_STDIO
300         help 
301           This enables Palacios' internal implementation of sprintf
302
303
304 config BUILT_IN_SNPRINTF
305         bool "snprintf()"
306         default n
307         depends on BUILT_IN_STDIO
308         help 
309           This enables Palacios' internal implementation of snprintf
310
311
312 config BUILT_IN_VSPRINTF
313         bool "vsprintf()"
314         default n
315         depends on BUILT_IN_STDIO
316         help 
317           This enables Palacios' internal implementation of vsprintf
318
319 config BUILT_IN_VSNPRINTF
320         bool "vsnprintf()"
321         default n
322         depends on BUILT_IN_STDIO
323         help 
324           This enables Palacios' internal implementation of vsnprintf
325
326 config BUILT_IN_VSNRPRINTF
327         bool "vsnrprintf()"
328         default n
329         depends on BUILT_IN_STDIO
330         help 
331           This enables Palacios' internal implementation of vsnrprintf
332
333 endmenu
334
335
336
337
338 menu "Symbiotic Functions"
339
340 config SYMBIOTIC
341         bool "Enable Symbiotic Functionality"
342         default n
343         help 
344           Enable Symbiotic components of the VMM
345
346
347 config SYMBIOTIC_SWAP
348         bool "Symbiotic Swap"
349         default n
350         depends on SYMBIOTIC && EXPERIMENTAL
351         help 
352           This enables the symbiotic swap architecture
353
354 endmenu
355
356
357
358 menu "Debug configuration"
359
360 config CONFIG_DEBUG_INFO
361         bool "Compile with Debug information"
362         default n
363         help 
364          This adds the -g flag to the compilation flags
365
366
367 ## Is unwind information useful
368
369 config DEBUG_ON
370         bool "Enable Debugging"
371         default y
372         help
373           This turns on debugging support
374
375
376 config DEBUG_SHADOW_PAGING
377         bool "Shadow paging"
378         default n
379         depends on DEBUG_ON
380         help 
381           This turns on debugging for the shadow paging system
382
383
384 config DEBUG_NESTED_PAGING
385         bool "Nested paging"
386         default n
387         depends on DEBUG_ON
388         help 
389           This turns on debugging for the nested paging system
390
391
392 config DEBUG_CTRL_REGS
393         bool "Control registers"
394         default n
395         depends on DEBUG_ON
396         help 
397           This turns on debugging for the control register handlers
398
399
400 config DEBUG_INTERRUPTS
401         bool "Interrupts"
402         default n
403         depends on DEBUG_ON
404         help 
405           This turns on debugging for the interrupt system
406
407
408
409 config DEBUG_IO
410         bool "IO"
411         default n
412         depends on DEBUG_ON
413         help 
414           This turns on debugging for the IO handlers
415
416
417 config DEBUG_EMULATOR
418         bool "Instruction Emulator"
419         default n
420         depends on DEBUG_ON
421         help 
422           This turns on debugging for the Instruction Emulator
423
424
425 config DEBUG_XED
426         bool "XED"
427         default n
428         depends on DEBUG_ON
429         help 
430           This turns on debugging for the Xed Decoder
431
432 config DEBUG_HALT
433         bool "Halt"
434         default n
435         depends on DEBUG_ON
436         help 
437           This turns on debugging for the halt instruction handler
438
439 config DEBUG_DEV_MGR
440         bool "Device Manager"
441         default n
442         depends on DEBUG_ON
443         help 
444           This turns on debugging for the device manager
445
446
447
448
449 endmenu
450
451
452 menu "BIOS Selection"
453
454 config ROMBIOS_PATH
455         string "Path to pre-built ROMBIOS binary"
456         default "./bios/rombios/BIOS-bochs-latest"
457         help
458           This is the rombios that will be used for the guests
459
460 config VGABIOS_PATH
461         string "Path to pre-built VGABIOS binary"
462         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
463         help
464           This is the vgabios that will be used for the guests
465
466 config VMXASSIST_PATH
467         string "Path to pre-built VMXASSIST binary"
468         depends on VMX
469         default "./bios/vmxassist/vmxassist.bin"
470         help
471           This is vmxassist image to boot real mode guests on 
472           Intel VMX Platforms
473
474 endmenu
475
476
477 source "palacios/src/devices/Kconfig"
478