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.


added configurable host features to Palacios configuration
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 1ae4408..246c640 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -3,12 +3,40 @@ mainmenu "Palacios VMM Configuration"
 menu "Target Configuration"
 
 
+choice
+       prompt "Target Host OS"
+       default KITTEN
+
 config KITTEN
-       bool "Set defaults needed for the Kitten OS"
-       default y
+       bool "Kitten OS"
+       select BUILT_IN_STDLIB
+       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
 
+config LINUX
+       bool "Linux 2.6"
+       select BUILT_IN_STDLIB
+       select BUILT_IN_ATOI
+       help
+         This enables the necessary options to compile Palacios with Linux 2.6
+          Currently, this is in development, and only 2.6.32 is verified to work
+
+config MINIX
+       bool "MINIX 3"
+       help
+         This enables the necesary options to compile Palacios with Kitten
+
+config OTHER_OS
+       bool "Other OS"
+       help 
+         Choose this to compile Palacios for a Generic Host OS
+          (Formerly GeekOS)
+
+endchoice
 
 config CRAY_XT
         bool "Red Storm (Cray XT3/XT4)"
@@ -28,29 +56,48 @@ config VMX
          Compile with support for Intel VMX
 
 
+menu "Supported host OS features"
+      
 config MULTITHREAD_OS
-       bool "Compile for a multi threaded OS"
+       bool "Host support for  multiple threads"
        default y
        help 
-         This allows Palacios to use OS thread mechanisms
+         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"
+       default n
+       help 
+         Select this if your OS supports allocating memory pages using an alignment. This is required 
+         if you want Palacios to run with large page table pages. 
+
 config MAX_CPUS
        int "Maximum number of cpus"
        range 1 255
        default "16"
        help 
-         Specifies the maximum number of hardware cpus Palacios can support
-
+         Specifies the maximum number of hardware CPUs supported by the OS
          For uniprocessor environments, set this to 1
 
 
+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 "Include Network Socket Support"
+       bool "Host support for Network Sockets"
        default y
        help 
-         Enable networking support in Palacios
+         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.
 
+endmenu
 
 
 
@@ -74,13 +121,6 @@ config SHADOW_PAGING_TELEMETRY
          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"
        default n
@@ -115,6 +155,26 @@ config DEBUG_VNET
         help
           Enable the Vnet debug in Palacios
 
+config VNET_PROFILE
+       depends on EXPERIMENTAL && VNET
+       bool "Enable Vnet Profiling in Palacios"
+       default n
+       help
+          Enable the Vnet performance profiling in Palacios
+
+config LINUX_VIRTIO_VNET
+        bool "Enable Virtio VNET interface"
+        default n
+        depends on PCI && EXPERIMENTAL && VNET
+        help
+          Enable the Virtio VNET interface
+
+config DEBUG_LINUX_VIRTIO_VNET
+        bool "VNET Virtio Device Debugging"
+        default n
+        depends on LINUX_VIRTIO_VNET && DEBUG_ON
+        help
+          Enable debugging for the VNET Virtio Device
 
 endmenu
 
@@ -188,13 +248,6 @@ menuconfig SYMMOD
        help
          Enable Symbiotic module loading
 
-if SYMMOD
-
-source "modules/Kconfig"
-
-endif
-
-
 
 endmenu
 
@@ -218,6 +271,21 @@ config DEBUG_ON
          This turns on debugging support
 
 
+config DEBUG_SVM
+       bool "AMD SVM"
+       default n
+       depends on DEBUG_ON
+       help 
+         This turns on debugging for the AMD SVM-specific code
+
+config DEBUG_VMX
+       bool "Intel VT"
+       default n
+       depends on DEBUG_ON
+       help 
+         This turns on debugging for the Intel VT-specific code
+
+
 config DEBUG_SHADOW_PAGING
        bool "Shadow paging"
        default n