1 mainmenu "Palacios VMM Configuration"
3 menu "Target Configuration"
7 prompt "Target Host OS"
12 select BUILT_IN_STDLIB
13 select BUILT_IN_STRCASECMP
15 select ALIGNED_PG_ALLOC
18 This enables the necesary options to compile Palacios with Kitten
22 select BUILT_IN_STDLIB
26 This enables the necessary options to compile Palacios with Linux 2.6
27 Currently, this is in development, and only 2.6.32 is verified to work
32 This enables the necesary options to compile Palacios with Kitten
37 Choose this to compile Palacios for a Generic Host OS
43 bool "Red Storm (Cray XT3/XT4)"
45 Support for Cray XT3 and XT4 systems.
48 bool "AMD SVM Support"
51 Compile with support for AMD SVM
54 bool "Intel VMX Support"
57 Compile with support for Intel VMX
60 menu "Supported host OS features"
63 bool "Host support for multiple threads"
66 Select this if your OS supports multiple threads of execution. This will enable features in Palacios
67 to require the creation of additional execution threads.
70 config ALIGNED_PG_ALLOC
71 bool "Host support for aligned page allocations"
74 Select this if your OS supports allocating memory pages using an alignment. This is required
75 if you want Palacios to run with large page table pages.
78 int "Maximum number of cpus"
82 Specifies the maximum number of hardware CPUs supported by the OS
83 For uniprocessor environments, set this to 1
86 bool "Host Support for file operations"
89 Select this if your host OS supports file operatoins and you want Palacios to be able to use them.
93 bool "Host Support for VM console"
96 Select this if you want to forward a guest console interface to some host OS service
101 bool "Host support for Network Sockets"
104 Select this if you host OS implements a socket API that is available to Palacios. This is required
105 to support the internal networking features of Palacios.
112 bool "Enable VMM telemetry support"
115 Enable the telemetry framework in Palacios
117 This is a framwork that allows components of palacios to record
118 information that is periodically reported to the log output.
119 Telemetry is automatically collected for vmexits. Subsystem telemetry
120 is configured separately
123 config SHADOW_PAGING_TELEMETRY
124 bool "Enable Shadow Paging Telemetry"
128 Enable telemetry information for shadow paging
131 config INSTRUMENT_VMM
132 bool "Enable VMM instrumentation"
135 Enable the instrumentation framework
137 This is much heavier weight than profiling
140 bool "Enable Experimental options"
143 This allows the selection of experimental features. This includes incomplete or unreviewed code.
144 Only enable this feature if you are working on the features in question.
145 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
146 Any code that violates this will be immediately deleted without warning.
148 The purpose of this option is to allow features under development to be committed to the mainline
149 to more easily track changes and provide access to multiple developers
152 depends on EXPERIMENTAL
153 bool "Enable Vnet in Palacios"
156 Enable the Vnet in Palacios
159 depends on EXPERIMENTAL && VNET
160 bool "Enable Vnet Debug in Palacios"
163 Enable the Vnet debug in Palacios
166 depends on EXPERIMENTAL && VNET
167 bool "Enable Vnet Profiling in Palacios"
170 Enable the Vnet performance profiling in Palacios
172 config LINUX_VIRTIO_VNET
173 bool "Enable Virtio VNET interface"
175 depends on PCI && EXPERIMENTAL && VNET
177 Enable the Virtio VNET interface
179 config DEBUG_LINUX_VIRTIO_VNET
180 bool "VNET Virtio Device Debugging"
182 depends on LINUX_VIRTIO_VNET && DEBUG_ON
184 Enable debugging for the VNET Virtio Device
189 source "Kconfig.stdlibs"
193 menu "Virtual Paging"
196 bool "Enable shadow paging"
199 Enables shadow paging for virtual machines
202 config SHADOW_PAGING_VTLB
205 depends on SHADOW_PAGING
207 Enables Virtual TLB implemenation for shadow paging
210 config DEBUG_SHDW_PG_VTLB
211 bool "Enable VTLB debugging"
213 depends on SHADOW_PAGING_VTLB
215 Enables debugging messages for VTLB implementation
220 menu "Symbiotic Functions"
223 bool "Enable Symbiotic Functionality"
226 Enable Symbiotic components of the VMM.
227 This includes the SymSpy interface.
230 bool "Symbiotic upcalls"
232 depends on SYMBIOTIC && EXPERIMENTAL
234 Enables the Symbiotic upcall interface
239 depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
241 This enables the SwapBypass architecture
243 config SWAPBYPASS_TELEMETRY
244 bool "Enable SwapBypass Telemetry"
246 depends on TELEMETRY && SWAPBYPASS
248 Enable the telemetry information for the SwapBypass subsystem
251 bool "Symbiotic Modules"
253 depends on EXPERIMENTAL
254 # depends on SYMBIOTIC
256 Enable Symbiotic module loading
263 menu "Debug configuration"
265 config CONFIG_DEBUG_INFO
266 bool "Compile with Debug information"
269 This adds the -g flag to the compilation flags
272 ## Is unwind information useful
275 bool "Enable Debugging"
278 This turns on debugging support
286 This turns on debugging for the AMD SVM-specific code
293 This turns on debugging for the Intel VT-specific code
296 config DEBUG_SHADOW_PAGING
301 This turns on debugging for the shadow paging system
304 config DEBUG_NESTED_PAGING
309 This turns on debugging for the nested paging system
312 config DEBUG_CTRL_REGS
313 bool "Control registers"
317 This turns on debugging for the control register handlers
320 config DEBUG_INTERRUPTS
325 This turns on debugging for the interrupt system
334 This turns on debugging for the IO handlers
337 config DEBUG_EMULATOR
338 bool "Instruction Emulator"
342 This turns on debugging for the Instruction Emulator
350 This turns on debugging for the Xed Decoder
357 This turns on debugging for the halt instruction handler
360 bool "Device Manager"
364 This turns on debugging for the device manager
372 menu "BIOS Selection"
375 string "Path to pre-built ROMBIOS binary"
376 default "./bios/rombios/BIOS-bochs-latest"
378 This is the rombios that will be used for the guests
381 string "Path to pre-built VGABIOS binary"
382 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
384 This is the vgabios that will be used for the guests
386 config VMXASSIST_PATH
387 string "Path to pre-built VMXASSIST binary"
389 default "./bios/vmxassist/vmxassist.bin"
391 This is vmxassist image to boot real mode guests on
397 source "palacios/src/devices/Kconfig"