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.


fixed sprintf configuration dependencies
[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 y
51         help 
52           Enable networking support in Palacios
53
54
55
56
57 config TELEMETRY
58         bool "Enable VMM telemetry support"
59         default n
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 y
87         help 
88           Configures Palacios to map a guest's framebuffer directly 
89           to the hardware framebuffer
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 BUILT_IN_STDLIB
119         bool "Enable Built in versions of stdlib functions"
120         default y if KITTEN
121         help 
122           Not all host OSes provide link targets for stdlib functions
123           Palacios provides internal implementations of these functions, that you can select from this list
124
125 config BUILT_IN_MEMSET
126         bool "memset()"
127         default n
128         depends on BUILT_IN_STDLIB
129         help 
130           This enables Palacios' internal implementation of memset
131
132
133 config BUILT_IN_MEMCPY
134         bool "memcpy()"
135         default n
136         depends on BUILT_IN_STDLIB
137         help 
138           This enables Palacios' internal implementation of memcpy
139
140 config BUILT_IN_MEMMOVE
141         bool "memmove()"
142         default n
143         depends on BUILT_IN_STDLIB
144         help 
145           This enables Palacios' internal implementation of memmove
146
147 config BUILT_IN_MEMCMP
148         bool "memcmp()"
149         default n
150         depends on BUILT_IN_STDLIB
151         help 
152           This enables Palacios' internal implementation of memcmp
153
154 config BUILT_IN_STRLEN
155         bool "strlen()"
156         default n
157         depends on BUILT_IN_STDLIB
158         help 
159           This enables Palacios' internal implementation of strlen
160
161 config BUILT_IN_STRNLEN
162         bool "strnlen()"
163         default n
164         depends on BUILT_IN_STDLIB
165         help 
166           This enables Palacios' internal implementation of strnlen
167
168
169 config BUILT_IN_STRCMP
170         bool "strcmp()"
171         default n
172         depends on BUILT_IN_STDLIB
173         help 
174           This enables Palacios' internal implementation of strcmp
175
176
177 config BUILT_IN_STRCASECMP
178         bool "strcasecmp()"
179         default y if KITTEN
180         depends on BUILT_IN_STDLIB
181         help
182           This enables Palacios' internal implementation of strcasecmp
183
184 config BUILT_IN_STRNCMP
185         bool "strncmp()"
186         default n
187         depends on BUILT_IN_STDLIB
188         help 
189           This enables Palacios' internal implementation of strncmp
190
191 config BUILT_IN_STRNCASECMP
192         bool "strncasecmp()"
193         default n
194         depends on BUILT_IN_STDLIB
195         help
196           This enables Palacios' internal implementation of strncasecmp
197
198
199 config BUILT_IN_STRCAT
200         bool "strcat()"
201         default n
202         depends on BUILT_IN_STDLIB
203         help 
204           This enables Palacios' internal implementation of strcat
205
206 config BUILT_IN_STRNCAT
207         bool "strncat()"
208         default n
209         depends on BUILT_IN_STDLIB
210         help 
211           This enables Palacios' internal implementation of strncat
212
213 config BUILT_IN_STRCPY
214         bool "strcpy()"
215         default n
216         depends on BUILT_IN_STDLIB
217         help 
218           This enables Palacios' internal implementation of strcpy
219
220 config BUILT_IN_STRNCPY
221         bool "strncpy()"
222         default n
223         depends on BUILT_IN_STDLIB
224         help 
225           This enables Palacios' internal implementation of strncpy
226
227 config BUILT_IN_STRDUP
228         bool "strdup()"
229         default n
230         depends on BUILT_IN_STDLIB
231         help 
232           This enables Palacios' internal implementation of strdup
233
234 config BUILT_IN_STRSTR
235         bool "strstr()"
236         default n
237         depends on BUILT_IN_STDLIB
238         help
239           This enables Palacios internal implementation of strstr
240
241
242 config BUILT_IN_ATOI
243         bool "atoi()"
244         default y if KITTEN
245         depends on BUILT_IN_STDLIB
246         help 
247           This enables Palacios' internal implementation of atoi
248
249 config BUILT_IN_STRCHR
250         bool "strchr()"
251         default n
252         depends on BUILT_IN_STDLIB
253         help 
254           This enables Palacios' internal implementation of strchr
255
256 config BUILT_IN_STRRCHR
257         bool "strrchr()"
258         default n
259         depends on BUILT_IN_STDLIB
260         help 
261           This enables Palacios' internal implementation of strrchr
262
263 config BUILT_IN_STRPBRK
264         bool "strpbrk()"
265         default n
266         depends on BUILT_IN_STDLIB
267         help 
268           This enables Palacios' internal implementation of strpbrk
269
270
271 config BUILT_IN_STDIO
272         bool "Enable Built in versions of stdio functions"
273         default n
274         help 
275           Not all host OSes provide link targets for stdio functions
276           Palacios provides internal implementations of these functions, that you can select from this list
277
278
279
280 config BUILT_IN_SPRINTF
281         bool "sprintf()"
282         default n
283         depends on BUILT_IN_STDIO
284         help 
285           This enables Palacios' internal implementation of sprintf
286
287
288 config BUILT_IN_SNPRINTF
289         bool "snprintf()"
290         default n
291         depends on BUILT_IN_STDIO
292         help 
293           This enables Palacios' internal implementation of snprintf
294
295
296 config BUILT_IN_VSPRINTF
297         bool "vsprintf()"
298         default n
299         depends on BUILT_IN_STDIO
300         help 
301           This enables Palacios' internal implementation of vsprintf
302
303
304 config BUILT_IN_VSNRPRINTF
305         bool "vsnrprintf()"
306         default n
307         depends on BUILT_IN_STDIO
308         help 
309           This enables Palacios' internal implementation of vsnrprintf
310
311 endmenu
312
313
314
315
316 menu "Symbiotic Functions"
317
318 config SYMBIOTIC
319         bool "Enable Symbiotic Functionality"
320         default n
321         help 
322           Enable Symbiotic components of the VMM
323
324
325 config SYMBIOTIC_SWAP
326         bool "Symbiotic Swap"
327         default n
328         depends on SYMBIOTIC && EXPERIMENTAL
329         help 
330           This enables the symbiotic swap architecture
331
332 endmenu
333
334
335
336 menu "Debug configuration"
337
338 config CONFIG_DEBUG_INFO
339         bool "Compile with Debug information"
340         default n
341         help 
342          This adds the -g flag to the compilation flags
343
344
345 ## Is unwind information useful
346
347 config DEBUG_ON
348         bool "Enable Debugging"
349         default y
350         help
351           This turns on debugging support
352
353
354 config DEBUG_SHADOW_PAGING
355         bool "Shadow paging"
356         default n
357         depends on DEBUG_ON
358         help 
359           This turns on debugging for the shadow paging system
360
361
362 config DEBUG_NESTED_PAGING
363         bool "Nested paging"
364         default n
365         depends on DEBUG_ON
366         help 
367           This turns on debugging for the nested paging system
368
369
370 config DEBUG_CTRL_REGS
371         bool "Control registers"
372         default n
373         depends on DEBUG_ON
374         help 
375           This turns on debugging for the control register handlers
376
377
378 config DEBUG_INTERRUPTS
379         bool "Interrupts"
380         default n
381         depends on DEBUG_ON
382         help 
383           This turns on debugging for the interrupt system
384
385
386
387 config DEBUG_IO
388         bool "IO"
389         default n
390         depends on DEBUG_ON
391         help 
392           This turns on debugging for the IO handlers
393
394
395 config DEBUG_EMULATOR
396         bool "Instruction Emulator"
397         default n
398         depends on DEBUG_ON
399         help 
400           This turns on debugging for the Instruction Emulator
401
402
403 config DEBUG_XED
404         bool "XED"
405         default n
406         depends on DEBUG_ON
407         help 
408           This turns on debugging for the Xed Decoder
409
410 config DEBUG_HALT
411         bool "Halt"
412         default n
413         depends on DEBUG_ON
414         help 
415           This turns on debugging for the halt instruction handler
416
417 config DEBUG_DEV_MGR
418         bool "Device Manager"
419         default n
420         depends on DEBUG_ON
421         help 
422           This turns on debugging for the device manager
423
424
425
426
427 endmenu
428
429
430 menu "BIOS Selection"
431
432 config ROMBIOS_PATH
433         string "Path to pre-built ROMBIOS binary"
434         default "./bios/rombios/BIOS-bochs-latest"
435         help
436           This is the rombios that will be used for the guests
437
438 config VGABIOS_PATH
439         string "Path to pre-built VGABIOS binary"
440         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
441         help
442           This is the vgabios that will be used for the guests
443
444 config VMXASSIST_PATH
445         string "Path to pre-built VMXASSIST binary"
446         depends on VMX
447         default "./bios/vmxassist/vmxassist.bin"
448         help
449           This is vmxassist image to boot real mode guests on 
450           Intel VMX Platforms
451
452 endmenu
453
454
455 source "palacios/src/devices/Kconfig"
456