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.


reorganization of the symbiotic infrastructure
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 1ad2ad9..a9cc6ac 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -2,6 +2,14 @@ mainmenu "Palacios VMM Configuration"
 
 menu "Target Configuration"
 
+
+config KITTEN
+       bool "Set defaults needed for the Kitten OS"
+       default y
+       help
+         This enables the necesary options to compile Palacios with Kitten
+
+
 config CRAY_XT
         bool "Red Storm (Cray XT3/XT4)"
         help
@@ -20,6 +28,23 @@ config VMX
          Compile with support for Intel VMX
 
 
+config MULTITHREAD_OS
+       bool "Compile for a multi threaded OS"
+       default y
+       help 
+         This allows Palacios to use OS thread mechanisms
+
+
+config MAX_CPUS
+       int "Maximum number of cpus"
+       range 1 255
+       default "16"
+       help 
+         Specifies the maximum number of hardware cpus Palacios can support
+
+         For uniprocessor environments, set this to 1
+
+
 config SOCKET
        bool "Include Network Socket Support"
        default y
@@ -28,14 +53,33 @@ config SOCKET
 
 
 
-config PROFILE_VMM
-       bool "Enable VMM profiling support"
-       default y
+
+config TELEMETRY
+       bool "Enable VMM telemetry support"
+       default n
        help 
-         Enable the profiling framework in Palacios
+         Enable the telemetry framework in Palacios
          -----
          This is a framwork that allows components of palacios to record 
-         information that is periodically reported to the log file 
+         information that is periodically reported to the log output.
+         Telemetry is automatically collected for vmexits. Subsystem telemetry 
+         is configured separately
+
+
+config SHADOW_PAGING_TELEMETRY
+       bool "Enable Shadow Paging Telemetry"
+       default y
+       depends on TELEMETRY
+       help
+         Enable telemetry information for shadow paging 
+
+
+config PASSTHROUGH_VIDEO
+       bool "Enable Passthrough Video"
+       default y
+       help 
+         Configures Palacios to map a guest's framebuffer directly 
+         to the hardware framebuffer
 
 config INSTRUMENT_VMM
        bool "Enable VMM instrumentation"
@@ -45,10 +89,57 @@ config INSTRUMENT_VMM
          --------
          This is much heavier weight than profiling
 
+config EXPERIMENTAL
+       bool "Enable Experimental options"
+       default n
+       help 
+         This allows the selection of experimental features. This includes incomplete or unreviewed code. 
+         Only enable this feature if you are working on the features in question. 
+         IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features. 
+         Any code that violates this will be immediately deleted without warning. 
+         -- 
+         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
 
 endmenu
 
 
+source "Kconfig.stdlibs"
+
+
+
+menu "Virtual Paging"
+
+config SHADOW_PAGING
+       bool "Enable shadow paging"
+       default y
+       help 
+          Enables shadow paging for virtual machines
+
+
+config SHADOW_PAGING_VTLB
+       bool "Virtual TLB"
+       default y
+       depends on SHADOW_PAGING
+       help 
+          Enables Virtual TLB implemenation for shadow paging
+
+
+config DEBUG_SHDW_PG_VTLB
+       bool "Enable VTLB debugging"
+       default n
+       depends on SHADOW_PAGING_VTLB
+       help
+         Enables debugging messages for VTLB implementation
+
+endmenu
 
 
 menu "Symbiotic Functions"
@@ -60,6 +151,37 @@ config SYMBIOTIC
          Enable Symbiotic components of the VMM
 
 
+
+config SYMCALL
+       bool "Symbiotic upcalls"
+       default n
+       depends on SYMBIOTIC && EXPERIMENTAL
+       help
+         Enables the Symbiotic upcall interface
+
+config SYMMOD
+       bool "Symbiotic Modules"
+       default n
+       depends on SYMBIOTIC && EXPERIMENTAL
+       help
+         Enable Symbiotic module loading
+
+
+config SYMBIOTIC_SWAP
+       bool "Symbiotic Swap"
+       default n
+       depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
+       help 
+         This enables the symbiotic swap architecture
+
+config SYMBIOTIC_SWAP_TELEMETRY
+       bool "Enable Symbiotic Swap Telemetry"
+       default n
+       depends on TELEMETRY && SYMBIOTIC_SWAP
+       help 
+         Enable the telemetry information for the symbiotic swap subsystem
+
+
 endmenu