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 host keyed stream support
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 0910a5f..cd0774e 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -17,8 +17,8 @@ config KITTEN
        help
          This enables the necesary options to compile Palacios with Kitten
 
-config LINUX
-       bool "Linux 2.6"
+config LINUX_BUILTIN
+       bool "OLD Linux (Built in) -- to be deprecated"
        select BUILT_IN_STDLIB
        select BUILT_IN_ATOI
        select FILE
@@ -26,6 +26,25 @@ config LINUX
          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 LINUX
+       bool "Linux Module"
+       select BUILT_IN_STDLIB
+       select BUILT_IN_STRDUP
+       select BUILT_IN_ATOI
+       select FILE
+       select V3_DECODER
+       help
+         This enables the necessary options to compile Palacios as a Linux module
+
+config LINUX_KERN
+       depends on LINUX
+       string "Linux Kernel Source directory" 
+       default "/usr/src/linux"
+       help 
+         This is the directory containing the linux source for the kernel module to be built
+
 config MINIX
        bool "MINIX 3"
        help
@@ -57,6 +76,30 @@ config VMX
          Compile with support for Intel VMX
 
 
+config DEBUG_INFO
+       bool "Compile with Debug Information"
+       default n
+       help
+         Compiles the Palacios library with debugging symbols
+
+choice 
+       prompt "X86 decoder"
+       default XED
+
+config XED
+       bool "XED decoder library"
+       depends on !LINUX
+       help
+          This uses the XED decoder library from pintools 
+
+config V3_DECODER
+       bool "Internal Palacios decoder"
+       help
+           This selects the internal V3Vee x86 decoder
+
+
+endchoice
+
 menu "Supported host OS features"
       
 config MULTITHREAD_OS
@@ -88,19 +131,42 @@ config FILE
        help
          Select this if your host OS supports file operatoins and you want Palacios to be able to use them.
 
+config KEYED_STREAMS
+       bool "Host support for keyed streams"
+       default n
+       help
+         Select this if your host OS supports keyed streams
+          Palacios Checkpoint/Restore and Migration depends on this feature
 
 config CONSOLE
-       bool "Host Support for VM console"
+       bool "Host Support for VM text-mode console"
        default n
        help 
          Select this if you want to forward a guest console interface to some host OS service
+          This is for a TEXT MODE console.   Select the framebuffer console for graphics and text
 
+config GRAPHICS_CONSOLE
+       bool "Host Support for VM graphics and text-mode console based on a frame buffer"
+       default n
+       help 
+         Select this if you want to forward a guest graphics-mode (and text-mode) console 
+          interface to some host OS service.  This is for a GRAPHICS console based on a shared frame buffer.
+          Text mode output is RENDERED onto the framebuffer
 
 config SOCKET
-       bool "Host support for Network Sockets"
-       default y
+        bool "Host support for Network Sockets"
+        default y
+        help
+          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.
+
+
+config PACKET
+       bool "Host support for Raw Packet Transmision"
+       depends on EXPERIMENTAL
+       default n
        help 
-         Select this if you host OS implements a socket API that is available to Palacios. This is required 
+         Select this if you host OS implements a raw packet network API that is available to Palacios. This is required 
          to support the internal networking features of Palacios.
 
 endmenu
@@ -127,13 +193,6 @@ config SHADOW_PAGING_TELEMETRY
          Enable telemetry information for shadow paging 
 
 
-config INSTRUMENT_VMM
-       bool "Enable VMM instrumentation"
-       default n
-       help 
-         Enable the instrumentation framework
-         --------
-         This is much heavier weight than profiling
 
 config EXPERIMENTAL
        bool "Enable Experimental options"
@@ -161,13 +220,6 @@ 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
@@ -176,11 +228,11 @@ config LINUX_VIRTIO_VNET
           Enable the Virtio VNET interface
 
 config DEBUG_LINUX_VIRTIO_VNET
-        bool "VNET Virtio Device Debugging"
+        bool "Virtio VNET Interface Debugging"
         default n
         depends on LINUX_VIRTIO_VNET && DEBUG_ON
         help
-          Enable debugging for the VNET Virtio Device
+          Enable debugging for the VNET Virtio interface
 
 endmenu
 
@@ -224,15 +276,31 @@ 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 "Virtualize guest 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"