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
21 This enables the necesary options to compile Palacios with Kitten
26 Choose this to compile Palacios for a Generic Host OS
31 bool "Red Storm (Cray XT3/XT4)"
33 Support for Cray XT3 and XT4 systems.
36 bool "AMD SVM Support"
39 Compile with support for AMD SVM
42 bool "Intel VMX Support"
45 Compile with support for Intel VMX
49 bool "Compile for a multi threaded OS"
52 This allows Palacios to use OS thread mechanisms
56 int "Maximum number of cpus"
60 Specifies the maximum number of hardware cpus Palacios can support
62 For uniprocessor environments, set this to 1
66 bool "Include Console Support"
69 Enable console support in Palacios
75 bool "Include Network Socket Support"
78 Enable networking support in Palacios
84 bool "Enable VMM telemetry support"
87 Enable the telemetry framework in Palacios
89 This is a framwork that allows components of palacios to record
90 information that is periodically reported to the log output.
91 Telemetry is automatically collected for vmexits. Subsystem telemetry
92 is configured separately
95 config SHADOW_PAGING_TELEMETRY
96 bool "Enable Shadow Paging Telemetry"
100 Enable telemetry information for shadow paging
103 config INSTRUMENT_VMM
104 bool "Enable VMM instrumentation"
107 Enable the instrumentation framework
109 This is much heavier weight than profiling
112 bool "Enable Experimental options"
115 This allows the selection of experimental features. This includes incomplete or unreviewed code.
116 Only enable this feature if you are working on the features in question.
117 IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
118 Any code that violates this will be immediately deleted without warning.
120 The purpose of this option is to allow features under development to be committed to the mainline
121 to more easily track changes and provide access to multiple developers
124 depends on EXPERIMENTAL
125 bool "Enable Vnet in Palacios"
128 Enable the Vnet in Palacios
131 depends on EXPERIMENTAL && VNET
132 bool "Enable Vnet Debug in Palacios"
135 Enable the Vnet debug in Palacios
138 depends on EXPERIMENTAL && VNET
139 bool "Enable Vnet Profiling in Palacios"
142 Enable the Vnet performance profiling in Palacios
144 config LINUX_VIRTIO_VNET
145 bool "Enable Virtio VNET interface"
147 depends on PCI && EXPERIMENTAL && VNET
149 Enable the Virtio VNET interface
151 config DEBUG_LINUX_VIRTIO_VNET
152 bool "VNET Virtio Device Debugging"
154 depends on LINUX_VIRTIO_VNET && DEBUG_ON
156 Enable debugging for the VNET Virtio Device
161 source "Kconfig.stdlibs"
165 menu "Virtual Paging"
168 bool "Enable shadow paging"
171 Enables shadow paging for virtual machines
174 config SHADOW_PAGING_VTLB
177 depends on SHADOW_PAGING
179 Enables Virtual TLB implemenation for shadow paging
182 config DEBUG_SHDW_PG_VTLB
183 bool "Enable VTLB debugging"
185 depends on SHADOW_PAGING_VTLB
187 Enables debugging messages for VTLB implementation
192 menu "Symbiotic Functions"
195 bool "Enable Symbiotic Functionality"
198 Enable Symbiotic components of the VMM.
199 This includes the SymSpy interface.
202 bool "Symbiotic upcalls"
204 depends on SYMBIOTIC && EXPERIMENTAL
206 Enables the Symbiotic upcall interface
211 depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
213 This enables the SwapBypass architecture
215 config SWAPBYPASS_TELEMETRY
216 bool "Enable SwapBypass Telemetry"
218 depends on TELEMETRY && SWAPBYPASS
220 Enable the telemetry information for the SwapBypass subsystem
223 bool "Symbiotic Modules"
225 depends on EXPERIMENTAL
226 # depends on SYMBIOTIC
228 Enable Symbiotic module loading
235 menu "Debug configuration"
237 config CONFIG_DEBUG_INFO
238 bool "Compile with Debug information"
241 This adds the -g flag to the compilation flags
244 ## Is unwind information useful
247 bool "Enable Debugging"
250 This turns on debugging support
253 config DEBUG_SHADOW_PAGING
258 This turns on debugging for the shadow paging system
261 config DEBUG_NESTED_PAGING
266 This turns on debugging for the nested paging system
269 config DEBUG_CTRL_REGS
270 bool "Control registers"
274 This turns on debugging for the control register handlers
277 config DEBUG_INTERRUPTS
282 This turns on debugging for the interrupt system
291 This turns on debugging for the IO handlers
294 config DEBUG_EMULATOR
295 bool "Instruction Emulator"
299 This turns on debugging for the Instruction Emulator
307 This turns on debugging for the Xed Decoder
314 This turns on debugging for the halt instruction handler
317 bool "Device Manager"
321 This turns on debugging for the device manager
329 menu "BIOS Selection"
332 string "Path to pre-built ROMBIOS binary"
333 default "./bios/rombios/BIOS-bochs-latest"
335 This is the rombios that will be used for the guests
338 string "Path to pre-built VGABIOS binary"
339 default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
341 This is the vgabios that will be used for the guests
343 config VMXASSIST_PATH
344 string "Path to pre-built VMXASSIST binary"
346 default "./bios/vmxassist/vmxassist.bin"
348 This is vmxassist image to boot real mode guests on
354 source "palacios/src/devices/Kconfig"