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 (no longer needed)
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
120 bool "Enable Vnet Debug in Palacios"
123 Enable the Vnet Debug in Palacios
125 config BUILT_IN_STDLIB
126 bool "Enable Built in versions of stdlib functions"
129 Not all host OSes provide link targets for stdlib functions
130 Palacios provides internal implementations of these functions, that you can select from this list
132 config BUILT_IN_MEMSET
135 depends on BUILT_IN_STDLIB
137 This enables Palacios' internal implementation of memset
140 config BUILT_IN_MEMCPY
143 depends on BUILT_IN_STDLIB
145 This enables Palacios' internal implementation of memcpy
147 config BUILT_IN_MEMMOVE
150 depends on BUILT_IN_STDLIB
152 This enables Palacios' internal implementation of memmove
154 config BUILT_IN_MEMCMP
157 depends on BUILT_IN_STDLIB
159 This enables Palacios' internal implementation of memcmp
161 config BUILT_IN_STRLEN
164 depends on BUILT_IN_STDLIB
166 This enables Palacios' internal implementation of strlen
168 config BUILT_IN_STRNLEN
171 depends on BUILT_IN_STDLIB
173 This enables Palacios' internal implementation of strnlen
176 config BUILT_IN_STRCMP
179 depends on BUILT_IN_STDLIB
181 This enables Palacios' internal implementation of strcmp
184 config BUILT_IN_STRCASECMP
187 depends on BUILT_IN_STDLIB
189 This enables Palacios' internal implementation of strcasecmp
191 config BUILT_IN_STRNCMP
194 depends on BUILT_IN_STDLIB
196 This enables Palacios' internal implementation of strncmp
198 config BUILT_IN_STRNCASECMP
201 depends on BUILT_IN_STDLIB
203 This enables Palacios' internal implementation of strncasecmp
206 config BUILT_IN_STRCAT
209 depends on BUILT_IN_STDLIB
211 This enables Palacios' internal implementation of strcat
213 config BUILT_IN_STRNCAT
216 depends on BUILT_IN_STDLIB
218 This enables Palacios' internal implementation of strncat
220 config BUILT_IN_STRCPY
223 depends on BUILT_IN_STDLIB
225 This enables Palacios' internal implementation of strcpy
227 config BUILT_IN_STRNCPY
230 depends on BUILT_IN_STDLIB
232 This enables Palacios' internal implementation of strncpy
234 config BUILT_IN_STRDUP
237 depends on BUILT_IN_STDLIB
239 This enables Palacios' internal implementation of strdup
241 config BUILT_IN_STRSTR
244 depends on BUILT_IN_STDLIB
246 This enables Palacios internal implementation of strstr
252 depends on BUILT_IN_STDLIB
254 This enables Palacios' internal implementation of atoi
256 config BUILT_IN_STRCHR
259 depends on BUILT_IN_STDLIB
261 This enables Palacios' internal implementation of strchr
263 config BUILT_IN_STRRCHR
266 depends on BUILT_IN_STDLIB
268 This enables Palacios' internal implementation of strrchr
270 config BUILT_IN_STRPBRK
273 depends on BUILT_IN_STDLIB
275 This enables Palacios' internal implementation of strpbrk
278 config BUILT_IN_STDIO
279 bool "Enable Built in versions of stdio functions"
282 Not all host OSes provide link targets for stdio functions
283 Palacios provides internal implementations of these functions, that you can select from this list
287 config BUILT_IN_SPRINTF
290 depends on BUILT_IN_STDIO
292 This enables Palacios' internal implementation of sprintf
295 config BUILT_IN_SNPRINTF
298 depends on BUILT_IN_STDIO
300 This enables Palacios' internal implementation of snprintf
303 config BUILT_IN_VSPRINTF
306 depends on BUILT_IN_STDIO
308 This enables Palacios' internal implementation of vsprintf
310 config BUILT_IN_VSNPRINTF
313 depends on BUILT_IN_STDIO
315 This enables Palacios' internal implementation of vsnprintf
317 config BUILT_IN_VSNRPRINTF
320 depends on BUILT_IN_STDIO
322 This enables Palacios' internal implementation of vsnrprintf
329 menu "Symbiotic Functions"
332 bool "Enable Symbiotic Functionality"
335 Enable Symbiotic components of the VMM
338 config SYMBIOTIC_SWAP
339 bool "Symbiotic Swap"
341 depends on SYMBIOTIC && EXPERIMENTAL
343 This enables the symbiotic swap architecture
349 menu "Debug configuration"
351 config CONFIG_DEBUG_INFO
352 bool "Compile with Debug information"
355 This adds the -g flag to the compilation flags
358 ## Is unwind information useful
361 bool "Enable Debugging"
364 This turns on debugging support
367 config DEBUG_SHADOW_PAGING
372 This turns on debugging for the shadow paging system
375 config DEBUG_NESTED_PAGING
380 This turns on debugging for the nested paging system
383 config DEBUG_CTRL_REGS
384 bool "Control registers"
388 This turns on debugging for the control register handlers
391 config DEBUG_INTERRUPTS
396 This turns on debugging for the interrupt system
405 This turns on debugging for the IO handlers
408 config DEBUG_EMULATOR
409 bool "Instruction Emulator"
413 This turns on debugging for the Instruction Emulator
421 This turns on debugging for the Xed Decoder
428 This turns on debugging for the halt instruction handler
431 bool "Device Manager"
435 This turns on debugging for the device manager
443 menu "BIOS Selection"
446 string "Path to pre-built ROMBIOS binary"
447 default "./bios/rombios/BIOS-bochs-latest"
449 This is the rombios that will be used for the guests
452 string "Path to pre-built VGABIOS binary"
453 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
455 This is the vgabios that will be used for the guests
457 config VMXASSIST_PATH
458 string "Path to pre-built VMXASSIST binary"
460 default "./bios/vmxassist/vmxassist.bin"
462 This is vmxassist image to boot real mode guests on
468 source "palacios/src/devices/Kconfig"