select BUILT_IN_STRCASECMP
select BUILT_IN_ATOI
select ALIGNED_PG_ALLOC
- select MULTITHREAD_OS
help
This enables the necesary options to compile Palacios with Kitten
-config LINUX
- bool "Linux 2.6"
+config LINUX_BUILTIN
+ bool "OLD Linux (Built in) -- to be deprecated"
select BUILT_IN_STDLIB
select BUILT_IN_ATOI
select FILE
This enables the necessary options to compile Palacios with Linux 2.6
Currently, this is in development, and only 2.6.32 is verified to work
+
+config LINUX
+ bool "Linux Module"
+ select BUILT_IN_STDLIB
+ select BUILT_IN_STRDUP
+ select BUILT_IN_ATOI
+ select FILE
+ select V3_DECODER
+ help
+ This enables the necessary options to compile Palacios as a Linux module
+
+
+config LINUX_KERN
+ depends on LINUX
+ string "Linux Kernel Source directory"
+ default "/usr/src/linux"
+ help
+ This is the directory containing the linux source for the kernel module to be built
+
config MINIX
bool "MINIX 3"
help
Compile with support for Intel VMX
+config FRAME_POINTER
+ bool "Compile with Frame pointers"
+ default n
+ help
+ Compiles the Palacios library with Frame pointers
+
+config DEBUG_INFO
+ bool "Compile with Debug Information"
+ default n
+ help
+ Compiles the Palacios library with debugging symbols
+
+choice
+ prompt "X86 decoder"
+ default XED
+
+config XED
+ bool "XED decoder library"
+ depends on !LINUX
+ help
+ This uses the XED decoder library from pintools
+
+config V3_DECODER
+ bool "Internal Palacios decoder"
+ help
+ This selects the internal V3Vee x86 decoder
+
+config QUIX86
+ bool "QUIX86 decoder"
+ help
+ This selects the QUIX86 decoder library
+
+config QUIX86_DEBUG
+ bool "QUIX86 decoder debug version"
+ help
+ This selects the QUIX86 decoder library compiled w/o optimization
+ and with debug info
+
+endchoice
+
menu "Supported host OS features"
-config MULTITHREAD_OS
- bool "Host support for multiple threads"
- default y
- help
- Select this if your OS supports multiple threads of execution. This will enable features in Palacios
- to require the creation of additional execution threads.
-
config ALIGNED_PG_ALLOC
bool "Host support for aligned page allocations"
Specifies the maximum number of hardware CPUs supported by the OS
For uniprocessor environments, set this to 1
-config FILE
- bool "Host Support for file operations"
- default n
- help
- Select this if your host OS supports file operatoins and you want Palacios to be able to use them.
-
-
-config CONSOLE
- bool "Host Support for VM console"
- default n
- help
- Select this if you want to forward a guest console interface to some host OS service
-
-
-config SOCKET
- bool "Host support for Network Sockets"
- default y
- help
- Select this if you host OS implements a socket API that is available to Palacios. This is required
- to support the internal networking features of Palacios.
-
endmenu
-
+source "palacios/src/interfaces/Kconfig"
+source "palacios/src/extensions/Kconfig"
config TELEMETRY
bool "Enable VMM telemetry support"
help
Enable telemetry information for shadow paging
+config PMU_TELEMETRY
+ bool "Enable PMU telemetry"
+ default n
+ depends on TELEMETRY && HOST_PMU
+ help
+ Enable telemetry information for a range of PMU counters
+ This causes the currently configured PMU counts to be printed
+
-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"
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 CHECKPOINT
+ bool "Enable Checkpointing"
+ default n
+ help
+ Enable checkpointing functionality (save/load VMs)
-config VNET_PROFILE
- depends on EXPERIMENTAL && VNET
- bool "Enable Vnet Profiling in Palacios"
+config LIVE_MIGRATION
+ bool "Enable Live Migration"
+ depends on CHECKPOINT
default n
help
- Enable the Vnet performance profiling in Palacios
+ Enable live migration functionality (send/receive VMs)
-config LINUX_VIRTIO_VNET
- bool "Enable Virtio VNET interface"
- default n
- depends on PCI && EXPERIMENTAL && VNET
- help
- Enable the Virtio VNET interface
+config DEBUG_CHECKPOINT
+ bool "Enable Checkpointing and Live Migration Debugging Output"
+ depends on CHECKPOINT
+ default n
+ help
+ Generate output from the debugging statements in checkpointing and live migration
-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
source "Kconfig.stdlibs"
-
menu "Virtual Paging"
config SHADOW_PAGING
help
Enables debugging messages for VTLB implementation
-endmenu
+config SHADOW_PAGING_CACHE1
+ bool "Shadow Page Cache (1)"
+ default y
+ depends on SHADOW_PAGING
+ help
+ Enables caching implemenation for shadow paging
+
+endmenu
menu "Symbiotic Functions"
endmenu
+menu "VNET"
+config VNET
+ bool "Enable Vnet in Palacios"
+ default n
+ help
+ Enable the Vnet in Palacios
-menu "Debug configuration"
+config DEBUG_VNET
+ depends on VNET
+ bool "Enable Vnet Debug in Palacios"
+ default n
+ help
+ Enable the Vnet debug in Palacios
-config CONFIG_DEBUG_INFO
- bool "Compile with Debug information"
- default n
- help
- This adds the -g flag to the compilation flags
+endmenu
+
+source "palacios/src/gears/Kconfig"
+
+menu "Debug configuration"
## Is unwind information useful
help
This turns on debugging for the interrupt system
+config DEBUG_TIME
+ bool "Timing"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging of system time virtualization
+config DEBUG_SCHEDULER
+ bool "Scheduler"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for scheduler
config DEBUG_IO
bool "IO"
This turns on debugging for the Instruction Emulator
-config DEBUG_XED
- bool "XED"
+config DEBUG_DECODER
+ bool "Instruction Decoder"
default n
depends on DEBUG_ON
help
- This turns on debugging for the Xed Decoder
+ This turns on debugging for the selected instruction decoder
config DEBUG_HALT
bool "Halt"
help
This turns on debugging for the halt instruction handler
+config DEBUG_MWAIT
+ bool "MWAIT/MONITOR"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for the mwait and monitor instruction handlers
+
config DEBUG_DEV_MGR
bool "Device Manager"
default n
help
This turns on debugging for the device manager
-
-
+config DEBUG_MEM_ERRORS
+ bool "Verbose memory errors"
+ default n
+ depends on DEBUG_ON
+ help
+ This turns on debugging for memory translations and lookups
endmenu