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.


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