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.


Host PCI with selective privilege (can dynamically permit or disallow PCI passthrough...
[palacios.git] / palacios / src / devices / Kconfig
1 menu "Virtual Devices"
2
3 config APIC
4         bool "APIC" 
5         default y
6         help 
7           Includes the Virtual APIC device
8
9 config APIC_ENQUEUE_MISSED_TMR_IRQS
10         bool "Enqueue missed APIC timer interrpts"
11         default n
12         depends on APIC
13         help
14           Make up missed APIC periodic timer interrupts on later 
15           exits into the virtual machine
16
17 config DEBUG_APIC
18         bool "APIC Debugging"
19         default n
20         depends on APIC && DEBUG_ON 
21         help 
22           Enable debugging for the APIC
23
24 config IO_APIC
25         bool "IOAPIC"
26         depends on APIC
27         default y
28         help 
29           Includes the Virtual IO APIC
30
31 config DEBUG_IO_APIC
32         bool "IO APIC Debugging"
33         default n
34         depends on IO_APIC && DEBUG_ON 
35         help 
36           Enable debugging for the IO APIC
37
38
39 config MPTABLE
40         bool "MPTABLE"
41         default y
42         depends on APIC
43         help 
44           Includes the MPTABLE to map the APICs and IO-APIC
45
46
47 config BOCHS_DEBUG
48         bool "Bochs Debug Console Device"
49         default y
50         help 
51           Includes the Bochs Debug console device
52
53
54
55 config GENERIC
56         bool "Generic Device"
57         default y
58         help 
59           Includes the virtual generic device.  This device allows you
60           to see guest I/O port and memory region interaction with a physical
61           device on the underlying hardware, as well as to ignore such
62           interaction.  The generic device also serves as a front-end
63           device for non-PCI host-based virtual device implementations.  If
64           you want to handle either host-based virtual or physical devices
65           that are not PCI devices, this is what you want.  If you want
66           to handle a host-based virtual device that is a PCI device, you  
67           want to use the PCI front-end device.  If you want to handle
68           a physical PCI device, you want the passthrough PCI device.  
69
70 config DEBUG_GENERIC
71         bool "Generic device Debugging"
72         default n
73         depends on GENERIC && DEBUG_ON 
74         help 
75           Enable debugging for Generic
76
77
78
79 config I440FX
80         bool "i440fx Northbridge"
81         depends on PCI
82         default y
83         help 
84           Includes the Virtual Northbridge
85
86
87 config IDE
88         bool "IDE"
89         default y
90         help 
91           Includes the Virtual IDE layer
92
93 config DEBUG_IDE
94         bool "IDE Debugging"
95         default n
96         depends on IDE && DEBUG_ON 
97         help 
98           Enable debugging for the IDE Layer
99
100
101
102
103
104 config KEYBOARD
105         bool "Keyboard"
106         default y
107         help 
108           Includes the Virtual standard PC Keyboard device
109
110 config DEBUG_KEYBOARD
111         bool "Keyboard Debugging"
112         default n
113         depends on KEYBOARD && DEBUG_ON 
114         help 
115           Enable debugging for the Keyboard
116
117
118 config LINUX_VIRTIO_BALLOON
119         bool "Linux Virtio Balloon Device"
120         default y
121         depends on PCI
122         help 
123           Includes the Linux virtio balloon device
124
125 config DEBUG_VIRTIO_BALLOON
126         bool "Linux Virtio Balloon Debugging"
127         default n
128         depends on LINUX_VIRTIO_BALLOON  && DEBUG_ON 
129         help 
130           Enable debugging for the Linux Virtio Balloon Device
131
132
133 config LINUX_VIRTIO_BLOCK
134         bool "Linux Virtio Block Device"
135         default y
136         depends on PCI
137         help 
138           Includes the Linux virtio block device
139
140 config DEBUG_VIRTIO_BLOCK
141         bool "Linux Virtio Block Debugging"
142         default n
143         depends on LINUX_VIRTIO_BLOCK  && DEBUG_ON 
144         help 
145           Enable debugging for the Linux Virtio Block Device
146
147 config LINUX_VIRTIO_SYM
148         bool "Linux Virtio Symbiotic Device"
149         default y
150         depends on PCI && SYMBIOTIC
151         help 
152           Includes the Linux virtio symbiotic device
153
154 config DEBUG_VIRTIO_SYM
155         bool "Linux Virtio Symbiotic Debugging"
156         default n
157         depends on LINUX_VIRTIO_SYM && DEBUG_ON 
158         help 
159           Enable debugging for the Linux Virtio Symbiotic Device
160
161 config LINUX_VIRTIO_CONSOLE
162         bool "Enable Virtio Console Device"
163         default n
164         depends on PCI
165         help
166           Enable the Virtio Console
167
168
169 config LINUX_VIRTIO_NET
170         bool "Enable Virtio Network Device"
171         default n
172         depends on PCI && VNET
173         help
174           Enable the Virtio Net
175
176 config DEBUG_VIRTIO_NET
177         bool "Linux Virtio Net Debugging"
178         default n
179         depends on LINUX_VIRTIO_NET && DEBUG_ON
180         help
181           Enable debugging for the Linux Virtio Network Device
182
183
184 config LINUX_VIRTIO_VNET
185         bool "Enable Virtio VNET interface"
186         default n
187         depends on PCI && VNET
188         help
189           Enable the Virtio VNET interface for Control VM
190
191 config DEBUG_LINUX_VIRTIO_VNET
192         bool "Virtio VNET Interface Debugging"
193         default n
194         depends on LINUX_VIRTIO_VNET && DEBUG_ON
195         help
196           Enable debugging for the VNET Virtio interface
197
198
199
200 config VNET_NIC
201         bool "Enable VNET Backend Device"
202         default n
203         depends on PCI && VNET
204         help
205           Enable the VNET backend device
206
207 config DEBUG_VNET_NIC
208         bool "VNET Backend Device Debugging"
209         default n
210         depends on VNET_NIC && DEBUG_ON
211         help
212           Enable debugging for the VNET NIC Device
213
214 config VNET_GUEST_IFACE
215         bool "Enable VNET guest hypercall interface"
216         default n
217         depends on VNET
218         help
219           Allows the guest to query for info, such as headers, from VNET
220
221 config DEBUG_VNET_GUEST_IFACE
222         bool "VNET guest hypercall interface debugging"
223         default n
224         depends on VNET_GUEST_IFACE && DEBUG_ON
225         help
226           Enable debugging for the VNET guest hypercall interface
227
228
229 config NE2K
230         bool "NE2K"
231         depends on EXPERIMENTAL
232         default n
233         help
234           Includes the Virtual NE2K network card
235
236 config DEBUG_NE2K
237         bool "NE2K debugging"
238         default n
239         depends on NE2K && DEBUG_ON
240         help 
241           Enable debugging for the NE2K
242
243 config RTL8139
244         bool "RTL8139"
245         depends on EXPERIMENTAL
246         default n
247         help
248           Includes the Virtual RTL8139 network card
249
250 config DEBUG_RTL8139
251         bool "RTL8139 debugging"
252         default n
253         depends on RTL8139 && DEBUG_ON
254         help
255           Enable debugging for the RTL8139
256
257 config NIC_BRIDGE
258         bool "Enable Direct Bridge to Host network"
259         default n
260         depends on EXPERIMENTAL && PACKET
261         help
262           Enable Host Direct Network Bridge backend device for all network front devices
263
264 config DEBUG_NIC_BRIDGE
265         bool "Debugging Direct Bridge to Host network"
266         default n
267         depends on NIC_BRIDGE && DEBUG_ON
268         help
269           Enable Debugging on Host Direct Network Bridge backend device
270
271
272
273
274 config NVRAM
275         bool "NVRAM"
276         default y
277         help
278           Includes the Virtual CMOS NVRAM Device
279
280 config DEBUG_NVRAM
281         bool "NVRAM debugging"
282         depends on NVRAM && DEBUG_ON
283         help 
284           Enable debugging for the NVRAM
285
286
287
288 config OS_DEBUG
289         bool "OS Debug Console Device"
290         default y
291         help 
292           Includes the OS Debug console device
293
294
295 config PIIX3
296         bool "PIIX3 Southbridge"
297         default y
298         help
299           Includes the Virtual Piix3 Southbridge
300
301
302 config PCI
303         bool "PCI"
304         default y
305         help
306           Includes the Virtual PCI Bus
307
308 config PASSTHROUGH_PCI
309         bool "Passthrough PCI"
310         default y 
311         depends on PCI && EXPERIMENTAL && SYMBIOTIC
312         help 
313           Enables hardware devices to be passed through to the VM
314
315
316 config DEBUG_PCI
317         bool "PCI debugging"
318         depends on PCI && DEBUG_ON
319         help 
320           Enable debugging for the PCI  
321
322
323 config PCI_FRONT
324         bool "PCI front-end device"
325         default y 
326         depends on PCI && HOST_DEVICE
327         help 
328           PCI front-end device for a host-based PCI device implementation
329           This device allows you to project a host-based *virtual* device 
330           into the guest as a PCI device.   If you want to project a 
331           physical PCI device, use Passthrough PCI instead.  If you want
332           to project a non-PCI virtual or physical device, 
333           use the generic device.
334           
335
336 config DEBUG_PCI_FRONT
337         bool "PCI front-end debugging"
338         depends on PCI_FRONT && DEBUG_ON
339         help 
340           Enable debugging for the PCI front-end device 
341           
342
343 config HOST_PCI_SELPRIV
344         bool "Host PCI selective privilege"
345         depends on HOST_PCI
346         depends on EXT_PRIV
347         default n
348         help
349           This device enables selective direct access to hardware for
350           passthrough PCI devices. The privilege extension under
351           GEARS must be enabled for this option.  This device
352           is a variant of the "always on" "host_pci" device.
353
354 config DEBUG_HOST_PCI_SELPRIV
355     bool "Host PCI Debugging"
356     depends on HOST_PCI_SELPRIV
357     default n
358     help
359       This enables debugging output for the host_pci_selpriv device
360
361
362
363 config PIC
364         bool "8259A PIC"
365         default y
366         help
367           Includes the Virtual 8259a PIC Device
368
369 config DEBUG_PIC
370         bool "PIC debugging"
371         depends on PIC && DEBUG_ON
372         help 
373           Enable debugging for the PIC  
374
375
376 config PIT
377         bool "PIT"
378         default y
379         help
380           Includes the Virtual 8254 PIT Device
381
382 config DEBUG_PIT
383         bool "PIT debugging"
384         depends on PIT && DEBUG_ON
385         help 
386           Enable debugging for the PIT  
387
388 config FILEDISK
389         bool "FILEDISK storage backend"
390         default y
391         depends on FILE && (IDE || LINUX_VIRTIO_BLOCK)
392         help
393           Includes the file based disk backend
394
395 config DEBUG_FILEDISK
396         bool "FILEDISK backend debugging"
397         depends on FILEDISK && DEBUG_ON
398         help 
399           Enable debugging for the file based disk backend      
400
401 config NETDISK
402         bool "NETDISK storage backend"
403         default y
404         depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK)
405         help 
406           Includes the Network based disk backend
407
408 config RAMDISK
409         bool "RAMDISK storage backend"
410         default y
411         depends on IDE || LINUX_VIRTIO_BLOCK
412         help 
413           Includes the RAM based disk backend
414
415 config DEBUG_RAMDISK
416         bool "RAMDISK backend debugging"
417         depends on RAMDISK && DEBUG_ON
418         help 
419           Enable debugging for the ram based disk backend       
420
421 config TMPDISK
422         bool "TMPDISK storage backend"
423         default y
424         depends on IDE || LINUX_VIRTIO_BLOCK
425         help 
426           Includes the temporary RAM disk 
427
428 config SWAPBYPASS_DISK_CACHE
429         bool "SwapBypass disk cache"
430         default y
431         depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE)
432         help 
433           Includes the SwapBypass ram based swap disk cache
434
435 config SWAPBYPASS_DISK_CACHE2
436         bool "SwapBypass disk cache v2"
437         default y
438         depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE)
439         help 
440           Includes the SwapBypass ram based swap disk cache
441
442 config DISK_MODEL
443         bool "Disk Performance Model"
444         default y
445         depends on LINUX_VIRTIO_BLOCK || IDE
446         help 
447           Includes Performance model filter for disk operations
448
449 config VGA
450         bool "VGA"
451         default n
452         depends GRAPHICS_CONSOLE
453         help
454           Includes the Virtual VGA video support, and will 
455           eventually also include SVGA
456           Host frame buffer support (GRAPHICS_CONSOLE) is needed
457           for the hostframebuf option to work
458
459
460 config DEBUG_VGA
461         bool "DEBUG_VGA"
462         default n
463         depends on VGA
464         help
465           Enables debugging output for the VGA device 
466
467 config PARAGRAPH
468         bool "PARAGRAPH paravirtualized graphics card"
469         default n
470         depends GRAPHICS_CONSOLE
471         help
472           Includes a paravirtualized graphics card
473
474 config DEBUG_PARAGRAPH
475         bool "DEBUG_PARAGRAPH"
476         default n
477         depends on PARAGRAPH
478         help
479           Enables debugging output for the PARAGRAPH device
480
481
482 config CGA
483         bool "CGA"
484         default n
485         help
486           Includes the Virtual CGA video support
487
488
489 config DEBUG_CGA
490         int "DEBUG_CGA"
491         default 0
492         depends on CGA
493         help
494           Enables Debugging for the CGA device (2 = Verbose, 1 = Debug, 0 = Off)
495
496 config TELNET_CONSOLE
497         bool "Telnet Virtual Console"
498         default n
499         depends on CGA
500         help
501           Includes the virtual telnet console 
502
503 config CURSES_CONSOLE
504         bool "Curses Virtual Console"
505         default n
506         depends on CGA && CONSOLE
507         help
508           Includes the virtual curses console 
509
510 config SERIAL_UART
511         bool "Serial Port"
512         default y
513         help 
514           Include virtual serial port
515
516 config DEBUG_SERIAL
517         bool "Debug Serial Port"
518         default n
519         depends on SERIAL_UART
520         help
521           Debugging virtual serial port
522
523 config CHAR_STREAM
524         bool "Stream based character frontend"
525         depends on STREAM
526         default n
527         help
528           Include Stream based character device frontend
529
530 endmenu
531