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.


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