X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=Kconfig;h=cfbabb2bbb0534a445b407e96bf679d09eb3faf8;hb=8ff1f595f17c72647db29bd1deb79fab2d88063e;hp=7c72acedd0684e2f580afac703fd51990b2e51bb;hpb=bcba92d4282bcefdae71953e451cdab3b1896a46;p=palacios.git diff --git a/Kconfig b/Kconfig index 7c72ace..cfbabb2 100644 --- a/Kconfig +++ b/Kconfig @@ -13,7 +13,6 @@ 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 @@ -76,6 +75,12 @@ 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 @@ -97,18 +102,21 @@ config V3_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" @@ -125,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" @@ -177,6 +157,14 @@ config SHADOW_PAGING_TELEMETRY 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 EXPERIMENTAL @@ -191,33 +179,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 @@ -259,35 +240,6 @@ config SHADOW_PAGING_CACHE1 endmenu - -menu "Time Management" -config VIRTUALIZE_TIME - bool "Enable Time virtualization" - default n - help - Enables the timer virtualization extensions - -config TIME_HIDE_VM_COST - bool "Hide VMM Run Cost" - default n - depends on VIRTUALIZE_TIME - 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 - a good bit slower than the host in VM-intensive parts of the code. - -config TIME_VIRTUALIZE_TSC - bool "Fully virtualize guest TSC" - default n - depends on VIRTUALIZE_TIME - 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 @@ -329,16 +281,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 @@ -402,6 +365,20 @@ config DEBUG_TIME 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_CPU_MAPPER + bool "CPU Mapper" + default n + depends on DEBUG_ON + help + This turns on debugging for CPU Mapper + config DEBUG_IO bool "IO" default n @@ -418,12 +395,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" @@ -432,6 +409,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 @@ -439,7 +423,26 @@ 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 + +config DEBUG_LOCKS + bool "Lock debugging (if host supports it)" + default n + depends on DEBUG_ON + help + This turns on lock debugging for locks in Palacios and in its host-specifc glue code. This requires host support. + +config DEBUG_MEM_ALLOC + bool "Memory allocation debugging (if host supports it)" + default n + depends on DEBUG_ON + help + This turns on memory allocation debugging in Palacios, using the mechanisms provided by the host endmenu