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.


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