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.


Added symbiotic module loader framework
[palacios.git] / Kconfig
1 mainmenu "Palacios VMM Configuration"
2
3 menu "Target Configuration"
4
5
6 config KITTEN
7         bool "Set defaults needed for the Kitten OS"
8         default y
9         help
10           This enables the necesary options to compile Palacios with Kitten
11
12
13 config CRAY_XT
14         bool "Red Storm (Cray XT3/XT4)"
15         help
16           Support for Cray XT3 and XT4 systems.
17
18 config SVM
19         bool "AMD SVM Support"
20         default y
21         help
22           Compile with support for AMD SVM
23
24 config VMX
25         bool "Intel VMX Support"
26         default y
27         help 
28           Compile with support for Intel VMX
29
30
31 config MULTITHREAD_OS
32         bool "Compile for a multi threaded OS"
33         default y
34         help 
35           This allows Palacios to use OS thread mechanisms
36
37
38 config MAX_CPUS
39         int "Maximum number of cpus"
40         range 1 255
41         default "16"
42         help 
43           Specifies the maximum number of hardware cpus Palacios can support
44
45           For uniprocessor environments, set this to 1
46
47
48 config SOCKET
49         bool "Include Network Socket Support"
50         default y
51         help 
52           Enable networking support in Palacios
53
54
55
56
57 config TELEMETRY
58         bool "Enable VMM telemetry support"
59         default n
60         help 
61           Enable the telemetry framework in Palacios
62           -----
63           This is a framwork that allows components of palacios to record 
64           information that is periodically reported to the log output.
65           Telemetry is automatically collected for vmexits. Subsystem telemetry 
66           is configured separately
67
68
69 config SHADOW_PAGING_TELEMETRY
70         bool "Enable Shadow Paging Telemetry"
71         default y
72         depends on TELEMETRY
73         help
74           Enable telemetry information for shadow paging 
75
76
77 config PASSTHROUGH_VIDEO
78         bool "Enable Passthrough Video"
79         default y
80         help 
81           Configures Palacios to map a guest's framebuffer directly 
82           to the hardware framebuffer
83
84 config INSTRUMENT_VMM
85         bool "Enable VMM instrumentation"
86         default n
87         help 
88           Enable the instrumentation framework
89           --------
90           This is much heavier weight than profiling
91
92 config EXPERIMENTAL
93         bool "Enable Experimental options"
94         default n
95         help 
96           This allows the selection of experimental features. This includes incomplete or unreviewed code. 
97           Only enable this feature if you are working on the features in question. 
98           IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features. 
99           Any code that violates this will be immediately deleted without warning. 
100           -- 
101           The purpose of this option is to allow features under development to be committed to the mainline
102           to more easily track changes and provide access to multiple developers
103
104 config VNET
105         depends on EXPERIMENTAL
106         bool "Enable Vnet in Palacios"
107         default n
108         help
109           Enable the Vnet in Palacios
110
111 endmenu
112
113
114 source "Kconfig.stdlibs"
115
116
117
118 menu "Virtual Paging"
119
120 config SHADOW_PAGING
121         bool "Enable shadow paging"
122         default y
123         help 
124            Enables shadow paging for virtual machines
125
126
127 config SHADOW_PAGING_VTLB
128         bool "Virtual TLB"
129         default y
130         depends on SHADOW_PAGING
131         help 
132            Enables Virtual TLB implemenation for shadow paging
133
134
135 config DEBUG_SHDW_PG_VTLB
136         bool "Enable VTLB debugging"
137         default n
138         depends on SHADOW_PAGING_VTLB
139         help
140           Enables debugging messages for VTLB implementation
141
142 endmenu
143
144
145 menu "Symbiotic Functions"
146
147 config SYMBIOTIC
148         bool "Enable Symbiotic Functionality"
149         default n
150         help 
151           Enable Symbiotic components of the VMM. 
152           This includes the SymSpy interface.
153
154
155
156 config SYMCALL
157         bool "Symbiotic upcalls"
158         default n
159         depends on SYMBIOTIC && EXPERIMENTAL
160         help
161           Enables the Symbiotic upcall interface
162
163 config SYMMOD
164         bool "Symbiotic Modules"
165         default n
166         depends on SYMBIOTIC && EXPERIMENTAL
167         help
168           Enable Symbiotic module loading
169
170
171 config SWAPBYPASS
172         bool "SwapBypass"
173         default n
174         depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
175         help 
176           This enables the SwapBypass architecture
177
178 config SWAPBYPASS_TELEMETRY
179         bool "Enable SwapBypass Telemetry"
180         default n
181         depends on TELEMETRY && SWAPBYPASS
182         help 
183           Enable the telemetry information for the SwapBypass subsystem
184
185
186 endmenu
187
188
189
190 menu "Debug configuration"
191
192 config CONFIG_DEBUG_INFO
193         bool "Compile with Debug information"
194         default n
195         help 
196          This adds the -g flag to the compilation flags
197
198
199 ## Is unwind information useful
200
201 config DEBUG_ON
202         bool "Enable Debugging"
203         default y
204         help
205           This turns on debugging support
206
207
208 config DEBUG_SHADOW_PAGING
209         bool "Shadow paging"
210         default n
211         depends on DEBUG_ON
212         help 
213           This turns on debugging for the shadow paging system
214
215
216 config DEBUG_NESTED_PAGING
217         bool "Nested paging"
218         default n
219         depends on DEBUG_ON
220         help 
221           This turns on debugging for the nested paging system
222
223
224 config DEBUG_CTRL_REGS
225         bool "Control registers"
226         default n
227         depends on DEBUG_ON
228         help 
229           This turns on debugging for the control register handlers
230
231
232 config DEBUG_INTERRUPTS
233         bool "Interrupts"
234         default n
235         depends on DEBUG_ON
236         help 
237           This turns on debugging for the interrupt system
238
239
240
241 config DEBUG_IO
242         bool "IO"
243         default n
244         depends on DEBUG_ON
245         help 
246           This turns on debugging for the IO handlers
247
248
249 config DEBUG_EMULATOR
250         bool "Instruction Emulator"
251         default n
252         depends on DEBUG_ON
253         help 
254           This turns on debugging for the Instruction Emulator
255
256
257 config DEBUG_XED
258         bool "XED"
259         default n
260         depends on DEBUG_ON
261         help 
262           This turns on debugging for the Xed Decoder
263
264 config DEBUG_HALT
265         bool "Halt"
266         default n
267         depends on DEBUG_ON
268         help 
269           This turns on debugging for the halt instruction handler
270
271 config DEBUG_DEV_MGR
272         bool "Device Manager"
273         default n
274         depends on DEBUG_ON
275         help 
276           This turns on debugging for the device manager
277
278
279
280
281 endmenu
282
283
284 menu "BIOS Selection"
285
286 config ROMBIOS_PATH
287         string "Path to pre-built ROMBIOS binary"
288         default "./bios/rombios/BIOS-bochs-latest"
289         help
290           This is the rombios that will be used for the guests
291
292 config VGABIOS_PATH
293         string "Path to pre-built VGABIOS binary"
294         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
295         help
296           This is the vgabios that will be used for the guests
297
298 config VMXASSIST_PATH
299         string "Path to pre-built VMXASSIST binary"
300         depends on VMX
301         default "./bios/vmxassist/vmxassist.bin"
302         help
303           This is vmxassist image to boot real mode guests on 
304           Intel VMX Platforms
305
306 endmenu
307
308
309 source "palacios/src/devices/Kconfig"
310