4 bool "Enable GEARS in Palacios"
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
11 config EXT_SW_INTERRUPTS
12 bool "Enable interception and hooking of software interrupts"
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"
20 config DEBUG_EXT_SW_INTERRUPTS
21 bool "Enable debugging of software interrupt interception code"
23 depends on EXT_SW_INTERRUPTS
26 This will enable useful debugging printouts for software
29 config EXT_SWINTR_PASSTHROUGH
30 bool "Hook all unhandled sofware interrupts for passthrough"
32 depends on EXT_SW_INTERRUPTS
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.
39 config EXT_SYSCALL_HIJACK
40 bool "Enable System Call Hijacking"
43 depends on EXT_SW_INTERRUPTS
45 Enable the VMM to hijack system calls executed by the guest.
46 If enabled, the VMM will hook execution of INT 80
49 config EXT_SELECTIVE_SYSCALL_EXIT
50 bool "Enable dynamic selective exiting of system calls"
53 depends on EXT_SYSCALL_HIJACK
55 If enabled, this option will allow the VMM to selectively
56 enable and disable exiting on specific system calls.
58 config DEBUG_EXT_SYSCALL_HIJACK
59 bool "Enable Syscall Hijack Debug in Palacios"
61 depends on EXT_SYSCALL_HIJACK
64 Enable Debugging printouts for syscall hijacking code
68 config EXT_SYSCALL_PASSTHROUGH
69 bool "Hook all unhandled system calls for passthrough"
71 depends on EXT_SYSCALL_HIJACK
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.
78 config EXT_EXECVE_HOOK
79 bool "Hook calls to execve"
81 depends on EXT_SYSCALL_HIJACK
84 This option will cause the interception of all calls
85 to the execve system call
88 bool "Enable environment variable injection"
90 depends on EXT_EXECVE_HOOK
93 Enables development extension for overriding env vars
94 for certain executables
96 config EXT_CODE_INJECT
97 bool "Allow code injection"
99 depends on EXT_SYSCALL_HIJACK
100 depends on EXT_EXECVE_HOOK
103 This option will allow code to be injected and run in the
107 bool "Allow privileges to be given to code modules"
111 This option allows different code modules in the guest to be
112 given privileges such as uninhibited access to devices etc.
114 config DEBUG_EXT_PRIV
115 bool "Allow privileged module debugging"
119 Turns on debugging output for privilege extension
121 config EXT_GUARD_MODULES
122 bool "Allow guarded execution of guest modules"
127 This option allows priveledge hardware access to kernel drivers/modules
128 in the guest. Requires instrumentation of guest driver/module.
130 config DEBUG_EXT_GUARD_MODS
131 bool "Allow guarded module debugging"
132 depends on EXT_GUARD_MODULES
135 Turns on debugging output for guarded modules extension