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.


Fix interrupt injection bug due to caching irq vectors after vector mappings have...
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index a31a781..3c9ccf7 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,22 +28,65 @@ 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
+       default n
        help 
          Enable networking support in Palacios
 
 
 
-config PROFILE_VMM
-       bool "Enable VMM profiling support"
+
+config TELEMETRY
+       bool "Enable VMM telemetry support"
        default y
        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 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
+
+
+config PASSTHROUGH_VIDEO
+       bool "Enable Passthrough Video"
+       default n
+       help 
+         Configures Palacios to map a guest's framebuffer directly 
+         to the hardware framebuffer (no longer needed)
 
 config INSTRUMENT_VMM
        bool "Enable VMM instrumentation"
@@ -57,9 +108,23 @@ 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 DEBUG_VNET
+        depends on VNET
+        bool "Enable Vnet Debug in Palacios"
+        default n
+        help
+          Enable the Vnet Debug in Palacios
+
 config BUILT_IN_STDLIB
        bool "Enable Built in versions of stdlib functions"
-       default n
+       default y if KITTEN
        help 
          Not all host OSes provide link targets for stdlib functions
          Palacios provides internal implementations of these functions, that you can select from this list
@@ -79,6 +144,13 @@ config BUILT_IN_MEMCPY
        help 
          This enables Palacios' internal implementation of memcpy
 
+config BUILT_IN_MEMMOVE
+       bool "memmove()"
+       default n
+       depends on BUILT_IN_STDLIB
+       help 
+         This enables Palacios' internal implementation of memmove
+
 config BUILT_IN_MEMCMP
        bool "memcmp()"
        default n
@@ -108,6 +180,14 @@ config BUILT_IN_STRCMP
        help 
          This enables Palacios' internal implementation of strcmp
 
+
+config BUILT_IN_STRCASECMP
+       bool "strcasecmp()"
+       default y if KITTEN
+       depends on BUILT_IN_STDLIB
+       help
+         This enables Palacios' internal implementation of strcasecmp
+
 config BUILT_IN_STRNCMP
        bool "strncmp()"
        default n
@@ -115,6 +195,14 @@ config BUILT_IN_STRNCMP
        help 
          This enables Palacios' internal implementation of strncmp
 
+config BUILT_IN_STRNCASECMP
+       bool "strncasecmp()"
+       default n
+       depends on BUILT_IN_STDLIB
+       help
+         This enables Palacios' internal implementation of strncasecmp
+
+
 config BUILT_IN_STRCAT
        bool "strcat()"
        default n
@@ -150,10 +238,17 @@ config BUILT_IN_STRDUP
        help 
          This enables Palacios' internal implementation of strdup
 
+config BUILT_IN_STRSTR
+       bool "strstr()"
+       default n
+       depends on BUILT_IN_STDLIB
+       help
+         This enables Palacios internal implementation of strstr
+
 
 config BUILT_IN_ATOI
        bool "atoi()"
-       default n
+       default y if KITTEN
        depends on BUILT_IN_STDLIB
        help 
          This enables Palacios' internal implementation of atoi
@@ -243,7 +338,7 @@ config SYMBIOTIC
 config SYMBIOTIC_SWAP
        bool "Symbiotic Swap"
        default n
-       depends on SYMBIOTIC
+       depends on SYMBIOTIC && EXPERIMENTAL
        help 
          This enables the symbiotic swap architecture