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.


isolated syscall config options to extensions
[palacios.git] / palacios / src / extensions / Kconfig
1 menu "Extensions"
2
3 config EXT_VTIME
4         bool "Enable Time virtualization"
5         default n
6         help
7            Enables the timer virtualization extensions. These hide the cost of 
8            running inside the VMM context.  This can aid the consistency of
9             time between multiple timers, but can cause the guest to run 
10             a good bit slower than the host in VM-intensive parts of the code.
11  
12
13 config EXT_VTSC
14         bool "Fully virtualize guest TSC"
15         default n
16         depends on EXT_VTIME
17         help
18             Virtualize the processor time stamp counter in the guest, 
19             generally increasing consistency between various time sources 
20             but also potentially making guest time run slower than real time.
21          
22 config EXT_MTRRS
23         bool "Support virtualized MTTRs"
24         default n
25         help
26            Provides a virtualized set of MTTR registers
27
28 config EXT_MACH_CHECK
29         bool "Support machine-check functionality"
30         default n
31         help 
32            Provides a virtualized machine-check architecture
33
34 config DEGUB_EXT_MACH_CHECK
35     bool "Debug machine-check functionality"
36     default n
37     depends on EXT_MACH_CHECK
38     help
39         Enable virtual machine-check architecture debugging
40
41 config EXT_INSPECTOR
42         bool "VM Inspector"
43         default n
44         help
45           Provides the inspection extension
46
47 config EXT_SW_INTERRUPTS
48     bool "Enable interception and hooking of software interrupts"
49     default n
50     help
51       This feature will cause the VMM to intercept the execution
52       of software interrupts (i.e. the INTn instruction) and enable
53       any INT vector to be hooked
54
55 config EXT_SWINTR_PASSTHROUGH
56     bool "Hook all unhandled sofware interrupts for passthrough"
57     depends on EXT_SW_INTERRUPTS
58     default n
59     help
60       If enabled, this will cause all software interrupts 
61       (INT instruction vectors) to be hooked for passthrough.
62       May reduce performance but useful for debugging.
63
64 config EXT_SYSCALL_HIJACK
65     bool "Enable System Call Hijacking"
66     depends on EXT_SW_INTERRUPTS
67     default n
68     help
69       Enable the VMM to hijack system calls executed by the guest.
70       If enabled, the VMM will hook execution of INT 80
71
72 config DEBUG_EXT_SYSCALL_HIJACK
73     bool "Enable Syscall Hijack Debug in Palacios"
74     default n
75     help 
76       Enable Debugging printouts for syscall hijacking code
77       in Palacios
78
79 config EXT_SYSCALL_PASSTHROUGH
80     bool "Hook all unhandled system calls for passthrough"
81     depends on EXT_SYSCALL_HIJACK
82     default n
83     help
84       If enabled, this option will cause all system calls
85       that are not explicitly hooked to be hooked for 
86       passthrough. This is useful for debugging.
87
88 config EXT_HIJACK_SYSCALL_MSR
89     bool "Intercept Syscall-related MSR reads & writes"
90     default n
91     help
92       Allow the VMM to intercept reads and writes to MSRs
93       related to SYSCALL and SYSENTER instructions. Specifically,
94       it will intercept R/W to STAR, CSTAR, and LSTAR, and SYSENTER_EIP.
95
96 endmenu