mainmenu "Palacios VMM Configuration"
-config x86_64
- bool
- default y
+menu "Target Configuration"
+
+
+choice
+ prompt "Target Host OS"
+ default KITTEN
+
+config KITTEN
+ bool "Kitten OS"
+ select BUILT_IN_STDLIB
+ select BUILT_IN_STRCASECMP
+ select BUILT_IN_ATOI
help
- Support for the x86-64 architecture.
+ This enables the necesary options to compile Palacios with Kitten
+config MINIX
+ bool "MINIX 3"
+ help
+ This enables the necesary options to compile Palacios with Kitten
-menu "Target Configuration"
+config OTHER_OS
+ bool "Other OS"
+ help
+ Choose this to compile Palacios for a Generic Host OS
+
+endchoice
config CRAY_XT
bool "Red Storm (Cray XT3/XT4)"
default y
help
Compile with support for Intel VMX
+
+
+config MULTITHREAD_OS
+ bool "Compile for a multi threaded OS"
+ default y
+ help
+ This allows Palacios to use OS thread mechanisms
+
+
+config MAX_CPUS
+ int "Maximum number of cpus"
+ range 1 255
+ default "16"
+ help
+ Specifies the maximum number of hardware cpus Palacios can support
+
+ For uniprocessor environments, set this to 1
+
+
+config CONSOLE
+ bool "Include Console Support"
+ default n
+ help
+ Enable console support in Palacios
+
+
+
+
+config SOCKET
+ bool "Include Network Socket Support"
+ default y
+ help
+ Enable networking support in Palacios
+
+
+
+
+config TELEMETRY
+ bool "Enable VMM telemetry support"
+ default n
+ help
+ Enable the telemetry framework in Palacios
+ -----
+ This is a framwork that allows components of palacios to record
+ information that is periodically reported to the log output.
+ Telemetry is automatically collected for vmexits. Subsystem telemetry
+ is configured separately
+
+
+config SHADOW_PAGING_TELEMETRY
+ bool "Enable Shadow Paging Telemetry"
+ default y
+ depends on TELEMETRY
+ help
+ Enable telemetry information for shadow paging
+
+
+config INSTRUMENT_VMM
+ bool "Enable VMM instrumentation"
+ default n
+ help
+ Enable the instrumentation framework
+ --------
+ This is much heavier weight than profiling
+
+config EXPERIMENTAL
+ bool "Enable Experimental options"
+ default n
+ help
+ This allows the selection of experimental features. This includes incomplete or unreviewed code.
+ Only enable this feature if you are working on the features in question.
+ IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features.
+ Any code that violates this will be immediately deleted without warning.
+ --
+ The purpose of this option is to allow features under development to be committed to the mainline
+ to more easily track changes and provide access to multiple developers
+
+config VNET
+ depends on EXPERIMENTAL
+ bool "Enable Vnet in Palacios"
+ default n
+ help
+ Enable the Vnet in Palacios
+
+config DEBUG_VNET
+ depends on EXPERIMENTAL && VNET
+ bool "Enable Vnet Debug in Palacios"
+ default n
+ help
+ Enable the Vnet debug in Palacios
+
+config VNET_PROFILE
+ depends on EXPERIMENTAL && VNET
+ bool "Enable Vnet Profiling in Palacios"
+ default n
+ help
+ Enable the Vnet performance profiling in Palacios
+
+config LINUX_VIRTIO_VNET
+ bool "Enable Virtio VNET interface"
+ default n
+ depends on PCI && EXPERIMENTAL && VNET
+ help
+ Enable the Virtio VNET interface
+
+config DEBUG_LINUX_VIRTIO_VNET
+ bool "VNET Virtio Device Debugging"
+ default n
+ depends on LINUX_VIRTIO_VNET && DEBUG_ON
+ help
+ Enable debugging for the VNET Virtio Device
+
endmenu
-menu "Virtual Devices"
+source "Kconfig.stdlibs"
+
-config APIC
- bool "APIC"
+
+menu "Virtual Paging"
+
+config SHADOW_PAGING
+ bool "Enable shadow paging"
default y
help
- "Includes the Virtual APIC device"
+ Enables shadow paging for virtual machines
+
+
+config SHADOW_PAGING_VTLB
+ bool "Virtual TLB"
+ default y
+ depends on SHADOW_PAGING
+ help
+ Enables Virtual TLB implemenation for shadow paging
+
+
+config DEBUG_SHDW_PG_VTLB
+ bool "Enable VTLB debugging"
+ default n
+ depends on SHADOW_PAGING_VTLB
+ help
+ Enables debugging messages for VTLB implementation
+
+endmenu
+
+
+menu "Symbiotic Functions"
+
+config SYMBIOTIC
+ bool "Enable Symbiotic Functionality"
+ default n
+ help
+ Enable Symbiotic components of the VMM.
+ This includes the SymSpy interface.
+
+config SYMCALL
+ bool "Symbiotic upcalls"
+ default n
+ depends on SYMBIOTIC && EXPERIMENTAL
+ help
+ Enables the Symbiotic upcall interface
+
+config SWAPBYPASS
+ bool "SwapBypass"
+ default n
+ depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
+ help
+ This enables the SwapBypass architecture
+
+config SWAPBYPASS_TELEMETRY
+ bool "Enable SwapBypass Telemetry"
+ default n
+ depends on TELEMETRY && SWAPBYPASS
+ help
+ Enable the telemetry information for the SwapBypass subsystem
+
+menuconfig SYMMOD
+ bool "Symbiotic Modules"
+ default n
+ depends on EXPERIMENTAL
+# depends on SYMBIOTIC
+ help
+ Enable Symbiotic module loading
+
endmenu
This turns on debugging support
-
+config DEBUG_SHADOW_PAGING
+ bool "Shadow paging"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the shadow paging system
+
+
+config DEBUG_NESTED_PAGING
+ bool "Nested paging"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the nested paging system
+
+
+config DEBUG_CTRL_REGS
+ bool "Control registers"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the control register handlers
-config DEBUG_PIC
- bool "PIC"
+config DEBUG_INTERRUPTS
+ bool "Interrupts"
+ default n
depends on DEBUG_ON
help
- Enable debugging for the PIC
+ This turns on debugging for the interrupt system
+
+
-config DEBUG_APIC
- bool "APIC"
- depends on DEBUG_ON && APIC
+config DEBUG_IO
+ bool "IO"
+ default n
+ depends on DEBUG_ON
help
- Enable debugging for the APIC
+ This turns on debugging for the IO handlers
+
+
+config DEBUG_EMULATOR
+ bool "Instruction Emulator"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the Instruction Emulator
+
+
+config DEBUG_XED
+ bool "XED"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the Xed Decoder
+
+config DEBUG_HALT
+ bool "Halt"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the halt instruction handler
+
+config DEBUG_DEV_MGR
+ bool "Device Manager"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the device manager
help
This is the vgabios that will be used for the guests
+config VMXASSIST_PATH
+ string "Path to pre-built VMXASSIST binary"
+ depends on VMX
+ default "./bios/vmxassist/vmxassist.bin"
+ help
+ This is vmxassist image to boot real mode guests on
+ Intel VMX Platforms
+
endmenu
-#source "net/Kconfig"
+
+source "palacios/src/devices/Kconfig"