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.


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