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
267 This turns on debugging for the AMD SVM-specific code
274 This turns on debugging for the Intel VT-specific code
277 config DEBUG_SHADOW_PAGING
282 This turns on debugging for the shadow paging system
285 config DEBUG_NESTED_PAGING
290 This turns on debugging for the nested paging system
293 config DEBUG_CTRL_REGS
294 bool "Control registers"
298 This turns on debugging for the control register handlers
301 config DEBUG_INTERRUPTS
306 This turns on debugging for the interrupt system
315 This turns on debugging for the IO handlers
318 config DEBUG_EMULATOR
319 bool "Instruction Emulator"
323 This turns on debugging for the Instruction Emulator
331 This turns on debugging for the Xed Decoder
338 This turns on debugging for the halt instruction handler
341 bool "Device Manager"
345 This turns on debugging for the device manager
353 menu "BIOS Selection"
356 string "Path to pre-built ROMBIOS binary"
357 default "./bios/rombios/BIOS-bochs-latest"
359 This is the rombios that will be used for the guests
362 string "Path to pre-built VGABIOS binary"
363 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
365 This is the vgabios that will be used for the guests
367 config VMXASSIST_PATH
368 string "Path to pre-built VMXASSIST binary"
370 default "./bios/vmxassist/vmxassist.bin"
372 This is vmxassist image to boot real mode guests on
378 source "palacios/src/devices/Kconfig"