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.


Add Vnet Configure
[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 DEBUG_VNET
112         depends on VNET
113         bool "Enable Vnet Debug in Palacios"
114         default n
115         help
116           Enable the Vnet Debug in Palacios
117
118 config BUILT_IN_STDLIB
119         bool "Enable Built in versions of stdlib functions"
120         default n
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 n
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 n
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