X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=Kconfig;h=7e231b00e49679aac4d65f3e3e0bbb861cad6409;hb=d57f8d9bfe308d853e37f0eebd3fe58f04d8739b;hp=42416273052a6c6d7c634e080bc151409c72f806;hpb=f08319bfe39e47f1d2e003b48087affa7190c997;p=palacios.git diff --git a/Kconfig b/Kconfig index 4241627..7e231b0 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" @@ -149,7 +157,21 @@ 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 PWRSTAT_TELEMETRY + bool "Enable power statistics telemetry" + default n + depends on TELEMETRY && HOST_PWRSTAT + help + Enable telemetry information for power/energy counters + config EXPERIMENTAL bool "Enable Experimental options" @@ -163,38 +185,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 INSPECTOR - bool "Enable VM inspection" - depends on EXPERIMENTAL +config CHECKPOINT + bool "Enable Checkpointing" default n help - Enable inspection framework for vm internal state + Enable checkpointing functionality (save/load VMs) -config SYSCALL_HIJACK - bool "Enable System Call Interposition" - depends on EXPERIMENTAL - default n - help - Enable the VMM to hijack system calls executed by the guest. - If enabled, the VMM will intercept software interrupt (INT) instructions, - Fast-System Call instructions (SYSENTER, SYSCALL), and the LIDT instruction +config LIVE_MIGRATION + bool "Enable Live Migration" + depends on CHECKPOINT + default n + help + Enable live migration functionality (send/receive VMs) + +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 HIJACK_SYSCALL_MSR - bool "Intercept Syscall-related MSR reads & writes" - depends on SYSCALL_HIJACK - default n - help - Allow the VMM to intercept reads and writes to MSRs - related to SYSCALL and SYSENTER instructions. Specifically, - it will intercept R/W to STAR, CSTAR, and LSTAR. endmenu @@ -236,38 +246,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 @@ -309,16 +287,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 @@ -382,6 +371,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 @@ -412,6 +415,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 @@ -419,20 +429,27 @@ config DEBUG_DEV_MGR help This turns on debugging for the device manager -config DEBUG_VNET - depends on EXPERIMENTAL && VNET - bool "Enable Vnet Debug in Palacios" - default n - help - Enable the Vnet debug in Palacios +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 -config DEBUG_SYSCALL_HIJACK - bool "Enable Syscall hijack Debug in Palacios" - default n - depends on EXPERIMENTAL && SYSCALL_HIJACK && DEBUG_ON - help - Enable Debugging printouts for syscall hijacking - code in Palacios endmenu