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