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.


Merge branch 'devel' of newskysaw.cs.northwestern.edu:/home/palacios/palacios into...
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 45a0568..9a7f7e7 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,12 +76,35 @@ 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
        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"
       
@@ -89,38 +131,10 @@ config MAX_CPUS
          Specifies the maximum number of hardware CPUs supported by the OS
          For uniprocessor environments, set this to 1
 
-config FILE
-       bool "Host Support for file operations"
-       default n
-       help
-         Select this if your host OS supports file operatoins and you want Palacios to be able to use them.
-
-
-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 "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 raw packet network API that is available to Palacios. This is required 
-         to support the internal networking features of Palacios.
-
 endmenu
 
-
+source "palacios/src/interfaces/Kconfig"
+source "palacios/src/extensions/Kconfig"
 
 config TELEMETRY
        bool "Enable VMM telemetry support"
@@ -155,33 +169,13 @@ 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 CHECKPOINT
+       bool "Enable Checkpointing"
+       default n
+       help 
+         Temporary option to enable experimental checkpoint code
 
-config DEBUG_VNET
-        depends on EXPERIMENTAL && VNET
-        bool "Enable Vnet Debug in Palacios"
-        default n
-        help
-          Enable the Vnet debug 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 "Virtio VNET Interface Debugging"
-        default n
-        depends on LINUX_VIRTIO_VNET && DEBUG_ON
-        help
-          Enable debugging for the VNET Virtio interface
 
 endmenu
 
@@ -224,11 +218,18 @@ config SHADOW_PAGING_CACHE1
 endmenu
 
 
-menu "Time Management"
 
+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
@@ -238,6 +239,7 @@ config TIME_HIDE_VM_COST
 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 
@@ -245,6 +247,8 @@ config TIME_VIRTUALIZE_TSC
         
 endmenu
 
+
+
 menu "Symbiotic Functions"
 
 config SYMBIOTIC
@@ -286,15 +290,25 @@ menuconfig SYMMOD
 
 endmenu
 
+menu "VNET"
 
+config VNET
+        bool "Enable Vnet in Palacios"
+        default n
+        help
+          Enable the Vnet in Palacios
 
-menu "Debug configuration"
+config DEBUG_VNET
+        depends on VNET
+        bool "Enable Vnet Debug in Palacios"
+        default n
+        help
+          Enable the Vnet debug in Palacios
 
-config CONFIG_DEBUG_INFO
-       bool "Compile with Debug information"
-       default n
-       help 
-        This adds the -g flag to the compilation flags
+
+endmenu
+
+menu "Debug configuration"
 
 
 ## Is unwind information useful
@@ -375,12 +389,12 @@ config DEBUG_EMULATOR
          This turns on debugging for the Instruction Emulator
 
 
-config DEBUG_XED
-       bool "XED"
+config DEBUG_DECODER
+       bool "Instruction Decoder"
        default n
        depends on DEBUG_ON
        help 
-         This turns on debugging for the Xed Decoder
+         This turns on debugging for the selected instruction decoder
 
 config DEBUG_HALT
        bool "Halt"
@@ -396,8 +410,12 @@ 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
 
 endmenu