1 mainmenu "Palacios VMM Configuration"
3 menu "Target Configuration"
7 bool "Set defaults needed for the Kitten OS"
10 This enables the necesary options to compile Palacios with Kitten
14 bool "Red Storm (Cray XT3/XT4)"
16 Support for Cray XT3 and XT4 systems.
19 bool "AMD SVM Support"
22 Compile with support for AMD SVM
25 bool "Intel VMX Support"
28 Compile with support for Intel VMX
32 bool "Compile for a multi threaded OS"
35 This allows Palacios to use OS thread mechanisms
39 int "Maximum number of cpus"
43 Specifies the maximum number of hardware cpus Palacios can support
45 For uniprocessor environments, set this to 1
49 bool "Include Console Support"
52 Enable console support in Palacios
58 bool "Include Network Socket Support"
61 Enable networking support in Palacios
67 bool "Enable VMM telemetry support"
70 Enable the telemetry framework in Palacios
72 This is a framwork that allows components of palacios to record
73 information that is periodically reported to the log output.
74 Telemetry is automatically collected for vmexits. Subsystem telemetry
75 is configured separately
78 config SHADOW_PAGING_TELEMETRY
79 bool "Enable Shadow Paging Telemetry"
83 Enable telemetry information for shadow paging
87 bool "Enable VMM instrumentation"
90 Enable the instrumentation framework
92 This is much heavier weight than profiling
95 bool "Enable Experimental options"
98 This allows the selection of experimental features. This includes incomplete or unreviewed code.
99 Only enable this feature if you are working on the features in question.
100 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
101 Any code that violates this will be immediately deleted without warning.
103 The purpose of this option is to allow features under development to be committed to the mainline
104 to more easily track changes and provide access to multiple developers
107 depends on EXPERIMENTAL
108 bool "Enable Vnet in Palacios"
111 Enable the Vnet in Palacios
114 depends on EXPERIMENTAL && VNET
115 bool "Enable Vnet Debug in Palacios"
118 Enable the Vnet debug in Palacios
121 depends on EXPERIMENTAL && VNET
122 bool "Enable Vnet Profiling in Palacios"
125 Enable the Vnet performance profiling in Palacios
127 config LINUX_VIRTIO_VNET
128 bool "Enable Virtio VNET interface"
130 depends on PCI && EXPERIMENTAL && VNET
132 Enable the Virtio VNET interface
134 config DEBUG_LINUX_VIRTIO_VNET
135 bool "VNET Virtio Device Debugging"
137 depends on LINUX_VIRTIO_VNET && DEBUG_ON
139 Enable debugging for the VNET Virtio Device
144 source "Kconfig.stdlibs"
148 menu "Virtual Paging"
151 bool "Enable shadow paging"
154 Enables shadow paging for virtual machines
157 config SHADOW_PAGING_VTLB
160 depends on SHADOW_PAGING
162 Enables Virtual TLB implemenation for shadow paging
165 config DEBUG_SHDW_PG_VTLB
166 bool "Enable VTLB debugging"
168 depends on SHADOW_PAGING_VTLB
170 Enables debugging messages for VTLB implementation
175 menu "Symbiotic Functions"
178 bool "Enable Symbiotic Functionality"
181 Enable Symbiotic components of the VMM.
182 This includes the SymSpy interface.
185 bool "Symbiotic upcalls"
187 depends on SYMBIOTIC && EXPERIMENTAL
189 Enables the Symbiotic upcall interface
194 depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
196 This enables the SwapBypass architecture
198 config SWAPBYPASS_TELEMETRY
199 bool "Enable SwapBypass Telemetry"
201 depends on TELEMETRY && SWAPBYPASS
203 Enable the telemetry information for the SwapBypass subsystem
206 bool "Symbiotic Modules"
208 depends on EXPERIMENTAL
209 # depends on SYMBIOTIC
211 Enable Symbiotic module loading
218 menu "Debug configuration"
220 config CONFIG_DEBUG_INFO
221 bool "Compile with Debug information"
224 This adds the -g flag to the compilation flags
227 ## Is unwind information useful
230 bool "Enable Debugging"
233 This turns on debugging support
236 config DEBUG_SHADOW_PAGING
241 This turns on debugging for the shadow paging system
244 config DEBUG_NESTED_PAGING
249 This turns on debugging for the nested paging system
252 config DEBUG_CTRL_REGS
253 bool "Control registers"
257 This turns on debugging for the control register handlers
260 config DEBUG_INTERRUPTS
265 This turns on debugging for the interrupt system
274 This turns on debugging for the IO handlers
277 config DEBUG_EMULATOR
278 bool "Instruction Emulator"
282 This turns on debugging for the Instruction Emulator
290 This turns on debugging for the Xed Decoder
297 This turns on debugging for the halt instruction handler
300 bool "Device Manager"
304 This turns on debugging for the device manager
312 menu "BIOS Selection"
315 string "Path to pre-built ROMBIOS binary"
316 default "./bios/rombios/BIOS-bochs-latest"
318 This is the rombios that will be used for the guests
321 string "Path to pre-built VGABIOS binary"
322 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
324 This is the vgabios that will be used for the guests
326 config VMXASSIST_PATH
327 string "Path to pre-built VMXASSIST binary"
329 default "./bios/vmxassist/vmxassist.bin"
331 This is vmxassist image to boot real mode guests on
337 source "palacios/src/devices/Kconfig"