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.


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