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.


Update on VNET-NIC device, and fix vnet & virtio net
[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 config DEBUG_VNET
112         depends on EXPERIMENTAL && VNET
113         bool "Enable Vnet Debug in Palacios"
114         default n
115         help
116           Enable the Vnet debug in Palacios
117
118
119 endmenu
120
121
122 source "Kconfig.stdlibs"
123
124
125
126 menu "Virtual Paging"
127
128 config SHADOW_PAGING
129         bool "Enable shadow paging"
130         default y
131         help 
132            Enables shadow paging for virtual machines
133
134
135 config SHADOW_PAGING_VTLB
136         bool "Virtual TLB"
137         default y
138         depends on SHADOW_PAGING
139         help 
140            Enables Virtual TLB implemenation for shadow paging
141
142
143 config DEBUG_SHDW_PG_VTLB
144         bool "Enable VTLB debugging"
145         default n
146         depends on SHADOW_PAGING_VTLB
147         help
148           Enables debugging messages for VTLB implementation
149
150 endmenu
151
152
153 menu "Symbiotic Functions"
154
155 config SYMBIOTIC
156         bool "Enable Symbiotic Functionality"
157         default n
158         help 
159           Enable Symbiotic components of the VMM. 
160           This includes the SymSpy interface.
161
162 config SYMCALL
163         bool "Symbiotic upcalls"
164         default n
165         depends on SYMBIOTIC && EXPERIMENTAL
166         help
167           Enables the Symbiotic upcall interface
168
169 config SWAPBYPASS
170         bool "SwapBypass"
171         default n
172         depends on SYMBIOTIC && SYMCALL && EXPERIMENTAL
173         help 
174           This enables the SwapBypass architecture
175
176 config SWAPBYPASS_TELEMETRY
177         bool "Enable SwapBypass Telemetry"
178         default n
179         depends on TELEMETRY && SWAPBYPASS
180         help 
181           Enable the telemetry information for the SwapBypass subsystem
182
183 menuconfig SYMMOD 
184         bool "Symbiotic Modules"
185         default n
186         depends on EXPERIMENTAL
187 #       depends on SYMBIOTIC
188         help
189           Enable Symbiotic module loading
190
191 if SYMMOD
192
193 source "modules/Kconfig"
194
195 endif
196
197
198
199 endmenu
200
201
202
203 menu "Debug configuration"
204
205 config CONFIG_DEBUG_INFO
206         bool "Compile with Debug information"
207         default n
208         help 
209          This adds the -g flag to the compilation flags
210
211
212 ## Is unwind information useful
213
214 config DEBUG_ON
215         bool "Enable Debugging"
216         default y
217         help
218           This turns on debugging support
219
220
221 config DEBUG_SHADOW_PAGING
222         bool "Shadow paging"
223         default n
224         depends on DEBUG_ON
225         help 
226           This turns on debugging for the shadow paging system
227
228
229 config DEBUG_NESTED_PAGING
230         bool "Nested paging"
231         default n
232         depends on DEBUG_ON
233         help 
234           This turns on debugging for the nested paging system
235
236
237 config DEBUG_CTRL_REGS
238         bool "Control registers"
239         default n
240         depends on DEBUG_ON
241         help 
242           This turns on debugging for the control register handlers
243
244
245 config DEBUG_INTERRUPTS
246         bool "Interrupts"
247         default n
248         depends on DEBUG_ON
249         help 
250           This turns on debugging for the interrupt system
251
252
253
254 config DEBUG_IO
255         bool "IO"
256         default n
257         depends on DEBUG_ON
258         help 
259           This turns on debugging for the IO handlers
260
261
262 config DEBUG_EMULATOR
263         bool "Instruction Emulator"
264         default n
265         depends on DEBUG_ON
266         help 
267           This turns on debugging for the Instruction Emulator
268
269
270 config DEBUG_XED
271         bool "XED"
272         default n
273         depends on DEBUG_ON
274         help 
275           This turns on debugging for the Xed Decoder
276
277 config DEBUG_HALT
278         bool "Halt"
279         default n
280         depends on DEBUG_ON
281         help 
282           This turns on debugging for the halt instruction handler
283
284 config DEBUG_DEV_MGR
285         bool "Device Manager"
286         default n
287         depends on DEBUG_ON
288         help 
289           This turns on debugging for the device manager
290
291
292
293
294 endmenu
295
296
297 menu "BIOS Selection"
298
299 config ROMBIOS_PATH
300         string "Path to pre-built ROMBIOS binary"
301         default "./bios/rombios/BIOS-bochs-latest"
302         help
303           This is the rombios that will be used for the guests
304
305 config VGABIOS_PATH
306         string "Path to pre-built VGABIOS binary"
307         default "./bios/vgabios/VGABIOS-lgpl-latest.bin"
308         help
309           This is the vgabios that will be used for the guests
310
311 config VMXASSIST_PATH
312         string "Path to pre-built VMXASSIST binary"
313         depends on VMX
314         default "./bios/vmxassist/vmxassist.bin"
315         help
316           This is vmxassist image to boot real mode guests on 
317           Intel VMX Platforms
318
319 endmenu
320
321
322 source "palacios/src/devices/Kconfig"
323