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
100 bool "Host support for Network Sockets"
103 Select this if you host OS implements a socket API that is available to Palacios. This is required
104 to support the internal networking features of Palacios.
111 bool "Enable VMM telemetry support"
114 Enable the telemetry framework in Palacios
116 This is a framwork that allows components of palacios to record
117 information that is periodically reported to the log output.
118 Telemetry is automatically collected for vmexits. Subsystem telemetry
119 is configured separately
122 config SHADOW_PAGING_TELEMETRY
123 bool "Enable Shadow Paging Telemetry"
127 Enable telemetry information for shadow paging
130 config INSTRUMENT_VMM
131 bool "Enable VMM instrumentation"
134 Enable the instrumentation framework
136 This is much heavier weight than profiling
139 bool "Enable Experimental options"
142 This allows the selection of experimental features. This includes incomplete or unreviewed code.
143 Only enable this feature if you are working on the features in question.
144 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
145 Any code that violates this will be immediately deleted without warning.
147 The purpose of this option is to allow features under development to be committed to the mainline
148 to more easily track changes and provide access to multiple developers
151 depends on EXPERIMENTAL
152 bool "Enable Vnet in Palacios"
155 Enable the Vnet in Palacios
158 depends on EXPERIMENTAL && VNET
159 bool "Enable Vnet Debug in Palacios"
162 Enable the Vnet debug in Palacios
165 depends on EXPERIMENTAL && VNET
166 bool "Enable Vnet Profiling in Palacios"
169 Enable the Vnet performance profiling in Palacios
171 config LINUX_VIRTIO_VNET
172 bool "Enable Virtio VNET interface"
174 depends on PCI && EXPERIMENTAL && VNET
176 Enable the Virtio VNET interface
178 config DEBUG_LINUX_VIRTIO_VNET
179 bool "VNET Virtio Device Debugging"
181 depends on LINUX_VIRTIO_VNET && DEBUG_ON
183 Enable debugging for the VNET Virtio Device
188 source "Kconfig.stdlibs"
191 menu "Virtual Paging"
194 bool "Enable shadow paging"
197 Enables shadow paging for virtual machines
200 config SHADOW_PAGING_VTLB
203 depends on SHADOW_PAGING
205 Enables Virtual TLB implemenation for shadow paging
208 config DEBUG_SHDW_PG_VTLB
209 bool "Enable VTLB debugging"
211 depends on SHADOW_PAGING_VTLB
213 Enables debugging messages for VTLB implementation
215 config SHADOW_PAGING_CACHE1
216 bool "Shadow Page Cache (1)"
218 depends on SHADOW_PAGING
220 Enables caching implemenation for shadow paging
226 menu "Time Management"
228 config TIME_VIRTUALIZE_TSC
229 bool "Virtualize guest TSC"
232 Virtualize the processor time stamp counter in the guest,
233 generally increasing consistency between various time sources
234 but also potentially making guest time run slower than real time.
238 menu "Symbiotic Functions"
241 bool "Enable Symbiotic Functionality"
244 Enable Symbiotic components of the VMM.
245 This includes the SymSpy interface.
248 bool "Symbiotic upcalls"
250 depends on SYMBIOTIC && EXPERIMENTAL
252 Enables the Symbiotic upcall interface
257 depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
259 This enables the SwapBypass architecture
261 config SWAPBYPASS_TELEMETRY
262 bool "Enable SwapBypass Telemetry"
264 depends on TELEMETRY && SWAPBYPASS
266 Enable the telemetry information for the SwapBypass subsystem
269 bool "Symbiotic Modules"
271 depends on EXPERIMENTAL
272 # depends on SYMBIOTIC
274 Enable Symbiotic module loading
281 menu "Debug configuration"
283 config CONFIG_DEBUG_INFO
284 bool "Compile with Debug information"
287 This adds the -g flag to the compilation flags
290 ## Is unwind information useful
293 bool "Enable Debugging"
296 This turns on debugging support
304 This turns on debugging for the AMD SVM-specific code
311 This turns on debugging for the Intel VT-specific code
314 config DEBUG_SHADOW_PAGING
319 This turns on debugging for the shadow paging system
322 config DEBUG_NESTED_PAGING
327 This turns on debugging for the nested paging system
330 config DEBUG_CTRL_REGS
331 bool "Control registers"
335 This turns on debugging for the control register handlers
338 config DEBUG_INTERRUPTS
343 This turns on debugging for the interrupt system
350 This turns on debugging of system time virtualization
357 This turns on debugging for the IO handlers
360 config DEBUG_EMULATOR
361 bool "Instruction Emulator"
365 This turns on debugging for the Instruction Emulator
373 This turns on debugging for the Xed Decoder
380 This turns on debugging for the halt instruction handler
383 bool "Device Manager"
387 This turns on debugging for the device manager
395 menu "BIOS Selection"
398 string "Path to pre-built ROMBIOS binary"
399 default "./bios/rombios/BIOS-bochs-latest"
401 This is the rombios that will be used for the guests
404 string "Path to pre-built VGABIOS binary"
405 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
407 This is the vgabios that will be used for the guests
409 config VMXASSIST_PATH
410 string "Path to pre-built VMXASSIST binary"
412 default "./bios/vmxassist/vmxassist.bin"
414 This is vmxassist image to boot real mode guests on
420 source "palacios/src/devices/Kconfig"