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.


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