1 mainmenu "Palacios VMM Configuration"
3 menu "Target Configuration"
7 bool "Red Storm (Cray XT3/XT4)"
9 Support for Cray XT3 and XT4 systems.
12 bool "AMD SVM Support"
15 Compile with support for AMD SVM
18 bool "Intel VMX Support"
21 Compile with support for Intel VMX
25 bool "Compile for a multi threaded OS"
28 This allows Palacios to use OS thread mechanisms
32 int "Maximum number of cpus"
36 Specifies the maximum number of hardware cpus Palacios can support
38 For uniprocessor environments, set this to 1
42 bool "Include Network Socket Support"
45 Enable networking support in Palacios
51 bool "Enable VMM telemetry support"
54 Enable the telemetry framework in Palacios
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
62 config SHADOW_PAGING_TELEMETRY
63 bool "Enable Shadow Paging Telemetry"
67 Enable telemetry information for shadow paging
69 config SYMBIOTIC_SWAP_TELEMETRY
70 bool "Enable Symbiotic Swap Telemetry"
72 depends on TELEMETRY && SYMBIOTIC_SWAP
74 Enable the telemetry information for the symbiotic swap subsystem
77 config PASSTHROUGH_VIDEO
78 bool "Enable Passthrough Video"
81 Configures Palacios to map a guest's framebuffer directly
82 to the hardware framebuffer
85 bool "Enable VMM instrumentation"
88 Enable the instrumentation framework
90 This is much heavier weight than profiling
93 bool "Enable Experimental options"
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.
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
105 depends on EXPERIMENTAL
106 bool "Enable Vnet in Palacios"
109 Enable the Vnet in Palacios
111 config BUILT_IN_STDLIB
112 bool "Enable Built in versions of stdlib functions"
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
118 config BUILT_IN_MEMSET
121 depends on BUILT_IN_STDLIB
123 This enables Palacios' internal implementation of memset
126 config BUILT_IN_MEMCPY
129 depends on BUILT_IN_STDLIB
131 This enables Palacios' internal implementation of memcpy
133 config BUILT_IN_MEMMOVE
136 depends on BUILT_IN_STDLIB
138 This enables Palacios' internal implementation of memmove
140 config BUILT_IN_MEMCMP
143 depends on BUILT_IN_STDLIB
145 This enables Palacios' internal implementation of memcmp
147 config BUILT_IN_STRLEN
150 depends on BUILT_IN_STDLIB
152 This enables Palacios' internal implementation of strlen
154 config BUILT_IN_STRNLEN
157 depends on BUILT_IN_STDLIB
159 This enables Palacios' internal implementation of strnlen
162 config BUILT_IN_STRCMP
165 depends on BUILT_IN_STDLIB
167 This enables Palacios' internal implementation of strcmp
170 config BUILT_IN_STRCASECMP
173 depends on BUILT_IN_STDLIB
175 This enables Palacios' internal implementation of strcasecmp
177 config BUILT_IN_STRNCMP
180 depends on BUILT_IN_STDLIB
182 This enables Palacios' internal implementation of strncmp
184 config BUILT_IN_STRNCASECMP
187 depends on BUILT_IN_STDLIB
189 This enables Palacios' internal implementation of strncasecmp
192 config BUILT_IN_STRCAT
195 depends on BUILT_IN_STDLIB
197 This enables Palacios' internal implementation of strcat
199 config BUILT_IN_STRNCAT
202 depends on BUILT_IN_STDLIB
204 This enables Palacios' internal implementation of strncat
206 config BUILT_IN_STRCPY
209 depends on BUILT_IN_STDLIB
211 This enables Palacios' internal implementation of strcpy
213 config BUILT_IN_STRNCPY
216 depends on BUILT_IN_STDLIB
218 This enables Palacios' internal implementation of strncpy
220 config BUILT_IN_STRDUP
223 depends on BUILT_IN_STDLIB
225 This enables Palacios' internal implementation of strdup
227 config BUILT_IN_STRSTR
230 depends on BUILT_IN_STDLIB
232 This enables Palacios internal implementation of strstr
238 depends on BUILT_IN_STDLIB
240 This enables Palacios' internal implementation of atoi
242 config BUILT_IN_STRCHR
245 depends on BUILT_IN_STDLIB
247 This enables Palacios' internal implementation of strchr
249 config BUILT_IN_STRRCHR
252 depends on BUILT_IN_STDLIB
254 This enables Palacios' internal implementation of strrchr
256 config BUILT_IN_STRPBRK
259 depends on BUILT_IN_STDLIB
261 This enables Palacios' internal implementation of strpbrk
264 config BUILT_IN_STDIO
265 bool "Enable Built in versions of stdio functions"
268 Not all host OSes provide link targets for stdio functions
269 Palacios provides internal implementations of these functions, that you can select from this list
273 config BUILT_IN_SPRINTF
276 depends on BUILT_IN_STDIO
278 This enables Palacios' internal implementation of sprintf
281 config BUILT_IN_SNPRINTF
284 depends on BUILT_IN_STDIO
286 This enables Palacios' internal implementation of snprintf
289 config BUILT_IN_VSPRINTF
292 depends on BUILT_IN_STDIO
294 This enables Palacios' internal implementation of vsprintf
296 config BUILT_IN_VSNPRINTF
299 depends on BUILT_IN_STDIO
301 This enables Palacios' internal implementation of vsnprintf
303 config BUILT_IN_VSNRPRINTF
306 depends on BUILT_IN_STDIO
308 This enables Palacios' internal implementation of vsnrprintf
315 menu "Symbiotic Functions"
318 bool "Enable Symbiotic Functionality"
321 Enable Symbiotic components of the VMM
324 config SYMBIOTIC_SWAP
325 bool "Symbiotic Swap"
327 depends on SYMBIOTIC && EXPERIMENTAL
329 This enables the symbiotic swap architecture
335 menu "Debug configuration"
337 config CONFIG_DEBUG_INFO
338 bool "Compile with Debug information"
341 This adds the -g flag to the compilation flags
344 ## Is unwind information useful
347 bool "Enable Debugging"
350 This turns on debugging support
353 config DEBUG_SHADOW_PAGING
358 This turns on debugging for the shadow paging system
361 config DEBUG_NESTED_PAGING
366 This turns on debugging for the nested paging system
369 config DEBUG_CTRL_REGS
370 bool "Control registers"
374 This turns on debugging for the control register handlers
377 config DEBUG_INTERRUPTS
382 This turns on debugging for the interrupt system
391 This turns on debugging for the IO handlers
394 config DEBUG_EMULATOR
395 bool "Instruction Emulator"
399 This turns on debugging for the Instruction Emulator
407 This turns on debugging for the Xed Decoder
414 This turns on debugging for the halt instruction handler
417 bool "Device Manager"
421 This turns on debugging for the device manager
429 menu "BIOS Selection"
432 string "Path to pre-built ROMBIOS binary"
433 default "./bios/rombios/BIOS-bochs-latest"
435 This is the rombios that will be used for the guests
438 string "Path to pre-built VGABIOS binary"
439 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
441 This is the vgabios that will be used for the guests
443 config VMXASSIST_PATH
444 string "Path to pre-built VMXASSIST binary"
446 default "./bios/vmxassist/vmxassist.bin"
448 This is vmxassist image to boot real mode guests on
454 source "palacios/src/devices/Kconfig"