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.


KBuild fixes to set defaults for Kitten
[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 config BUILT_IN_VSNPRINTF
304         bool "vsnprintf()"
305         default n
306         depends on BUILT_IN_STDIO
307         help 
308           This enables Palacios' internal implementation of vsnprintf
309
310 config BUILT_IN_VSNRPRINTF
311         bool "vsnrprintf()"
312         default n
313         depends on BUILT_IN_STDIO
314         help 
315           This enables Palacios' internal implementation of vsnrprintf
316
317 endmenu
318
319
320
321
322 menu "Symbiotic Functions"
323
324 config SYMBIOTIC
325         bool "Enable Symbiotic Functionality"
326         default n
327         help 
328           Enable Symbiotic components of the VMM
329
330
331 config SYMBIOTIC_SWAP
332         bool "Symbiotic Swap"
333         default n
334         depends on SYMBIOTIC && EXPERIMENTAL
335         help 
336           This enables the symbiotic swap architecture
337
338 endmenu
339
340
341
342 menu "Debug configuration"
343
344 config CONFIG_DEBUG_INFO
345         bool "Compile with Debug information"
346         default n
347         help 
348          This adds the -g flag to the compilation flags
349
350
351 ## Is unwind information useful
352
353 config DEBUG_ON
354         bool "Enable Debugging"
355         default y
356         help
357           This turns on debugging support
358
359
360 config DEBUG_SHADOW_PAGING
361         bool "Shadow paging"
362         default n
363         depends on DEBUG_ON
364         help 
365           This turns on debugging for the shadow paging system
366
367
368 config DEBUG_NESTED_PAGING
369         bool "Nested paging"
370         default n
371         depends on DEBUG_ON
372         help 
373           This turns on debugging for the nested paging system
374
375
376 config DEBUG_CTRL_REGS
377         bool "Control registers"
378         default n
379         depends on DEBUG_ON
380         help 
381           This turns on debugging for the control register handlers
382
383
384 config DEBUG_INTERRUPTS
385         bool "Interrupts"
386         default n
387         depends on DEBUG_ON
388         help 
389           This turns on debugging for the interrupt system
390
391
392
393 config DEBUG_IO
394         bool "IO"
395         default n
396         depends on DEBUG_ON
397         help 
398           This turns on debugging for the IO handlers
399
400
401 config DEBUG_EMULATOR
402         bool "Instruction Emulator"
403         default n
404         depends on DEBUG_ON
405         help 
406           This turns on debugging for the Instruction Emulator
407
408
409 config DEBUG_XED
410         bool "XED"
411         default n
412         depends on DEBUG_ON
413         help 
414           This turns on debugging for the Xed Decoder
415
416 config DEBUG_HALT
417         bool "Halt"
418         default n
419         depends on DEBUG_ON
420         help 
421           This turns on debugging for the halt instruction handler
422
423 config DEBUG_DEV_MGR
424         bool "Device Manager"
425         default n
426         depends on DEBUG_ON
427         help 
428           This turns on debugging for the device manager
429
430
431
432
433 endmenu
434
435
436 menu "BIOS Selection"
437
438 config ROMBIOS_PATH
439         string "Path to pre-built ROMBIOS binary"
440         default "./bios/rombios/BIOS-bochs-latest"
441         help
442           This is the rombios that will be used for the guests
443
444 config VGABIOS_PATH
445         string "Path to pre-built VGABIOS binary"
446         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
447         help
448           This is the vgabios that will be used for the guests
449
450 config VMXASSIST_PATH
451         string "Path to pre-built VMXASSIST binary"
452         depends on VMX
453         default "./bios/vmxassist/vmxassist.bin"
454         help
455           This is vmxassist image to boot real mode guests on 
456           Intel VMX Platforms
457
458 endmenu
459
460
461 source "palacios/src/devices/Kconfig"
462