X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=Kconfig;h=1d21516fce7b643caf2f9d87d23dea30119195c3;hb=13843de52d67d647f8ef05f736dc8f7d8be6adb3;hp=0eb969231eda21b3d5b2148fd386a8ddbff6554b;hpb=89034c39d340e3f6b24a8288ceeb506ddbdf7057;p=palacios.git diff --git a/Kconfig b/Kconfig index 0eb9692..1d21516 100644 --- a/Kconfig +++ b/Kconfig @@ -13,12 +13,11 @@ config KITTEN 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 @@ -26,6 +25,25 @@ config LINUX 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 @@ -57,22 +75,48 @@ config VMX 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" @@ -89,38 +133,10 @@ config MAX_CPUS 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. - - -config PACKET - bool "Host support for Raw Packet Transmision" - depends on EXPERIMENTAL - default n - help - Select this if you host OS implements a raw packet network 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" @@ -155,33 +171,26 @@ config EXPERIMENTAL 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 CHECKPOINT + bool "Enable Checkpointing" + default n + help + Enable checkpointing functionality (save/load VMs) -config DEBUG_VNET - depends on EXPERIMENTAL && VNET - bool "Enable Vnet Debug in Palacios" - default n - help - Enable the Vnet debug in Palacios +config LIVE_MIGRATION + bool "Enable Live Migration" + depends on CHECKPOINT + default n + help + 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 "Virtio VNET Interface Debugging" - default n - depends on LINUX_VIRTIO_VNET && DEBUG_ON - help - Enable debugging for the VNET Virtio interface endmenu @@ -223,45 +232,6 @@ config SHADOW_PAGING_CACHE1 endmenu - -menu "Time Management" - -config TIME_HIDE_VM_COST - bool "Hide VMM Run Cost" - default n - help - Offset guest time from host time sufficiently to hide the cost of - running in the virtual machine. This can aid the consistency of - time between multiple timers, but can cause the guest to run - slightly slower than the host. - -config TIME_HIDE_EXIT_COST - bool "Hide VMM Exit Cost" - default n - depends on TIME_HIDE_VM_COST - help - Add additional TSC offset to hide VMM exit costs from the guest. - -config TIME_EXIT_COST_ADJUST - int "Exit cost adjustment for hiding VM exits" - default 2000 - depends on TIME_HIDE_EXIT_COST - help - Amount to adjust the time to hide the exit cost of fully virtualizing - the timestamp counter. Used to hide the cost of fully virtualizing - the TSC for OSes that assume that reading the TSC is inexpensive - (e.g. Linux TSC-based timer calibration). - -config TIME_VIRTUALIZE_TSC - bool "Fully virtualize guest TSC" - default n - help - Virtualize the processor time stamp counter in the guest, - generally increasing consistency between various time sources - but also potentially making guest time run slower than real time. - -endmenu - menu "Symbiotic Functions" config SYMBIOTIC @@ -303,16 +273,27 @@ menuconfig SYMMOD 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 @@ -392,12 +373,12 @@ config DEBUG_EMULATOR 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" @@ -406,6 +387,13 @@ config DEBUG_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 @@ -413,8 +401,12 @@ config DEBUG_DEV_MGR 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