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.


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