1 mainmenu "Palacios VMM Configuration"
3 menu "Target Configuration"
7 bool "Set defaults needed for the Kitten OS"
10 This enables the necesary options to compile Palacios with Kitten
14 bool "Red Storm (Cray XT3/XT4)"
16 Support for Cray XT3 and XT4 systems.
19 bool "AMD SVM Support"
22 Compile with support for AMD SVM
25 bool "Intel VMX Support"
28 Compile with support for Intel VMX
32 bool "Compile for a multi threaded OS"
35 This allows Palacios to use OS thread mechanisms
39 int "Maximum number of cpus"
43 Specifies the maximum number of hardware cpus Palacios can support
45 For uniprocessor environments, set this to 1
49 bool "Include Network Socket Support"
52 Enable networking support in Palacios
58 bool "Enable VMM telemetry support"
61 Enable the telemetry framework in Palacios
63 This is a framwork that allows components of palacios to record
64 information that is periodically reported to the log output.
65 Telemetry is automatically collected for vmexits. Subsystem telemetry
66 is configured separately
69 config SHADOW_PAGING_TELEMETRY
70 bool "Enable Shadow Paging Telemetry"
74 Enable telemetry information for shadow paging
76 config SYMBIOTIC_SWAP_TELEMETRY
77 bool "Enable Symbiotic Swap Telemetry"
79 depends on TELEMETRY && SYMBIOTIC_SWAP
81 Enable the telemetry information for the symbiotic swap subsystem
84 config PASSTHROUGH_VIDEO
85 bool "Enable Passthrough Video"
88 Configures Palacios to map a guest's framebuffer directly
89 to the hardware framebuffer
92 bool "Enable VMM instrumentation"
95 Enable the instrumentation framework
97 This is much heavier weight than profiling
100 bool "Enable Experimental options"
103 This allows the selection of experimental features. This includes incomplete or unreviewed code.
104 Only enable this feature if you are working on the features in question.
105 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
106 Any code that violates this will be immediately deleted without warning.
108 The purpose of this option is to allow features under development to be committed to the mainline
109 to more easily track changes and provide access to multiple developers
112 depends on EXPERIMENTAL
113 bool "Enable Vnet in Palacios"
116 Enable the Vnet in Palacios
118 config BUILT_IN_STDLIB
119 bool "Enable Built in versions of stdlib functions"
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
125 config BUILT_IN_MEMSET
128 depends on BUILT_IN_STDLIB
130 This enables Palacios' internal implementation of memset
133 config BUILT_IN_MEMCPY
136 depends on BUILT_IN_STDLIB
138 This enables Palacios' internal implementation of memcpy
140 config BUILT_IN_MEMMOVE
143 depends on BUILT_IN_STDLIB
145 This enables Palacios' internal implementation of memmove
147 config BUILT_IN_MEMCMP
150 depends on BUILT_IN_STDLIB
152 This enables Palacios' internal implementation of memcmp
154 config BUILT_IN_STRLEN
157 depends on BUILT_IN_STDLIB
159 This enables Palacios' internal implementation of strlen
161 config BUILT_IN_STRNLEN
164 depends on BUILT_IN_STDLIB
166 This enables Palacios' internal implementation of strnlen
169 config BUILT_IN_STRCMP
172 depends on BUILT_IN_STDLIB
174 This enables Palacios' internal implementation of strcmp
177 config BUILT_IN_STRCASECMP
180 depends on BUILT_IN_STDLIB
182 This enables Palacios' internal implementation of strcasecmp
184 config BUILT_IN_STRNCMP
187 depends on BUILT_IN_STDLIB
189 This enables Palacios' internal implementation of strncmp
191 config BUILT_IN_STRNCASECMP
194 depends on BUILT_IN_STDLIB
196 This enables Palacios' internal implementation of strncasecmp
199 config BUILT_IN_STRCAT
202 depends on BUILT_IN_STDLIB
204 This enables Palacios' internal implementation of strcat
206 config BUILT_IN_STRNCAT
209 depends on BUILT_IN_STDLIB
211 This enables Palacios' internal implementation of strncat
213 config BUILT_IN_STRCPY
216 depends on BUILT_IN_STDLIB
218 This enables Palacios' internal implementation of strcpy
220 config BUILT_IN_STRNCPY
223 depends on BUILT_IN_STDLIB
225 This enables Palacios' internal implementation of strncpy
227 config BUILT_IN_STRDUP
230 depends on BUILT_IN_STDLIB
232 This enables Palacios' internal implementation of strdup
234 config BUILT_IN_STRSTR
237 depends on BUILT_IN_STDLIB
239 This enables Palacios internal implementation of strstr
245 depends on BUILT_IN_STDLIB
247 This enables Palacios' internal implementation of atoi
249 config BUILT_IN_STRCHR
252 depends on BUILT_IN_STDLIB
254 This enables Palacios' internal implementation of strchr
256 config BUILT_IN_STRRCHR
259 depends on BUILT_IN_STDLIB
261 This enables Palacios' internal implementation of strrchr
263 config BUILT_IN_STRPBRK
266 depends on BUILT_IN_STDLIB
268 This enables Palacios' internal implementation of strpbrk
271 config BUILT_IN_STDIO
272 bool "Enable Built in versions of stdio functions"
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
280 config BUILT_IN_SPRINTF
283 depends on BUILT_IN_STDIO
285 This enables Palacios' internal implementation of sprintf
288 config BUILT_IN_SNPRINTF
291 depends on BUILT_IN_STDIO
293 This enables Palacios' internal implementation of snprintf
296 config BUILT_IN_VSPRINTF
299 depends on BUILT_IN_STDIO
301 This enables Palacios' internal implementation of vsprintf
303 config BUILT_IN_VSNPRINTF
306 depends on BUILT_IN_STDIO
308 This enables Palacios' internal implementation of vsnprintf
310 config BUILT_IN_VSNRPRINTF
313 depends on BUILT_IN_STDIO
315 This enables Palacios' internal implementation of vsnrprintf
322 menu "Symbiotic Functions"
325 bool "Enable Symbiotic Functionality"
328 Enable Symbiotic components of the VMM
331 config SYMBIOTIC_SWAP
332 bool "Symbiotic Swap"
334 depends on SYMBIOTIC && EXPERIMENTAL
336 This enables the symbiotic swap architecture
342 menu "Debug configuration"
344 config CONFIG_DEBUG_INFO
345 bool "Compile with Debug information"
348 This adds the -g flag to the compilation flags
351 ## Is unwind information useful
354 bool "Enable Debugging"
357 This turns on debugging support
360 config DEBUG_SHADOW_PAGING
365 This turns on debugging for the shadow paging system
368 config DEBUG_NESTED_PAGING
373 This turns on debugging for the nested paging system
376 config DEBUG_CTRL_REGS
377 bool "Control registers"
381 This turns on debugging for the control register handlers
384 config DEBUG_INTERRUPTS
389 This turns on debugging for the interrupt system
398 This turns on debugging for the IO handlers
401 config DEBUG_EMULATOR
402 bool "Instruction Emulator"
406 This turns on debugging for the Instruction Emulator
414 This turns on debugging for the Xed Decoder
421 This turns on debugging for the halt instruction handler
424 bool "Device Manager"
428 This turns on debugging for the device manager
436 menu "BIOS Selection"
439 string "Path to pre-built ROMBIOS binary"
440 default "./bios/rombios/BIOS-bochs-latest"
442 This is the rombios that will be used for the guests
445 string "Path to pre-built VGABIOS binary"
446 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
448 This is the vgabios that will be used for the guests
450 config VMXASSIST_PATH
451 string "Path to pre-built VMXASSIST binary"
453 default "./bios/vmxassist/vmxassist.bin"
455 This is vmxassist image to boot real mode guests on
461 source "palacios/src/devices/Kconfig"