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.


fix GEARS code inject dependency
[palacios.git] / palacios / src / gears / Kconfig
1 menu GEARS
2
3 config GEARS
4     bool "Enable GEARS in Palacios"
5     default n
6     help
7       This is the Guest Examination and Revision Services, an extension used
8       to modify guest code and implement guest-context VMM services in Palacios
9
10
11 config EXT_SW_INTERRUPTS
12     bool "Enable interception and hooking of software interrupts"
13     depends on GEARS
14     default n
15     help
16       This feature will cause the VMM to intercept the execution
17       of software interrupts (i.e. the INTn instruction) and enable
18       any INT vector to be hooked. Extension name is "swintr_intercept"
19
20 config DEBUG_EXT_SW_INTERRUPTS
21     bool "Enable debugging of software interrupt interception code"
22     depends on GEARS
23     depends on EXT_SW_INTERRUPTS
24     default n
25     help
26       This will enable useful debugging printouts for software
27       intercept code
28
29 config EXT_SWINTR_PASSTHROUGH
30     bool "Hook all unhandled sofware interrupts for passthrough"
31     depends on GEARS
32     depends on EXT_SW_INTERRUPTS
33     default n
34     help
35       If enabled, this will cause all software interrupts 
36       (INT instruction vectors) to be hooked for passthrough.
37       May reduce performance but useful for debugging.
38
39 config EXT_SYSCALL_HIJACK
40     bool "Enable System Call Hijacking"
41     default n
42     depends on GEARS
43     depends on EXT_SW_INTERRUPTS
44     help
45       Enable the VMM to hijack system calls executed by the guest.
46       If enabled, the VMM will hook execution of INT 80
47
48
49 config EXT_SELECTIVE_SYSCALL_EXIT
50     bool "Enable dynamic selective exiting of system calls"
51     default n
52     depends on GEARS
53     depends on EXT_SYSCALL_HIJACK
54     help
55       If enabled, this option will allow the VMM to selectively
56       enable and disable exiting on specific system calls.
57
58 config DEBUG_EXT_SYSCALL_HIJACK
59     bool "Enable Syscall Hijack Debug in Palacios"
60     depends on GEARS
61     depends on EXT_SYSCALL_HIJACK
62     default n
63     help 
64       Enable Debugging printouts for syscall hijacking code
65       in Palacios
66
67
68 config EXT_SYSCALL_PASSTHROUGH
69     bool "Hook all unhandled system calls for passthrough"
70     depends on GEARS
71     depends on EXT_SYSCALL_HIJACK
72     default n
73     help
74       If enabled, this option will cause all system calls
75       that are not explicitly hooked to be hooked for 
76       passthrough. This is useful for debugging.
77
78 config EXT_EXECVE_HOOK
79     bool "Hook calls to execve"
80     depends on GEARS
81     depends on EXT_SYSCALL_HIJACK
82     default n
83     help
84       This option will cause the interception of all calls
85       to the execve system call
86
87 config EXT_ENV_INJECT
88         bool "Enable environment variable injection"
89     depends on GEARS
90         depends on EXT_EXECVE_HOOK
91         default n
92         help
93           Enables development extension for overriding env vars 
94           for certain executables
95
96 config EXT_CODE_INJECT
97         bool "Allow code injection"
98     depends on GEARS
99         depends on EXT_SYSCALL_HIJACK
100     depends on EXT_EXECVE_HOOK
101         default n
102         help
103           This option will allow code to be injected and run in the
104           guest context
105
106 config EXT_PRIV
107     bool "Allow privileges to be given to code modules"
108     depends on GEARS
109     default n
110     help
111       This option allows different code modules in the guest to be
112       given privileges such as uninhibited access to devices etc.
113
114 config DEBUG_EXT_PRIV
115     bool "Allow privileged module debugging"
116     depends on EXT_PRIV
117     default n
118     help
119       Turns on debugging output for privilege extension
120
121 config EXT_GUARD_MODULES
122     bool "Allow guarded execution of guest modules"
123     depends on GEARS
124     depends on EXT_PRIV
125     default n
126     help
127       This option allows priveledge hardware access to kernel drivers/modules
128       in the guest. Requires instrumentation of guest driver/module.
129
130 config DEBUG_EXT_GUARD_MODS
131     bool "Allow guarded module debugging"
132     depends on EXT_GUARD_MODULES
133     default n
134     help
135       Turns on debugging output for guarded modules extension
136
137 endmenu