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
index 1452ee3..2654818 100644 (file)
@@ -1,11 +1,33 @@
 menu "Virtual Devices"
 
+
+menu "Interrupt Logic and Multicore"
+
+config PIC
+       bool "8259A PIC"
+       default y
+       help
+         Includes the Virtual 8259a PIC Device
+
+config DEBUG_PIC
+       bool "PIC debugging"
+       depends on PIC && DEBUG_ON
+       help 
+         Enable debugging for the PIC  
+
 config APIC
-       bool "APIC"
+       bool "APIC" 
        default y
        help 
          Includes the Virtual APIC device
 
+config APIC_ENQUEUE_MISSED_TMR_IRQS
+       bool "Enqueue missed APIC timer interrpts"
+       default n
+       depends on APIC
+       help
+         Make up missed APIC periodic timer interrupts on later 
+         exits into the virtual machine
 
 config DEBUG_APIC
        bool "APIC Debugging"
@@ -14,28 +36,81 @@ config DEBUG_APIC
        help 
          Enable debugging for the APIC
 
+config IO_APIC
+       bool "IOAPIC"
+       depends on APIC
+       default y
+       help 
+         Includes the Virtual IO APIC
+
+config DEBUG_IO_APIC
+       bool "IO APIC Debugging"
+       default n
+       depends on IO_APIC && DEBUG_ON 
+       help 
+         Enable debugging for the IO APIC
 
-config BOCHS_DEBUG
-       bool "Bochs Debug Console Device"
+config MPTABLE
+       bool "MPTABLE"
        default y
+       depends on APIC
        help 
-         Includes the Bochs Debug console device
+         Includes the MPTABLE to map the APICs and IO-APIC
 
 
+endmenu
 
-config GENERIC
-       bool "Generic Device"
+menu "Platform Devices and PCI"
+
+
+config KEYBOARD
+       bool "Keyboard and mouse (PS/2)"
        default y
        help 
-         Includes the Virtual Generic device
+         Includes the virtual standard PS/2 keyboard and mouse
 
-config DEBUG_GENERIC
-       bool "Generic device Debugging"
+config DEBUG_KEYBOARD
+       bool "Keyboard Debugging"
        default n
-       depends on GENERIC && DEBUG_ON 
+       depends on KEYBOARD && DEBUG_ON 
        help 
-         Enable debugging for Generic
+         Enable debugging for the Keyboard
+
+config NVRAM
+       bool "NVRAM"
+       default y
+       help
+         Includes the Virtual CMOS NVRAM Device
+
+config DEBUG_NVRAM
+       bool "NVRAM debugging"
+       depends on NVRAM && DEBUG_ON
+       help 
+         Enable debugging for the NVRAM
+
+config PIT
+       bool "PIT"
+       default y
+       help
+         Includes the Virtual 8254 Programmable Interrupt Timer Device
 
+config DEBUG_PIT
+       bool "PIT debugging"
+       depends on PIT && DEBUG_ON
+       help 
+         Enable debugging for the PIT  
+
+config HPET
+    bool "HPET"
+    default n
+    help
+      Includes the High-Precision Event Timer Device
+
+config DEBUG_HPET
+    bool "HPET debugging"
+    depends on HPET && DEBUG_ON
+    help
+      Enable debugging for the HPET
 
 
 config I440FX
@@ -45,6 +120,75 @@ config I440FX
        help 
          Includes the Virtual Northbridge
 
+config PIIX3
+       bool "PIIX3 Southbridge"
+       default y
+       help
+         Includes the Virtual Piix3 Southbridge
+
+
+config PCI
+       bool "PCI"
+       default y
+       help
+         Includes the Virtual PCI Bus
+
+config DEBUG_PCI
+       bool "PCI debugging"
+       depends on PCI && DEBUG_ON
+       help 
+         Enable debugging for the PCI  
+
+config PASSTHROUGH_PCI
+       bool "Passthrough PCI"
+       default y 
+       depends on PCI && EXPERIMENTAL && SYMBIOTIC
+       help 
+         Enables hardware devices to be passed through to the VM
+
+
+config PCI_FRONT
+       bool "PCI front-end device"
+       default y 
+       depends on PCI && HOST_DEVICE
+       help 
+         PCI front-end device for a host-based PCI device implementation
+          This device allows you to project a host-based *virtual* device 
+          into the guest as a PCI device.   If you want to project a 
+          physical PCI device, use Passthrough PCI instead.  If you want
+          to project a non-PCI virtual or physical device, 
+          use the generic device.
+          
+
+config DEBUG_PCI_FRONT
+       bool "PCI front-end debugging"
+       depends on PCI_FRONT && DEBUG_ON
+       help 
+         Enable debugging for the PCI front-end device 
+          
+
+config HOST_PCI_SELPRIV
+        bool "Host PCI selective privilege"
+        depends on HOST_PCI
+        depends on EXT_PRIV
+        default n
+        help
+          This device enables selective direct access to hardware for
+          passthrough PCI devices. The privilege extension under
+          GEARS must be enabled for this option.  This device
+          is a variant of the "always on" "host_pci" device.
+
+config DEBUG_HOST_PCI_SELPRIV
+    bool "Host PCI Debugging"
+    depends on HOST_PCI_SELPRIV
+    default n
+    help
+      This enables debugging output for the host_pci_selpriv device
+
+
+endmenu
+
+menu "Storage Controllers"
 
 config IDE
        bool "IDE"
@@ -59,203 +203,387 @@ config DEBUG_IDE
        help 
          Enable debugging for the IDE Layer
 
-
-config IO_APIC
-       bool "IOAPIC"
-       depends on APIC
+config LINUX_VIRTIO_BLOCK
+       bool "Linux Virtio Block Device"
        default y
+       depends on PCI
        help 
-         Includes the Virtual IO APIC
+         Includes the Linux virtio block device
 
-config DEBUG_IO_APIC
-       bool "IO APIC Debugging"
+config DEBUG_VIRTIO_BLOCK
+       bool "Linux Virtio Block Debugging"
        default n
-       depends on IO_APIC && DEBUG_ON 
+       depends on LINUX_VIRTIO_BLOCK  && DEBUG_ON 
        help 
-         Enable debugging for the IO APIC
+         Enable debugging for the Linux Virtio Block Device
 
+endmenu
 
 
+menu "Block Device Backends"
 
-config KEYBOARD
-       bool "Keyboard"
+config RAMDISK
+       bool "RAMDISK storage backend"
        default y
+       depends on IDE || LINUX_VIRTIO_BLOCK
        help 
-         Includes the Virtual standard PC Keyboard device
+         Includes the RAM based disk backend
 
-config DEBUG_KEYBOARD
-       bool "Keyboard Debugging"
-       default n
-       depends on KEYBOARD && DEBUG_ON 
+config DEBUG_RAMDISK
+       bool "RAMDISK backend debugging"
+       depends on RAMDISK && DEBUG_ON
        help 
-         Enable debugging for the Keyboard
+         Enable debugging for the ram based disk backend       
 
 
-config LINUX_VIRTIO_BALLOON
-       bool "Linux Virtio Balloon Device"
+config FILEDISK
+       bool "FILEDISK storage backend"
        default y
-       depends on PCI
-       help 
-         Includes the Linux virtio balloon device
+       depends on FILE && (IDE || LINUX_VIRTIO_BLOCK)
+       help
+         Includes the file based disk backend
 
-config DEBUG_VIRTIO_BALLOON
-       bool "Linux Virtio Balloon Debugging"
-       default n
-       depends on LINUX_VIRTIO_BALLOON  && DEBUG_ON 
+config DEBUG_FILEDISK
+       bool "FILEDISK backend debugging"
+       depends on FILEDISK && DEBUG_ON
        help 
-         Enable debugging for the Linux Virtio Balloon Device
-
+         Enable debugging for the file based disk backend      
 
-config LINUX_VIRTIO_BLOCK
-       bool "Linux Virtio Block Device"
+config QCOWDISK
+       bool "QCOWDISK storage backend"
        default y
-       depends on PCI
-       help 
-         Includes the Linux virtio block device
+       depends on FILE && (IDE || LINUX_VIRTIO_BLOCK)
+       help
+         Includes the QEMU QCOW2 file-based disk backend
 
-config DEBUG_VIRTIO_BLOCK
-       bool "Linux Virtio Block Debugging"
-       default n
-       depends on LINUX_VIRTIO_BLOCK  && DEBUG_ON 
+config DEBUG_QCOWDISK
+       bool "QCOWDISK backend debugging"
+       depends on QCOWDISK && DEBUG_ON
        help 
-         Enable debugging for the Linux Virtio Block Device
+         Enable debugging for the QEMU QCOW2-based disk backend        
 
-config LINUX_VIRTIO_SYM
-       bool "Linux Virtio Symbiotic Device"
+config NETDISK
+       bool "NETDISK storage backend"
        default y
-       depends on PCI && SYMBIOTIC
+       depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK)
        help 
-         Includes the Linux virtio symbiotic device
+         Includes the Network based disk backend
 
-config DEBUG_VIRTIO_SYM
-       bool "Linux Virtio Symbiotic Debugging"
-       default n
-       depends on LINUX_VIRTIO_SYM && DEBUG_ON 
+config TMPDISK
+       bool "TMPDISK storage backend"
+       default y
+       depends on IDE || LINUX_VIRTIO_BLOCK
        help 
-         Enable debugging for the Linux Virtio Symbiotic Device
+         Includes the temporary RAM disk 
+
+
+endmenu
 
 
+menu "Network Devices"
+
+config LINUX_VIRTIO_NET
+        bool "Enable Virtio Network Device"
+        default n
+       depends on PCI
+        help
+          Enable the Virtio Net
+
+config DEBUG_VIRTIO_NET
+        bool "Linux Virtio Net Debugging"
+        default n
+        depends on LINUX_VIRTIO_NET && DEBUG_ON
+        help
+          Enable debugging for the Linux Virtio Network Device
+
+config LINUX_VIRTIO_VNET
+        bool "Enable Virtio VNET interface"
+        default n
+        depends on PCI && VNET
+        help
+          Enable the Virtio VNET interface for Control VM
 
 config NE2K
        bool "NE2K"
+       depends on EXPERIMENTAL
        default n
        help
          Includes the Virtual NE2K network card
 
-config DEBUG_NE2k
+config DEBUG_NE2K
        bool "NE2K debugging"
-       depends on NE2k && DEBUG_ON
+       default n
+       depends on NE2K && DEBUG_ON
        help 
          Enable debugging for the NE2K
 
+config RTL8139
+        bool "RTL8139"
+        depends on EXPERIMENTAL
+        default n
+        help
+          Includes the Virtual RTL8139 network card
 
-config NET_CD
-       bool "Networked CD backend"
-       default y
-       depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK)
-       help 
-         Includes the Network CD backend
+config DEBUG_RTL8139
+        bool "RTL8139 debugging"
+        default n
+        depends on RTL8139 && DEBUG_ON
+        help
+          Enable debugging for the RTL8139
 
-config NET_HD
-       bool "Networked HD backend"
-       default y
-       depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK)
-       help 
-         Includes the Network HD backend
 
+endmenu
 
-config NVRAM
-       bool "NVRAM"
-       default y
-       help
-         Includes the Virtual CMOS NVRAM Device
+menu "Network Backends"
+
+
+config DEBUG_LINUX_VIRTIO_VNET
+        bool "Virtio VNET Interface Debugging"
+        default n
+        depends on LINUX_VIRTIO_VNET && DEBUG_ON
+        help
+          Enable debugging for the VNET Virtio interface
+
+config VNET_NIC
+        bool "Enable VNET Backend Device"
+        default n
+       depends on PCI && VNET
+        help
+          Enable the VNET backend device
+
+config DEBUG_VNET_NIC
+        bool "VNET Backend Device Debugging"
+        default n
+        depends on VNET_NIC && DEBUG_ON
+        help
+          Enable debugging for the VNET NIC Device
+
+config VNET_GUEST_IFACE
+        bool "Enable VNET guest hypercall interface"
+        default n
+        depends on VNET
+        help
+          Allows the guest to query for info, such as headers, from VNET
+
+config DEBUG_VNET_GUEST_IFACE
+        bool "VNET guest hypercall interface debugging"
+        default n
+        depends on VNET_GUEST_IFACE && DEBUG_ON
+        help
+          Enable debugging for the VNET guest hypercall interface
+
+config NIC_BRIDGE
+        bool "Enable Direct Bridge to Host network"
+        default n
+        depends on EXPERIMENTAL && PACKET
+        help
+          Enable Host Direct Network Bridge backend device for all network front devices
+
+config DEBUG_NIC_BRIDGE
+        bool "Debugging Direct Bridge to Host network"
+        default n
+        depends on NIC_BRIDGE && DEBUG_ON
+        help
+          Enable Debugging on Host Direct Network Bridge backend device
 
-config DEBUG_NVRAM
-       bool "NVRAM debugging"
-       depends on NVRAM && DEBUG_ON
-       help 
-         Enable debugging for the NVRAM
+endmenu
 
 
 
-config OS_DEBUG
-       bool "OS Debug Console Device"
-       default y
-       help 
-         Includes the OS Debug console device
 
+menu "Consoles and Character Devices"
 
-config PIIX3
-       bool "PIIX3 Southbridge"
-       default y
+config CGA
+       bool "CGA"
+       default n
        help
-         Includes the Virtual Piix3 Southbridge
+         Includes the Virtual CGA video support
 
 
-config PCI
-       bool "PCI"
-       default y
+config DEBUG_CGA
+       int "DEBUG_CGA"
+       default 0
+       depends on CGA
        help
-         Includes the Virtual PCI Bus
+         Enables Debugging for the CGA device (2 = Verbose, 1 = Debug, 0 = Off)
 
-config DEBUG_PCI
-       bool "PCI debugging"
-       depends on PCI && DEBUG_ON
-       help 
-         Enable debugging for the PCI  
+config TELNET_CONSOLE
+       bool "Telnet Virtual Console"
+       default n
+       depends on CGA
+       help
+         Includes the virtual telnet console 
 
+config CURSES_CONSOLE
+       bool "Curses Virtual Console"
+       default n
+       depends on CGA && CONSOLE
+       help
+         Includes the virtual curses console 
+
+config VGA
+       bool "VGA"
+       default n
+       depends GRAPHICS_CONSOLE
+       help
+         Includes the Virtual VGA video support, and will 
+          eventually also include SVGA
+          Host frame buffer support (GRAPHICS_CONSOLE) is needed
+          for the hostframebuf option to work
 
 
-config PIC
-       bool "8259A PIC"
+config DEBUG_VGA
+       bool "DEBUG_VGA"
+       default n
+       depends on VGA
+       help
+         Enables debugging output for the VGA device 
+
+config PARAGRAPH
+        bool "PARAGRAPH paravirtualized graphics card"
+        default n
+        depends GRAPHICS_CONSOLE
+        help
+          Includes a paravirtualized graphics card
+
+config DEBUG_PARAGRAPH
+        bool "DEBUG_PARAGRAPH"
+        default n
+        depends on PARAGRAPH
+        help
+          Enables debugging output for the PARAGRAPH device
+
+config SERIAL_UART
+       bool "Serial Port"
        default y
+       help 
+         Include virtual serial port
+
+config DEBUG_SERIAL
+        bool "Debug Serial Port"
+        default n
+        depends on SERIAL_UART
+        help
+          Debugging virtual serial port
+
+config LINUX_VIRTIO_CONSOLE
+        bool "Enable Virtio Console Device"
+        default n
+       depends on PCI
+        help
+          Enable the Virtio Console
+
+
+endmenu
+
+menu "Character Device Backends"
+
+config CHAR_STREAM
+       bool "Stream based character frontend"
+       depends on STREAM
+       default n
        help
-         Includes the Virtual 8259a PIC Device
+         Include Stream based character device frontend
 
-config DEBUG_PIC
-       bool "PIC debugging"
-       depends on PIC && DEBUG_ON
-       help 
-         Enable debugging for the PIC  
+endmenu
 
+menu "BIOS and Guest OS Debugging Devices"
 
-config PIT
-       bool "PIT"
+config BOCHS_DEBUG
+       bool "BIOS Debug Console Device"
        default y
-       help
-         Includes the Virtual 8254 PIT Device
+       help 
+         Includes the BIOS debug console device
 
-config DEBUG_PIT
-       bool "PIT debugging"
-       depends on PIT && DEBUG_ON
+config OS_DEBUG
+       bool "OS Debug Console Device"
+       default y
        help 
-         Enable debugging for the PIT  
+         Includes the OS debug console device
 
+endmenu
 
 
+menu "Symbiotic Devices"
 
-config RAM_CD
-       bool "RAM based CD backend"
+config LINUX_VIRTIO_SYM
+       bool "Linux Virtio Symbiotic Device"
        default y
-       depends on IDE || LINUX_VIRTIO_BLOCK
+       depends on PCI && SYMBIOTIC
        help 
-         Includes the RAM based CD backend
+         Includes the Linux virtio symbiotic device
+
+config DEBUG_VIRTIO_SYM
+       bool "Linux Virtio Symbiotic Debugging"
+       default n
+       depends on LINUX_VIRTIO_SYM && DEBUG_ON 
+       help 
+         Enable debugging for the Linux Virtio Symbiotic Device
 
-config RAM_HD
-       bool "RAM based HD backend"
+config SWAPBYPASS_DISK_CACHE
+       bool "SwapBypass disk cache"
        default y
-       depends on IDE || LINUX_VIRTIO_BLOCK
+       depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE)
        help 
-         Includes the RAM based HD backend
+         Includes the SwapBypass ram based swap disk cache
+
+config SWAPBYPASS_DISK_CACHE2
+       bool "SwapBypass disk cache v2"
+       default y
+       depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE)
+       help 
+         Includes the SwapBypass ram based swap disk cache
+endmenu
 
+menu "Other Devices"
+
+config LINUX_VIRTIO_BALLOON
+       bool "Linux Virtio Balloon Device"
+       default y
+       depends on PCI
+       help 
+         Includes the Linux virtio balloon device
 
+config DEBUG_VIRTIO_BALLOON
+       bool "Linux Virtio Balloon Debugging"
+       default n
+       depends on LINUX_VIRTIO_BALLOON  && DEBUG_ON 
+       help 
+         Enable debugging for the Linux Virtio Balloon Device
 
 
-config SYM_SWAP
-       bool "Symbiotic Swap disk"
+config GENERIC
+       bool "Generic Device"
        default y
-       depends on SYMBIOTIC_SWAP && (LINUX_VIRTIO_BLOCK || IDE)
        help 
-         Includes the symbiotic ram based swap disk
+         Includes the virtual generic device.  This device allows you
+          to see guest I/O port and memory region interaction with a physical
+          device on the underlying hardware, as well as to ignore such
+          interaction.  The generic device also serves as a front-end
+          device for non-PCI host-based virtual device implementations.  If
+          you want to handle either host-based virtual or physical devices
+          that are not PCI devices, this is what you want.  If you want
+          to handle a host-based virtual device that is a PCI device, you  
+          want to use the PCI front-end device.  If you want to handle
+          a physical PCI device, you want the passthrough PCI device.  
+
+config DEBUG_GENERIC
+       bool "Generic device Debugging"
+       default n
+       depends on GENERIC && DEBUG_ON 
+       help 
+         Enable debugging for Generic
+
+
+config DISK_MODEL
+       bool "Disk Performance Model"
+       default y
+       depends on LINUX_VIRTIO_BLOCK || IDE
+       help 
+         Includes Performance model filter for disk operations
+
+
+endmenu
 
 endmenu
+