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.


Changes for software interrupt extension code
[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 DEBUG_EXT_SW_INTERRUPTS
56     bool "Enable debugging of software interrupt interception code"
57     depends on EXT_SW_INTERRUPTS
58     default n
59     help
60       This will enable useful debugging printouts for software
61       intercept code
62
63 config EXT_SWINTR_PASSTHROUGH
64     bool "Hook all unhandled sofware interrupts for passthrough"
65     depends on EXT_SW_INTERRUPTS
66     default n
67     help
68       If enabled, this will cause all software interrupts 
69       (INT instruction vectors) to be hooked for passthrough.
70       May reduce performance but useful for debugging.
71
72 config EXT_SYSCALL_HIJACK
73     bool "Enable System Call Hijacking"
74     depends on EXT_SW_INTERRUPTS
75     default n
76     help
77       Enable the VMM to hijack system calls executed by the guest.
78       If enabled, the VMM will hook execution of INT 80
79
80 config DEBUG_EXT_SYSCALL_HIJACK
81     bool "Enable Syscall Hijack Debug in Palacios"
82     default n
83     help 
84       Enable Debugging printouts for syscall hijacking code
85       in Palacios
86
87 config EXT_SYSCALL_PASSTHROUGH
88     bool "Hook all unhandled system calls for passthrough"
89     depends on EXT_SYSCALL_HIJACK
90     default n
91     help
92       If enabled, this option will cause all system calls
93       that are not explicitly hooked to be hooked for 
94       passthrough. This is useful for debugging.
95
96 endmenu