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
25 This enables the necessary options to compile Palacios with Linux 2.6
26 Currently, this is in development, and only 2.6.32 is verified to work
31 This enables the necesary options to compile Palacios with Kitten
36 Choose this to compile Palacios for a Generic Host OS
42 bool "Red Storm (Cray XT3/XT4)"
44 Support for Cray XT3 and XT4 systems.
47 bool "AMD SVM Support"
50 Compile with support for AMD SVM
53 bool "Intel VMX Support"
56 Compile with support for Intel VMX
59 menu "Supported host OS features"
62 bool "Host support for multiple threads"
65 Select this if your OS supports multiple threads of execution. This will enable features in Palacios
66 to require the creation of additional execution threads.
69 config ALIGNED_PG_ALLOC
70 bool "Host support for aligned page allocations"
73 Select this if your OS supports allocating memory pages using an alignment. This is required
74 if you want Palacios to run with large page table pages.
77 int "Maximum number of cpus"
81 Specifies the maximum number of hardware CPUs supported by the OS
82 For uniprocessor environments, set this to 1
86 bool "Host Support for VM console"
89 Select this if you want to forward a guest console interface to some host OS service
94 bool "Host support for Network Sockets"
97 Select this if you host OS implements a socket API that is available to Palacios. This is required
98 to support the internal networking features of Palacios.
105 bool "Enable VMM telemetry support"
108 Enable the telemetry framework in Palacios
110 This is a framwork that allows components of palacios to record
111 information that is periodically reported to the log output.
112 Telemetry is automatically collected for vmexits. Subsystem telemetry
113 is configured separately
116 config SHADOW_PAGING_TELEMETRY
117 bool "Enable Shadow Paging Telemetry"
121 Enable telemetry information for shadow paging
124 config INSTRUMENT_VMM
125 bool "Enable VMM instrumentation"
128 Enable the instrumentation framework
130 This is much heavier weight than profiling
133 bool "Enable Experimental options"
136 This allows the selection of experimental features. This includes incomplete or unreviewed code.
137 Only enable this feature if you are working on the features in question.
138 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
139 Any code that violates this will be immediately deleted without warning.
141 The purpose of this option is to allow features under development to be committed to the mainline
142 to more easily track changes and provide access to multiple developers
145 depends on EXPERIMENTAL
146 bool "Enable Vnet in Palacios"
149 Enable the Vnet in Palacios
152 depends on EXPERIMENTAL && VNET
153 bool "Enable Vnet Debug in Palacios"
156 Enable the Vnet debug in Palacios
159 depends on EXPERIMENTAL && VNET
160 bool "Enable Vnet Profiling in Palacios"
163 Enable the Vnet performance profiling in Palacios
165 config LINUX_VIRTIO_VNET
166 bool "Enable Virtio VNET interface"
168 depends on PCI && EXPERIMENTAL && VNET
170 Enable the Virtio VNET interface
172 config DEBUG_LINUX_VIRTIO_VNET
173 bool "VNET Virtio Device Debugging"
175 depends on LINUX_VIRTIO_VNET && DEBUG_ON
177 Enable debugging for the VNET Virtio Device
182 source "Kconfig.stdlibs"
186 menu "Virtual Paging"
189 bool "Enable shadow paging"
192 Enables shadow paging for virtual machines
195 config SHADOW_PAGING_VTLB
198 depends on SHADOW_PAGING
200 Enables Virtual TLB implemenation for shadow paging
203 config DEBUG_SHDW_PG_VTLB
204 bool "Enable VTLB debugging"
206 depends on SHADOW_PAGING_VTLB
208 Enables debugging messages for VTLB implementation
213 menu "Symbiotic Functions"
216 bool "Enable Symbiotic Functionality"
219 Enable Symbiotic components of the VMM.
220 This includes the SymSpy interface.
223 bool "Symbiotic upcalls"
225 depends on SYMBIOTIC && EXPERIMENTAL
227 Enables the Symbiotic upcall interface
232 depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
234 This enables the SwapBypass architecture
236 config SWAPBYPASS_TELEMETRY
237 bool "Enable SwapBypass Telemetry"
239 depends on TELEMETRY && SWAPBYPASS
241 Enable the telemetry information for the SwapBypass subsystem
244 bool "Symbiotic Modules"
246 depends on EXPERIMENTAL
247 # depends on SYMBIOTIC
249 Enable Symbiotic module loading
256 menu "Debug configuration"
258 config CONFIG_DEBUG_INFO
259 bool "Compile with Debug information"
262 This adds the -g flag to the compilation flags
265 ## Is unwind information useful
268 bool "Enable Debugging"
271 This turns on debugging support
279 This turns on debugging for the AMD SVM-specific code
286 This turns on debugging for the Intel VT-specific code
289 config DEBUG_SHADOW_PAGING
294 This turns on debugging for the shadow paging system
297 config DEBUG_NESTED_PAGING
302 This turns on debugging for the nested paging system
305 config DEBUG_CTRL_REGS
306 bool "Control registers"
310 This turns on debugging for the control register handlers
313 config DEBUG_INTERRUPTS
318 This turns on debugging for the interrupt system
327 This turns on debugging for the IO handlers
330 config DEBUG_EMULATOR
331 bool "Instruction Emulator"
335 This turns on debugging for the Instruction Emulator
343 This turns on debugging for the Xed Decoder
350 This turns on debugging for the halt instruction handler
353 bool "Device Manager"
357 This turns on debugging for the device manager
365 menu "BIOS Selection"
368 string "Path to pre-built ROMBIOS binary"
369 default "./bios/rombios/BIOS-bochs-latest"
371 This is the rombios that will be used for the guests
374 string "Path to pre-built VGABIOS binary"
375 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
377 This is the vgabios that will be used for the guests
379 config VMXASSIST_PATH
380 string "Path to pre-built VMXASSIST binary"
382 default "./bios/vmxassist/vmxassist.bin"
384 This is vmxassist image to boot real mode guests on
390 source "palacios/src/devices/Kconfig"