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.


New Gears Tools And Structure
[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 config EXT_SW_INTERRUPTS
11     bool "Enable interception and hooking of software interrupts"
12     depends on GEARS
13     default n
14     help
15       This feature will cause the VMM to intercept the execution
16       of software interrupts (i.e. the INTn instruction) and enable
17       any INT vector to be hooked. Extension name is "swintr_intercept"
18
19 config DEBUG_EXT_SW_INTERRUPTS
20     bool "Enable debugging of software interrupt interception code"
21     depends on GEARS
22     depends on EXT_SW_INTERRUPTS
23     default n
24     help
25       This will enable useful debugging printouts for software
26       intercept code
27
28 config EXT_SWINTR_PASSTHROUGH
29     bool "Hook all unhandled sofware interrupts for passthrough"
30     depends on GEARS
31     depends on EXT_SW_INTERRUPTS
32     default n
33     help
34       If enabled, this will cause all software interrupts 
35       (INT instruction vectors) to be hooked for passthrough.
36       May reduce performance but useful for debugging.
37
38 config EXT_SYSCALL_HIJACK
39     bool "Enable System Call Hijacking"
40     default n
41     depends on GEARS
42     depends on EXT_SW_INTERRUPTS
43     help
44       Enable the VMM to hijack system calls executed by the guest.
45       If enabled, the VMM will hook execution of INT 80
46
47
48 config EXT_SELECTIVE_SYSCALL_EXIT
49     bool "Enable dynamic selective exiting of system calls"
50     default n
51     depends on GEARS
52     depends on EXT_SYSCALL_HIJACK
53     help
54       If enabled, this option will allow the VMM to selectively
55       enable and disable exiting on specific system calls.
56
57 config DEBUG_EXT_SYSCALL_HIJACK
58     bool "Enable Syscall Hijack Debug in Palacios"
59     depends on GEARS
60     depends on EXT_SYSCALL_HIJACK
61     default n
62     help 
63       Enable Debugging printouts for syscall hijacking code
64       in Palacios
65
66
67 config EXT_SYSCALL_PASSTHROUGH
68     bool "Hook all unhandled system calls for passthrough"
69     depends on GEARS
70     depends on EXT_SYSCALL_HIJACK
71     default n
72     help
73       If enabled, this option will cause all system calls
74       that are not explicitly hooked to be hooked for 
75       passthrough. This is useful for debugging.
76
77 config EXT_EXECVE_HOOK
78     bool "Hook calls to execve"
79     depends on GEARS
80     depends on EXT_SYSCALL_HIJACK
81     default n
82     help
83       This option will cause the interception of all calls
84       to the execve system call
85
86 config EXT_ENV_INJECT
87         bool "Enable environment variable injection"
88     depends on GEARS
89         depends on EXT_EXECVE_HOOK
90         default n
91         help
92           Enables development extension for overriding env vars 
93           for certain executables
94
95 config EXT_CODE_INJECT
96         bool "Allow code injection"
97     depends on GEARS
98         depends on EXT_SYSCALL_HIJACK
99         default n
100         help
101           This option will allow code to be injected and run in the
102           guest context
103
104 endmenu