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.


VGA bugfixes
[palacios.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index 0fb4b9a..9c9dfe2 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -116,7 +116,15 @@ config QUIX86_DEBUG
 endchoice
 
 menu "Supported host OS features"
-      
+
+config MEM_BLOCK_SIZE
+        int "Allocation size for underlying VM memory"
+        default 134217728
+        help 
+          This is the default size in bytes of the underlying memory allocations used for the base memory regions.
+          A good default value is 128MB (134217728 or 0x8000000 bytes).  Note that the host interface must be able
+          to provide contiguous memory of at least this size in order for VMs to typically work.   This 
+          value can be overriden via a load-time option, provided the host supports this.
 
 config ALIGNED_PG_ALLOC
        bool "Host support for aligned page allocations"
@@ -157,7 +165,21 @@ config SHADOW_PAGING_TELEMETRY
        help
          Enable telemetry information for shadow paging 
 
+config PMU_TELEMETRY
+      bool "Enable PMU telemetry"
+      default n
+      depends on TELEMETRY && HOST_PMU
+      help
+        Enable telemetry information for a range of PMU counters
+          This causes the currently configured PMU counts to be printed
 
+config PWRSTAT_TELEMETRY
+       bool "Enable power statistics telemetry"
+       default n
+       depends on TELEMETRY && HOST_PWRSTAT
+       help
+               Enable telemetry information for power/energy counters 
+               
 
 config EXPERIMENTAL
        bool "Enable Experimental options"
@@ -175,8 +197,21 @@ config CHECKPOINT
        bool "Enable Checkpointing"
        default n
        help 
-         Temporary option to enable experimental checkpoint code
+         Enable checkpointing functionality (save/load VMs)
 
+config LIVE_MIGRATION
+       bool "Enable Live Migration"
+       depends on CHECKPOINT
+       default n
+       help
+          Enable live migration functionality (send/receive VMs)
+
+config DEBUG_CHECKPOINT
+       bool "Enable Checkpointing and Live Migration Debugging Output"
+       depends on CHECKPOINT
+       default n
+       help
+         Generate output from the debugging statements in checkpointing and live migration
 
 
 endmenu
@@ -219,41 +254,6 @@ config SHADOW_PAGING_CACHE1
 
 endmenu
 
-
-
-menu "Time Management"
-config TIME_DILATION
-       bool "Control Guest/Host Time Offseting"
-       default n
-       depends on EXPERIMENTAL
-       help
-           Controls the relative speeds of the guest and host processor
-           to allow the VM to provide the illusion of the guest seeing time
-           pass at a different rate than the host system does.
-
-config TIME_HIDE_VM_COST
-        bool "Hide VMM Run Cost"
-       default n
-       depends on EXPERIMENTAL 
-       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 "Fully virtualize guest TSC"
-       default n
-       depends on EXPERIMENTAL
-       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"
 
 config SYMBIOTIC
@@ -313,8 +313,9 @@ config DEBUG_VNET
 
 endmenu
 
-menu "Debug configuration"
+source "palacios/src/gears/Kconfig"
 
+menu "Debug configuration"
 
 ## Is unwind information useful
 
@@ -378,6 +379,20 @@ config DEBUG_TIME
        help
          This turns on debugging of system time virtualization
 
+config DEBUG_SCHEDULER
+    bool "Scheduler"
+    default n
+    depends on DEBUG_ON
+    help
+      This turns on debugging for scheduler
+
+config DEBUG_CPU_MAPPER
+    bool "CPU Mapper"
+    default n
+    depends on DEBUG_ON
+    help
+      This turns on debugging for CPU Mapper
+
 config DEBUG_IO
        bool "IO"
        default n
@@ -408,6 +423,13 @@ config DEBUG_HALT
        help 
          This turns on debugging for the halt instruction handler
 
+config DEBUG_MWAIT
+       bool "MWAIT/MONITOR"
+       default n
+       depends on DEBUG_ON
+       help 
+         This turns on debugging for the mwait and monitor instruction handlers
+
 config DEBUG_DEV_MGR
        bool "Device Manager"
        default n
@@ -422,23 +444,97 @@ config DEBUG_MEM_ERRORS
     help
       This turns on debugging for memory translations and lookups
 
+config DEBUG_LOCKS
+    bool "Lock debugging (if host supports it)"
+    default n
+    depends on DEBUG_ON
+    help
+      This turns on lock debugging for locks in Palacios and in its host-specifc glue code.  This requires host support.
+
+config DEBUG_MEM_ALLOC
+    bool "Memory allocation debugging (if host supports it)"
+    default n
+    depends on DEBUG_ON
+    help
+      This turns on memory allocation debugging in Palacios, using the mechanisms provided by the host
+
+
 endmenu
 
 
 menu "BIOS Selection"
 
-config ROMBIOS_PATH
-       string "Path to pre-built ROMBIOS binary"
+choice 
+       prompt "Boot Code Selection"
+       default SEABIOS
+       help
+           Select which BIOSes to map into the default PC Class Hardware Configuration
+
+config SEABIOS
+       bool "Use the SEABIOS and SEABIOS-VGA Boot Code"
+        help
+            Use the SEABIOS and SEABIOS-VGA Boot code
+
+
+config BOCHSBIOS
+       bool "Use the BOCHS BIOS and BOCHS BIOS-compatible VGA Boot Code"
+        help
+            Use the BOCHS BIOS and BOCHS-BIOS-compatible VGA Boot Code
+
+
+config OTHERBIOS
+       bool "Use a user-specified BIOS"
+        help
+            Use a user-specified BIOS
+
+
+endchoice
+
+
+config SEABIOS_PATH
+       string "Path to pre-built SEABIOS binary"
+        depends on SEABIOS
+       default "./bios/seabios/out/bios.bin"
+       help
+         Path to the SEABIOS binary to use
+
+config SEABIOSVGA_PATH
+       string "Path to pre-built SEABIOS-VGA binary"
+       depends on SEABIOS
+       default "./bios/seabios-vga/VGABIOS-lgpl-latest.bin"
+       help 
+         This is the SEABIOS-compatible vgabios that will be used for the guest
+
+config BOCHSBIOS_PATH
+       string "Path to pre-built BOCHS BIOS binary"
+        depends on BOCHSBIOS
        default "./bios/rombios/BIOS-bochs-latest"
        help
          This is the rombios that will be used for the guests
 
-config VGABIOS_PATH
-       string "Path to pre-built VGABIOS binary"
+config BOCHSBIOSVGA_PATH
+       string "Path to pre-built BOCHS-compatible VGABIOS binary"
+       depends on BOCHSBIOS
        default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
        help
          This is the vgabios that will be used for the guests
 
+config OTHERBIOS_PATH
+       string "Path to user-specified Boot Code"
+       depends on OTHERBIOS
+       help
+         This is a completely user-determined blob that will be mapped into the guest
+         No VGA BIOS will be mapped!
+
+config BIOS_START
+       hex "Starting address (linear address) of BIOS"
+       range 0xe0000 0xe0000 if SEABIOS
+       range 0xf0000 0xf0000 if BOCHSBIOS
+       help
+         This is the starting address (linear address) of the BIOS code
+
+
+
 config VMXASSIST_PATH
        string "Path to pre-built VMXASSIST binary"
        depends on VMX