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.


added xml parser for configuration
[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 config BUILT_IN_STRNCMP
170         bool "strncmp()"
171         default n
172         depends on BUILT_IN_STDLIB
173         help 
174           This enables Palacios' internal implementation of strncmp
175
176 config BUILT_IN_STRCAT
177         bool "strcat()"
178         default n
179         depends on BUILT_IN_STDLIB
180         help 
181           This enables Palacios' internal implementation of strcat
182
183 config BUILT_IN_STRNCAT
184         bool "strncat()"
185         default n
186         depends on BUILT_IN_STDLIB
187         help 
188           This enables Palacios' internal implementation of strncat
189
190 config BUILT_IN_STRCPY
191         bool "strcpy()"
192         default n
193         depends on BUILT_IN_STDLIB
194         help 
195           This enables Palacios' internal implementation of strcpy
196
197 config BUILT_IN_STRNCPY
198         bool "strncpy()"
199         default n
200         depends on BUILT_IN_STDLIB
201         help 
202           This enables Palacios' internal implementation of strncpy
203
204 config BUILT_IN_STRDUP
205         bool "strdup()"
206         default n
207         depends on BUILT_IN_STDLIB
208         help 
209           This enables Palacios' internal implementation of strdup
210
211 config BUILT_IN_STRSTR
212         bool "strstr()"
213         default n
214         depends on BUILT_IN_STDLIB
215         help
216           This enables Palacios internal implementation of strstr
217
218
219 config BUILT_IN_ATOI
220         bool "atoi()"
221         default n
222         depends on BUILT_IN_STDLIB
223         help 
224           This enables Palacios' internal implementation of atoi
225
226 config BUILT_IN_STRCHR
227         bool "strchr()"
228         default n
229         depends on BUILT_IN_STDLIB
230         help 
231           This enables Palacios' internal implementation of strchr
232
233 config BUILT_IN_STRRCHR
234         bool "strrchr()"
235         default n
236         depends on BUILT_IN_STDLIB
237         help 
238           This enables Palacios' internal implementation of strrchr
239
240 config BUILT_IN_STRPBRK
241         bool "strpbrk()"
242         default n
243         depends on BUILT_IN_STDLIB
244         help 
245           This enables Palacios' internal implementation of strpbrk
246
247
248 config BUILT_IN_STDIO
249         bool "Enable Built in versions of stdio functions"
250         default n
251         help 
252           Not all host OSes provide link targets for stdio functions
253           Palacios provides internal implementations of these functions, that you can select from this list
254
255
256
257 config BUILT_IN_SPRINTF
258         bool "sprintf()"
259         default n
260         depends on BUILT_IN_STDIO
261         help 
262           This enables Palacios' internal implementation of sprintf
263
264
265 config BUILT_IN_SNPRINTF
266         bool "snprintf()"
267         default n
268         depends on BUILT_IN_STDIO
269         help 
270           This enables Palacios' internal implementation of snprintf
271
272
273 config BUILT_IN_VSPRINTF
274         bool "vsprintf()"
275         default n
276         depends on BUILT_IN_STDIO
277         help 
278           This enables Palacios' internal implementation of vsprintf
279
280 config BUILT_IN_VSNPRINTF
281         bool "vsnprintf()"
282         default n
283         depends on BUILT_IN_STDIO
284         help 
285           This enables Palacios' internal implementation of vsnprintf
286
287 config BUILT_IN_VSNRPRINTF
288         bool "vsnrprintf()"
289         default n
290         depends on BUILT_IN_STDIO
291         help 
292           This enables Palacios' internal implementation of vsnrprintf
293
294 endmenu
295
296
297
298
299 menu "Symbiotic Functions"
300
301 config SYMBIOTIC
302         bool "Enable Symbiotic Functionality"
303         default n
304         help 
305           Enable Symbiotic components of the VMM
306
307
308 config SYMBIOTIC_SWAP
309         bool "Symbiotic Swap"
310         default n
311         depends on SYMBIOTIC && EXPERIMENTAL
312         help 
313           This enables the symbiotic swap architecture
314
315 endmenu
316
317
318
319 menu "Debug configuration"
320
321 config CONFIG_DEBUG_INFO
322         bool "Compile with Debug information"
323         default n
324         help 
325          This adds the -g flag to the compilation flags
326
327
328 ## Is unwind information useful
329
330 config DEBUG_ON
331         bool "Enable Debugging"
332         default y
333         help
334           This turns on debugging support
335
336
337 config DEBUG_SHADOW_PAGING
338         bool "Shadow paging"
339         default n
340         depends on DEBUG_ON
341         help 
342           This turns on debugging for the shadow paging system
343
344
345 config DEBUG_NESTED_PAGING
346         bool "Nested paging"
347         default n
348         depends on DEBUG_ON
349         help 
350           This turns on debugging for the nested paging system
351
352
353 config DEBUG_CTRL_REGS
354         bool "Control registers"
355         default n
356         depends on DEBUG_ON
357         help 
358           This turns on debugging for the control register handlers
359
360
361 config DEBUG_INTERRUPTS
362         bool "Interrupts"
363         default n
364         depends on DEBUG_ON
365         help 
366           This turns on debugging for the interrupt system
367
368
369
370 config DEBUG_IO
371         bool "IO"
372         default n
373         depends on DEBUG_ON
374         help 
375           This turns on debugging for the IO handlers
376
377
378 config DEBUG_EMULATOR
379         bool "Instruction Emulator"
380         default n
381         depends on DEBUG_ON
382         help 
383           This turns on debugging for the Instruction Emulator
384
385
386 config DEBUG_XED
387         bool "XED"
388         default n
389         depends on DEBUG_ON
390         help 
391           This turns on debugging for the Xed Decoder
392
393 config DEBUG_HALT
394         bool "Halt"
395         default n
396         depends on DEBUG_ON
397         help 
398           This turns on debugging for the halt instruction handler
399
400 config DEBUG_DEV_MGR
401         bool "Device Manager"
402         default n
403         depends on DEBUG_ON
404         help 
405           This turns on debugging for the device manager
406
407
408
409
410 endmenu
411
412
413 menu "BIOS Selection"
414
415 config ROMBIOS_PATH
416         string "Path to pre-built ROMBIOS binary"
417         default "./bios/rombios/BIOS-bochs-latest"
418         help
419           This is the rombios that will be used for the guests
420
421 config VGABIOS_PATH
422         string "Path to pre-built VGABIOS binary"
423         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
424         help
425           This is the vgabios that will be used for the guests
426
427 config VMXASSIST_PATH
428         string "Path to pre-built VMXASSIST binary"
429         depends on VMX
430         default "./bios/vmxassist/vmxassist.bin"
431         help
432           This is vmxassist image to boot real mode guests on 
433           Intel VMX Platforms
434
435 endmenu
436
437
438 source "palacios/src/devices/Kconfig"
439