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 module directory tree and build configuration
[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 config SYMCALL
155         bool "Symbiotic upcalls"
156         default n
157         depends on SYMBIOTIC && EXPERIMENTAL
158         help
159           Enables the Symbiotic upcall interface
160
161 config SWAPBYPASS
162         bool "SwapBypass"
163         default n
164         depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
165         help 
166           This enables the SwapBypass architecture
167
168 config SWAPBYPASS_TELEMETRY
169         bool "Enable SwapBypass Telemetry"
170         default n
171         depends on TELEMETRY && SWAPBYPASS
172         help 
173           Enable the telemetry information for the SwapBypass subsystem
174
175 menuconfig SYMMOD 
176         bool "Symbiotic Modules"
177         default n
178         depends on EXPERIMENTAL
179 #       depends on SYMBIOTIC
180         help
181           Enable Symbiotic module loading
182
183 if SYMMOD
184
185 source "modules/Kconfig"
186
187 endif
188
189
190
191 endmenu
192
193
194
195 menu "Debug configuration"
196
197 config CONFIG_DEBUG_INFO
198         bool "Compile with Debug information"
199         default n
200         help 
201          This adds the -g flag to the compilation flags
202
203
204 ## Is unwind information useful
205
206 config DEBUG_ON
207         bool "Enable Debugging"
208         default y
209         help
210           This turns on debugging support
211
212
213 config DEBUG_SHADOW_PAGING
214         bool "Shadow paging"
215         default n
216         depends on DEBUG_ON
217         help 
218           This turns on debugging for the shadow paging system
219
220
221 config DEBUG_NESTED_PAGING
222         bool "Nested paging"
223         default n
224         depends on DEBUG_ON
225         help 
226           This turns on debugging for the nested paging system
227
228
229 config DEBUG_CTRL_REGS
230         bool "Control registers"
231         default n
232         depends on DEBUG_ON
233         help 
234           This turns on debugging for the control register handlers
235
236
237 config DEBUG_INTERRUPTS
238         bool "Interrupts"
239         default n
240         depends on DEBUG_ON
241         help 
242           This turns on debugging for the interrupt system
243
244
245
246 config DEBUG_IO
247         bool "IO"
248         default n
249         depends on DEBUG_ON
250         help 
251           This turns on debugging for the IO handlers
252
253
254 config DEBUG_EMULATOR
255         bool "Instruction Emulator"
256         default n
257         depends on DEBUG_ON
258         help 
259           This turns on debugging for the Instruction Emulator
260
261
262 config DEBUG_XED
263         bool "XED"
264         default n
265         depends on DEBUG_ON
266         help 
267           This turns on debugging for the Xed Decoder
268
269 config DEBUG_HALT
270         bool "Halt"
271         default n
272         depends on DEBUG_ON
273         help 
274           This turns on debugging for the halt instruction handler
275
276 config DEBUG_DEV_MGR
277         bool "Device Manager"
278         default n
279         depends on DEBUG_ON
280         help 
281           This turns on debugging for the device manager
282
283
284
285
286 endmenu
287
288
289 menu "BIOS Selection"
290
291 config ROMBIOS_PATH
292         string "Path to pre-built ROMBIOS binary"
293         default "./bios/rombios/BIOS-bochs-latest"
294         help
295           This is the rombios that will be used for the guests
296
297 config VGABIOS_PATH
298         string "Path to pre-built VGABIOS binary"
299         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
300         help
301           This is the vgabios that will be used for the guests
302
303 config VMXASSIST_PATH
304         string "Path to pre-built VMXASSIST binary"
305         depends on VMX
306         default "./bios/vmxassist/vmxassist.bin"
307         help
308           This is vmxassist image to boot real mode guests on 
309           Intel VMX Platforms
310
311 endmenu
312
313
314 source "palacios/src/devices/Kconfig"
315