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 wp flag to shadow cr0
[palacios.git] / Kconfig
1 mainmenu "Palacios VMM Configuration"
2
3 menu "Target Configuration"
4
5 config CRAY_XT
6         bool "Red Storm (Cray XT3/XT4)"
7         help
8           Support for Cray XT3 and XT4 systems.
9
10 config SVM
11         bool "AMD SVM Support"
12         default y
13         help
14           Compile with support for AMD SVM
15
16 config VMX
17         bool "Intel VMX Support"
18         default y
19         help 
20           Compile with support for Intel VMX
21
22
23 config SOCKET
24         bool "Include Network Socket Support"
25         default y
26         help 
27           Enable networking support in Palacios
28
29
30
31 config TELEMETRY
32         bool "Enable VMM telemetry support"
33         default y
34         help 
35           Enable the telemetry framework in Palacios
36           -----
37           This is a framwork that allows components of palacios to record 
38           information that is periodically reported to the log output.
39           Telemetry is automatically collected for vmexits. Subsystem telemetry 
40           is configured separately
41
42
43 config SHADOW_PAGING_TELEMETRY
44         bool "Enable Shadow Paging Telemetry"
45         default y
46         depends on TELEMETRY
47         help
48           Enable telemetry information for shadow paging 
49
50 config SYMBIOTIC_SWAP_TELEMETRY
51         bool "Enable Symbiotic Swap Telemetry"
52         default n
53         depends on TELEMETRY && SYMBIOTIC_SWAP
54         help 
55           Enable the telemetry information for the symbiotic swap subsystem
56
57
58 config PASSTHROUGH_VIDEO
59         bool "Enable Passthrough Video"
60         default y
61         help 
62           Configures Palacios to map a guest's framebuffer directly 
63           to the hardware framebuffer
64
65 config INSTRUMENT_VMM
66         bool "Enable VMM instrumentation"
67         default n
68         help 
69           Enable the instrumentation framework
70           --------
71           This is much heavier weight than profiling
72
73 config EXPERIMENTAL
74         bool "Enable Experimental options"
75         default n
76         help 
77           This allows the selection of experimental features. This includes incomplete or unreviewed code. 
78           Only enable this feature if you are working on the features in question. 
79           IMPORTANT: Non-experimental code MUST NOT use, require, or rely on experimental features. 
80           Any code that violates this will be immediately deleted without warning. 
81           -- 
82           The purpose of this option is to allow features under development to be committed to the mainline
83           to more easily track changes and provide access to multiple developers
84
85 config BUILT_IN_STDLIB
86         bool "Enable Built in versions of stdlib functions"
87         default n
88         help 
89           Not all host OSes provide link targets for stdlib functions
90           Palacios provides internal implementations of these functions, that you can select from this list
91
92 config BUILT_IN_MEMSET
93         bool "memset()"
94         default n
95         depends on BUILT_IN_STDLIB
96         help 
97           This enables Palacios' internal implementation of memset
98
99
100 config BUILT_IN_MEMCPY
101         bool "memcpy()"
102         default n
103         depends on BUILT_IN_STDLIB
104         help 
105           This enables Palacios' internal implementation of memcpy
106
107 config BUILT_IN_MEMCMP
108         bool "memcmp()"
109         default n
110         depends on BUILT_IN_STDLIB
111         help 
112           This enables Palacios' internal implementation of memcmp
113
114 config BUILT_IN_STRLEN
115         bool "strlen()"
116         default n
117         depends on BUILT_IN_STDLIB
118         help 
119           This enables Palacios' internal implementation of strlen
120
121 config BUILT_IN_STRNLEN
122         bool "strnlen()"
123         default n
124         depends on BUILT_IN_STDLIB
125         help 
126           This enables Palacios' internal implementation of strnlen
127
128
129 config BUILT_IN_STRCMP
130         bool "strcmp()"
131         default n
132         depends on BUILT_IN_STDLIB
133         help 
134           This enables Palacios' internal implementation of strcmp
135
136 config BUILT_IN_STRNCMP
137         bool "strncmp()"
138         default n
139         depends on BUILT_IN_STDLIB
140         help 
141           This enables Palacios' internal implementation of strncmp
142
143 config BUILT_IN_STRCAT
144         bool "strcat()"
145         default n
146         depends on BUILT_IN_STDLIB
147         help 
148           This enables Palacios' internal implementation of strcat
149
150 config BUILT_IN_STRNCAT
151         bool "strncat()"
152         default n
153         depends on BUILT_IN_STDLIB
154         help 
155           This enables Palacios' internal implementation of strncat
156
157 config BUILT_IN_STRCPY
158         bool "strcpy()"
159         default n
160         depends on BUILT_IN_STDLIB
161         help 
162           This enables Palacios' internal implementation of strcpy
163
164 config BUILT_IN_STRNCPY
165         bool "strncpy()"
166         default n
167         depends on BUILT_IN_STDLIB
168         help 
169           This enables Palacios' internal implementation of strncpy
170
171 config BUILT_IN_STRDUP
172         bool "strdup()"
173         default n
174         depends on BUILT_IN_STDLIB
175         help 
176           This enables Palacios' internal implementation of strdup
177
178
179 config BUILT_IN_ATOI
180         bool "atoi()"
181         default n
182         depends on BUILT_IN_STDLIB
183         help 
184           This enables Palacios' internal implementation of atoi
185
186 config BUILT_IN_STRCHR
187         bool "strchr()"
188         default n
189         depends on BUILT_IN_STDLIB
190         help 
191           This enables Palacios' internal implementation of strchr
192
193 config BUILT_IN_STRRCHR
194         bool "strrchr()"
195         default n
196         depends on BUILT_IN_STDLIB
197         help 
198           This enables Palacios' internal implementation of strrchr
199
200 config BUILT_IN_STRPBRK
201         bool "strpbrk()"
202         default n
203         depends on BUILT_IN_STDLIB
204         help 
205           This enables Palacios' internal implementation of strpbrk
206
207
208 config BUILT_IN_STDIO
209         bool "Enable Built in versions of stdio functions"
210         default n
211         help 
212           Not all host OSes provide link targets for stdio functions
213           Palacios provides internal implementations of these functions, that you can select from this list
214
215
216
217 config BUILT_IN_SPRINTF
218         bool "sprintf()"
219         default n
220         depends on BUILT_IN_STDIO
221         help 
222           This enables Palacios' internal implementation of sprintf
223
224
225 config BUILT_IN_SNPRINTF
226         bool "snprintf()"
227         default n
228         depends on BUILT_IN_STDIO
229         help 
230           This enables Palacios' internal implementation of snprintf
231
232
233 config BUILT_IN_VSPRINTF
234         bool "vsprintf()"
235         default n
236         depends on BUILT_IN_STDIO
237         help 
238           This enables Palacios' internal implementation of vsprintf
239
240 config BUILT_IN_VSNPRINTF
241         bool "vsnprintf()"
242         default n
243         depends on BUILT_IN_STDIO
244         help 
245           This enables Palacios' internal implementation of vsnprintf
246
247 config BUILT_IN_VSNRPRINTF
248         bool "vsnrprintf()"
249         default n
250         depends on BUILT_IN_STDIO
251         help 
252           This enables Palacios' internal implementation of vsnrprintf
253
254 endmenu
255
256
257
258
259 menu "Symbiotic Functions"
260
261 config SYMBIOTIC
262         bool "Enable Symbiotic Functionality"
263         default n
264         help 
265           Enable Symbiotic components of the VMM
266
267
268 config SYMBIOTIC_SWAP
269         bool "Symbiotic Swap"
270         default n
271         depends on SYMBIOTIC && EXPERIMENTAL
272         help 
273           This enables the symbiotic swap architecture
274
275 endmenu
276
277
278
279 menu "Debug configuration"
280
281 config CONFIG_DEBUG_INFO
282         bool "Compile with Debug information"
283         default n
284         help 
285          This adds the -g flag to the compilation flags
286
287
288 ## Is unwind information useful
289
290 config DEBUG_ON
291         bool "Enable Debugging"
292         default y
293         help
294           This turns on debugging support
295
296
297 config DEBUG_SHADOW_PAGING
298         bool "Shadow paging"
299         default n
300         depends on DEBUG_ON
301         help 
302           This turns on debugging for the shadow paging system
303
304
305 config DEBUG_NESTED_PAGING
306         bool "Nested paging"
307         default n
308         depends on DEBUG_ON
309         help 
310           This turns on debugging for the nested paging system
311
312
313 config DEBUG_CTRL_REGS
314         bool "Control registers"
315         default n
316         depends on DEBUG_ON
317         help 
318           This turns on debugging for the control register handlers
319
320
321 config DEBUG_INTERRUPTS
322         bool "Interrupts"
323         default n
324         depends on DEBUG_ON
325         help 
326           This turns on debugging for the interrupt system
327
328
329
330 config DEBUG_IO
331         bool "IO"
332         default n
333         depends on DEBUG_ON
334         help 
335           This turns on debugging for the IO handlers
336
337
338 config DEBUG_EMULATOR
339         bool "Instruction Emulator"
340         default n
341         depends on DEBUG_ON
342         help 
343           This turns on debugging for the Instruction Emulator
344
345
346 config DEBUG_XED
347         bool "XED"
348         default n
349         depends on DEBUG_ON
350         help 
351           This turns on debugging for the Xed Decoder
352
353 config DEBUG_HALT
354         bool "Halt"
355         default n
356         depends on DEBUG_ON
357         help 
358           This turns on debugging for the halt instruction handler
359
360 config DEBUG_DEV_MGR
361         bool "Device Manager"
362         default n
363         depends on DEBUG_ON
364         help 
365           This turns on debugging for the device manager
366
367
368
369
370 endmenu
371
372
373 menu "BIOS Selection"
374
375 config ROMBIOS_PATH
376         string "Path to pre-built ROMBIOS binary"
377         default "./bios/rombios/BIOS-bochs-latest"
378         help
379           This is the rombios that will be used for the guests
380
381 config VGABIOS_PATH
382         string "Path to pre-built VGABIOS binary"
383         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
384         help
385           This is the vgabios that will be used for the guests
386
387 config VMXASSIST_PATH
388         string "Path to pre-built VMXASSIST binary"
389         depends on VMX
390         default "./bios/vmxassist/vmxassist.bin"
391         help
392           This is vmxassist image to boot real mode guests on 
393           Intel VMX Platforms
394
395 endmenu
396
397
398 source "palacios/src/devices/Kconfig"
399