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 ability to hook execution of arbitrary binary files. Added ability to add arbit...
[palacios.releases.git] / Kconfig
diff --git a/Kconfig b/Kconfig
index b7f64e1..3c98783 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -125,53 +125,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 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 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
-        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"
@@ -221,6 +178,51 @@ config INSPECTOR
        help 
          Enable inspection framework for vm internal state
 
+config SW_INTERRUPTS
+    bool "Enable interception and hooking of software interrupts"
+    depends on EXPERIMENTAL
+    default n
+    help
+      This feature will cause the VMM to intercept the execution
+      of software interrupts (i.e. the INTn instruction) and enable
+      any INT vector to be hooked
+
+config SWINTR_PASSTHROUGH
+    bool "Hook all unhandled sofware interrupts for passthrough"
+    depends on SW_INTERRUPTS
+    default n
+    help
+      If enabled, this will cause all software interrupts 
+      (INT instruction vectors) to be hooked for passthrough.
+      May reduce performance but useful for debugging.
+
+config SYSCALL_HIJACK
+    bool "Enable System Call Hijacking"
+    depends on SW_INTERRUPTS
+    default n
+    help
+      Enable the VMM to hijack system calls executed by the guest.
+      If enabled, the VMM will hook execution of INT 80
+      (support for Fast-System Calls coming soon)
+
+config SYSCALL_PASSTHROUGH
+    bool "Hook all unhandled system calls for passthrough"
+    depends on SYSCALL_HIJACK
+    default n
+    help
+      If enabled, this option will cause all system calls
+      that are not explicitly hooked to be hooked for 
+      passthrough. This is useful for debugging.
+
+config HIJACK_SYSCALL_MSR
+    bool "Intercept Syscall-related MSR reads & writes"
+    depends on SYSCALL_HIJACK 
+    default n
+    help
+      Allow the VMM to intercept reads and writes to MSRs
+      related to SYSCALL and SYSENTER instructions. Specifically,
+      it will intercept R/W to STAR, CSTAR, and LSTAR.
+
 endmenu
 
 
@@ -451,6 +453,15 @@ config DEBUG_VNET
         help
           Enable the Vnet debug in Palacios
 
+config DEBUG_SYSCALL_HIJACK
+        bool "Enable Syscall Hijack Debug in Palacios"
+        default n
+        depends on DEBUG_ON && SYSCALL_HIJACK
+        help
+          Enable Debugging printouts for syscall hijacking
+          code in Palacios
+
+
 endmenu