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.


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