1 mainmenu "Palacios VMM Configuration"
3 menu "Target Configuration"
7 prompt "Target Host OS"
12 select BUILT_IN_STDLIB
13 select BUILT_IN_STRCASECMP
16 This enables the necesary options to compile Palacios with Kitten
20 select BUILT_IN_STDLIB
23 This enables the necessary options to compile Palacios with Linux 2.6
24 Currently, this is in development, and only 2.6.32 is verified to work
29 This enables the necesary options to compile Palacios with Kitten
34 Choose this to compile Palacios for a Generic Host OS
40 bool "Red Storm (Cray XT3/XT4)"
42 Support for Cray XT3 and XT4 systems.
45 bool "AMD SVM Support"
48 Compile with support for AMD SVM
51 bool "Intel VMX Support"
54 Compile with support for Intel VMX
58 bool "Compile for a multi threaded OS"
61 This allows Palacios to use OS thread mechanisms
65 int "Maximum number of cpus"
69 Specifies the maximum number of hardware cpus Palacios can support
71 For uniprocessor environments, set this to 1
75 bool "Include Console Support"
78 Enable console support in Palacios
84 bool "Include Network Socket Support"
87 Enable networking support in Palacios
93 bool "Enable VMM telemetry support"
96 Enable the telemetry framework in Palacios
98 This is a framwork that allows components of palacios to record
99 information that is periodically reported to the log output.
100 Telemetry is automatically collected for vmexits. Subsystem telemetry
101 is configured separately
104 config SHADOW_PAGING_TELEMETRY
105 bool "Enable Shadow Paging Telemetry"
109 Enable telemetry information for shadow paging
112 config INSTRUMENT_VMM
113 bool "Enable VMM instrumentation"
116 Enable the instrumentation framework
118 This is much heavier weight than profiling
121 bool "Enable Experimental options"
124 This allows the selection of experimental features. This includes incomplete or unreviewed code.
125 Only enable this feature if you are working on the features in question.
126 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
127 Any code that violates this will be immediately deleted without warning.
129 The purpose of this option is to allow features under development to be committed to the mainline
130 to more easily track changes and provide access to multiple developers
133 depends on EXPERIMENTAL
134 bool "Enable Vnet in Palacios"
137 Enable the Vnet in Palacios
140 depends on EXPERIMENTAL && VNET
141 bool "Enable Vnet Debug in Palacios"
144 Enable the Vnet debug in Palacios
147 depends on EXPERIMENTAL && VNET
148 bool "Enable Vnet Profiling in Palacios"
151 Enable the Vnet performance profiling in Palacios
153 config LINUX_VIRTIO_VNET
154 bool "Enable Virtio VNET interface"
156 depends on PCI && EXPERIMENTAL && VNET
158 Enable the Virtio VNET interface
160 config DEBUG_LINUX_VIRTIO_VNET
161 bool "VNET Virtio Device Debugging"
163 depends on LINUX_VIRTIO_VNET && DEBUG_ON
165 Enable debugging for the VNET Virtio Device
170 source "Kconfig.stdlibs"
174 menu "Virtual Paging"
177 bool "Enable shadow paging"
180 Enables shadow paging for virtual machines
183 config SHADOW_PAGING_VTLB
186 depends on SHADOW_PAGING
188 Enables Virtual TLB implemenation for shadow paging
191 config DEBUG_SHDW_PG_VTLB
192 bool "Enable VTLB debugging"
194 depends on SHADOW_PAGING_VTLB
196 Enables debugging messages for VTLB implementation
201 menu "Symbiotic Functions"
204 bool "Enable Symbiotic Functionality"
207 Enable Symbiotic components of the VMM.
208 This includes the SymSpy interface.
211 bool "Symbiotic upcalls"
213 depends on SYMBIOTIC && EXPERIMENTAL
215 Enables the Symbiotic upcall interface
220 depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
222 This enables the SwapBypass architecture
224 config SWAPBYPASS_TELEMETRY
225 bool "Enable SwapBypass Telemetry"
227 depends on TELEMETRY && SWAPBYPASS
229 Enable the telemetry information for the SwapBypass subsystem
232 bool "Symbiotic Modules"
234 depends on EXPERIMENTAL
235 # depends on SYMBIOTIC
237 Enable Symbiotic module loading
244 menu "Debug configuration"
246 config CONFIG_DEBUG_INFO
247 bool "Compile with Debug information"
250 This adds the -g flag to the compilation flags
253 ## Is unwind information useful
256 bool "Enable Debugging"
259 This turns on debugging support
262 config DEBUG_SHADOW_PAGING
267 This turns on debugging for the shadow paging system
270 config DEBUG_NESTED_PAGING
275 This turns on debugging for the nested paging system
278 config DEBUG_CTRL_REGS
279 bool "Control registers"
283 This turns on debugging for the control register handlers
286 config DEBUG_INTERRUPTS
291 This turns on debugging for the interrupt system
300 This turns on debugging for the IO handlers
303 config DEBUG_EMULATOR
304 bool "Instruction Emulator"
308 This turns on debugging for the Instruction Emulator
316 This turns on debugging for the Xed Decoder
323 This turns on debugging for the halt instruction handler
326 bool "Device Manager"
330 This turns on debugging for the device manager
338 menu "BIOS Selection"
341 string "Path to pre-built ROMBIOS binary"
342 default "./bios/rombios/BIOS-bochs-latest"
344 This is the rombios that will be used for the guests
347 string "Path to pre-built VGABIOS binary"
348 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
350 This is the vgabios that will be used for the guests
352 config VMXASSIST_PATH
353 string "Path to pre-built VMXASSIST binary"
355 default "./bios/vmxassist/vmxassist.bin"
357 This is vmxassist image to boot real mode guests on
363 source "palacios/src/devices/Kconfig"