Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Add interface for power monitoring and telemetry option for power-related statistics
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 71f5f9b..7e231b0 100644 (file)
--- 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,6 +185,27 @@ 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 CHECKPOINT
+       bool "Enable Checkpointing"
+       default n
+       help 
+         Enable checkpointing functionality (save/load VMs)
+
+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
+
+
 endmenu
 
 
@@ -203,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
@@ -294,14 +305,9 @@ config DEBUG_VNET
 
 endmenu
 
-menu "Debug configuration"
-
-config CONFIG_DEBUG_INFO
-       bool "Compile with Debug information"
-       default n
-       help 
-        This adds the -g flag to the compilation flags
+source "palacios/src/gears/Kconfig"
 
+menu "Debug configuration"
 
 ## Is unwind information useful
 
@@ -365,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
@@ -395,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
@@ -402,6 +429,28 @@ 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