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.


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