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
304 config BUILT_IN_VSNRPRINTF
307 depends on BUILT_IN_STDIO
309 This enables Palacios' internal implementation of vsnrprintf
316 menu "Symbiotic Functions"
319 bool "Enable Symbiotic Functionality"
322 Enable Symbiotic components of the VMM
325 config SYMBIOTIC_SWAP
326 bool "Symbiotic Swap"
328 depends on SYMBIOTIC && EXPERIMENTAL
330 This enables the symbiotic swap architecture
336 menu "Debug configuration"
338 config CONFIG_DEBUG_INFO
339 bool "Compile with Debug information"
342 This adds the -g flag to the compilation flags
345 ## Is unwind information useful
348 bool "Enable Debugging"
351 This turns on debugging support
354 config DEBUG_SHADOW_PAGING
359 This turns on debugging for the shadow paging system
362 config DEBUG_NESTED_PAGING
367 This turns on debugging for the nested paging system
370 config DEBUG_CTRL_REGS
371 bool "Control registers"
375 This turns on debugging for the control register handlers
378 config DEBUG_INTERRUPTS
383 This turns on debugging for the interrupt system
392 This turns on debugging for the IO handlers
395 config DEBUG_EMULATOR
396 bool "Instruction Emulator"
400 This turns on debugging for the Instruction Emulator
408 This turns on debugging for the Xed Decoder
415 This turns on debugging for the halt instruction handler
418 bool "Device Manager"
422 This turns on debugging for the device manager
430 menu "BIOS Selection"
433 string "Path to pre-built ROMBIOS binary"
434 default "./bios/rombios/BIOS-bochs-latest"
436 This is the rombios that will be used for the guests
439 string "Path to pre-built VGABIOS binary"
440 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
442 This is the vgabios that will be used for the guests
444 config VMXASSIST_PATH
445 string "Path to pre-built VMXASSIST binary"
447 default "./bios/vmxassist/vmxassist.bin"
449 This is vmxassist image to boot real mode guests on
455 source "palacios/src/devices/Kconfig"