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 Console Support"
52 Enable console support in Palacios
58 bool "Include Network Socket Support"
61 Enable networking support in Palacios
67 bool "Enable VMM telemetry support"
70 Enable the telemetry framework in Palacios
72 This is a framwork that allows components of palacios to record
73 information that is periodically reported to the log output.
74 Telemetry is automatically collected for vmexits. Subsystem telemetry
75 is configured separately
78 config SHADOW_PAGING_TELEMETRY
79 bool "Enable Shadow Paging Telemetry"
83 Enable telemetry information for shadow paging
85 config SYMBIOTIC_SWAP_TELEMETRY
86 bool "Enable Symbiotic Swap Telemetry"
88 depends on TELEMETRY && SYMBIOTIC_SWAP
90 Enable the telemetry information for the symbiotic swap subsystem
93 config PASSTHROUGH_VIDEO
94 bool "Enable Passthrough Video"
97 Configures Palacios to map a guest's framebuffer directly
98 to the hardware framebuffer (no longer needed)
100 config INSTRUMENT_VMM
101 bool "Enable VMM instrumentation"
104 Enable the instrumentation framework
106 This is much heavier weight than profiling
109 bool "Enable Experimental options"
112 This allows the selection of experimental features. This includes incomplete or unreviewed code.
113 Only enable this feature if you are working on the features in question.
114 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
115 Any code that violates this will be immediately deleted without warning.
117 The purpose of this option is to allow features under development to be committed to the mainline
118 to more easily track changes and provide access to multiple developers
121 depends on EXPERIMENTAL
122 bool "Enable Vnet in Palacios"
125 Enable the Vnet in Palacios
129 bool "Enable Vnet Debug in Palacios"
132 Enable the Vnet Debug in Palacios
134 config BUILT_IN_STDLIB
135 bool "Enable Built in versions of stdlib functions"
138 Not all host OSes provide link targets for stdlib functions
139 Palacios provides internal implementations of these functions, that you can select from this list
141 config BUILT_IN_MEMSET
144 depends on BUILT_IN_STDLIB
146 This enables Palacios' internal implementation of memset
149 config BUILT_IN_MEMCPY
152 depends on BUILT_IN_STDLIB
154 This enables Palacios' internal implementation of memcpy
156 config BUILT_IN_MEMMOVE
159 depends on BUILT_IN_STDLIB
161 This enables Palacios' internal implementation of memmove
163 config BUILT_IN_MEMCMP
166 depends on BUILT_IN_STDLIB
168 This enables Palacios' internal implementation of memcmp
170 config BUILT_IN_STRLEN
173 depends on BUILT_IN_STDLIB
175 This enables Palacios' internal implementation of strlen
177 config BUILT_IN_STRNLEN
180 depends on BUILT_IN_STDLIB
182 This enables Palacios' internal implementation of strnlen
185 config BUILT_IN_STRCMP
188 depends on BUILT_IN_STDLIB
190 This enables Palacios' internal implementation of strcmp
193 config BUILT_IN_STRCASECMP
196 depends on BUILT_IN_STDLIB
198 This enables Palacios' internal implementation of strcasecmp
200 config BUILT_IN_STRNCMP
203 depends on BUILT_IN_STDLIB
205 This enables Palacios' internal implementation of strncmp
207 config BUILT_IN_STRNCASECMP
210 depends on BUILT_IN_STDLIB
212 This enables Palacios' internal implementation of strncasecmp
215 config BUILT_IN_STRCAT
218 depends on BUILT_IN_STDLIB
220 This enables Palacios' internal implementation of strcat
222 config BUILT_IN_STRNCAT
225 depends on BUILT_IN_STDLIB
227 This enables Palacios' internal implementation of strncat
229 config BUILT_IN_STRCPY
232 depends on BUILT_IN_STDLIB
234 This enables Palacios' internal implementation of strcpy
236 config BUILT_IN_STRNCPY
239 depends on BUILT_IN_STDLIB
241 This enables Palacios' internal implementation of strncpy
243 config BUILT_IN_STRDUP
246 depends on BUILT_IN_STDLIB
248 This enables Palacios' internal implementation of strdup
250 config BUILT_IN_STRSTR
253 depends on BUILT_IN_STDLIB
255 This enables Palacios internal implementation of strstr
261 depends on BUILT_IN_STDLIB
263 This enables Palacios' internal implementation of atoi
265 config BUILT_IN_STRCHR
268 depends on BUILT_IN_STDLIB
270 This enables Palacios' internal implementation of strchr
272 config BUILT_IN_STRRCHR
275 depends on BUILT_IN_STDLIB
277 This enables Palacios' internal implementation of strrchr
279 config BUILT_IN_STRPBRK
282 depends on BUILT_IN_STDLIB
284 This enables Palacios' internal implementation of strpbrk
287 config BUILT_IN_STDIO
288 bool "Enable Built in versions of stdio functions"
291 Not all host OSes provide link targets for stdio functions
292 Palacios provides internal implementations of these functions, that you can select from this list
296 config BUILT_IN_SPRINTF
299 depends on BUILT_IN_STDIO
301 This enables Palacios' internal implementation of sprintf
304 config BUILT_IN_SNPRINTF
307 depends on BUILT_IN_STDIO
309 This enables Palacios' internal implementation of snprintf
312 config BUILT_IN_VSPRINTF
315 depends on BUILT_IN_STDIO
317 This enables Palacios' internal implementation of vsprintf
319 config BUILT_IN_VSNPRINTF
322 depends on BUILT_IN_STDIO
324 This enables Palacios' internal implementation of vsnprintf
326 config BUILT_IN_VSNRPRINTF
329 depends on BUILT_IN_STDIO
331 This enables Palacios' internal implementation of vsnrprintf
338 menu "Symbiotic Functions"
341 bool "Enable Symbiotic Functionality"
344 Enable Symbiotic components of the VMM
347 config SYMBIOTIC_SWAP
348 bool "Symbiotic Swap"
350 depends on SYMBIOTIC && EXPERIMENTAL
352 This enables the symbiotic swap architecture
358 menu "Debug configuration"
360 config CONFIG_DEBUG_INFO
361 bool "Compile with Debug information"
364 This adds the -g flag to the compilation flags
367 ## Is unwind information useful
370 bool "Enable Debugging"
373 This turns on debugging support
376 config DEBUG_SHADOW_PAGING
381 This turns on debugging for the shadow paging system
384 config DEBUG_NESTED_PAGING
389 This turns on debugging for the nested paging system
392 config DEBUG_CTRL_REGS
393 bool "Control registers"
397 This turns on debugging for the control register handlers
400 config DEBUG_INTERRUPTS
405 This turns on debugging for the interrupt system
414 This turns on debugging for the IO handlers
417 config DEBUG_EMULATOR
418 bool "Instruction Emulator"
422 This turns on debugging for the Instruction Emulator
430 This turns on debugging for the Xed Decoder
437 This turns on debugging for the halt instruction handler
440 bool "Device Manager"
444 This turns on debugging for the device manager
452 menu "BIOS Selection"
455 string "Path to pre-built ROMBIOS binary"
456 default "./bios/rombios/BIOS-bochs-latest"
458 This is the rombios that will be used for the guests
461 string "Path to pre-built VGABIOS binary"
462 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
464 This is the vgabios that will be used for the guests
466 config VMXASSIST_PATH
467 string "Path to pre-built VMXASSIST binary"
469 default "./bios/vmxassist/vmxassist.bin"
471 This is vmxassist image to boot real mode guests on
477 source "palacios/src/devices/Kconfig"