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.


Minor compile warning fixup and error checks
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 028645f..5288b22 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -150,7 +150,7 @@ menu "Virtual core specialization"
 
 config CUSTOM_CPUID
        bool "Use custom CPU information (vendor, etc)"
-       default y
+       default n
        help 
           If set, the CPU information will be for a special V3VEE vendor.
          This should result in identical guest kernel setup, regardless
@@ -159,14 +159,14 @@ config CUSTOM_CPUID
 
 config STRICT_MSR_SEMANTICS
        bool "Use strict RDMSR/WRMSR semantics"
-       default y
+       default n
        help
          Use strict MSR semantics - when an unhandled MSR is read or written,
          a GPF is generated.  This is typically usd with CUSTOM_CPU_TYPE on.
 
 config FP_SWITCH
        bool "Floating point context switching"
-        default y
+        default n
         help
           If set, floating point is handled for context switches 
           (VM1->VM2->VM1 and/or VM->HOST->VM).   This can be disabled
@@ -185,7 +185,7 @@ config LAZY_FP_SWITCH
           and restored on each entry---this save/restore is entirely
           done in Palacios.
           
-          
+
 endmenu
 
 source "palacios/src/extensions/Kconfig"
@@ -266,6 +266,12 @@ source "Kconfig.stdlibs"
 
 menu "Virtual Paging"
 
+config NESTED_PAGING
+       bool "Enable nested paging"
+        default y 
+        help
+           Enable nested paging (should always be on)
+
 config SHADOW_PAGING
        bool "Enable shadow paging"
        default y
@@ -279,6 +285,7 @@ config SHADOW_PAGING_VTLB
        depends on SHADOW_PAGING
        help 
           Enables Virtual TLB implemenation for shadow paging
+           Virtual TLB now uses PAE so there are no 4 GB restrictions
 
 
 config DEBUG_SHDW_PG_VTLB
@@ -288,13 +295,63 @@ config DEBUG_SHDW_PG_VTLB
        help
          Enables debugging messages for VTLB implementation
 
-config SHADOW_PAGING_CACHE1
-       bool "Shadow Page Cache (1)"
-       default y
-       depends on SHADOW_PAGING
+config SHADOW_PAGING_CACHE
+       bool "Shadow Page Cache"
+       default n
+       depends on SHADOW_PAGING && EXPERIMENTAL
        help 
-          Enables caching implemenation for shadow paging
+          Enables caching implementation of shadow paging
+
+config DEBUG_SHADOW_PAGING_CACHE
+       bool "Enable Shadow Page Cache Debugging"
+        default n
+        depends on SHADOW_PAGING_CACHE
+        help
+           Enables debugging messages for the VTLB + Caching implementation
+
+#config SHADOW_PAGING_KVM
+#      bool "KVM-style Shadow Pager"
+#      default n
+#      depends on SHADOW_PAGING && EXPERIMENTAL
+#      help 
+#         Enables shadow pager derived from KVM 
+#           You probably do not want this and it will probably not compile!
+#
+#config DEBUG_SHADOW_PAGING_KVM 
+#      bool "Enable KVM-style Shadow Pager Debugging"
+#        default n
+#        depends on SHADOW_PAGING_KVM
+#        help
+#           Enables debugging messages for the KVM-style shadow pager
+
+
+config SWAPPING
+        bool "Enable swapping"
+        default n
+        depends on (SHADOW_PAGING || NESTED_PAGING) && FILE
+        help
+           Enables swapping of regions of guest physical memory to a file 
 
+config DEBUG_SWAPPING
+        bool "Enable swapping debugging"
+       default n
+        depends on SWAPPING
+        help
+           Provides debugging output from the swapping system
+
+config MEM_TRACK
+        bool "Enable memory access tracking"
+       default n
+       depends on SHADOW_PAGING || NESTED_PAGING
+       help
+          Allows tracking of memory accesses on a page granularity
+
+config DEBUG_MEM_TRACK
+        bool "Enable memory access tracking debugging" 
+       default n
+       depends on MEM_TRACK
+       help
+          Provides debugging output for memory access tracking
 
 endmenu
 
@@ -359,6 +416,28 @@ endmenu
 
 source "palacios/src/gears/Kconfig"
 
+
+menu "HVM" 
+
+config HVM
+       bool "Support Hybrid Virtual Machines"
+       default n
+       help 
+          If set, it is possible to make VMs that are partitioned
+          (cores, memory, devices, hardware access, etc) into 
+          a part ("the ROS") that supports normal VM operation and
+          a part ("the HRT") that supports Hybrid Run-Times,
+          for example Nautilus-based HRTs for parallel languages.
+
+config DEBUG_HVM
+        depends on HVM
+        bool "Enable HVM debugging in Palacios"
+        default n
+        help
+          Enable HVM debugging output
+
+endmenu
+
 menu "Debug configuration"
 
 ## Is unwind information useful