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 b5e625e..2654818 100644 (file)
@@ -1,12 +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" 
        default y
-       depends on ICC_BUS
        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"
@@ -15,11 +36,9 @@ config DEBUG_APIC
        help 
          Enable debugging for the APIC
 
-
-
 config IO_APIC
        bool "IOAPIC"
-       depends on ICC_BUS
+       depends on APIC
        default y
        help 
          Includes the Virtual IO APIC
@@ -31,35 +50,67 @@ config DEBUG_IO_APIC
        help 
          Enable debugging for the IO APIC
 
-
-config ICC_BUS
-       bool "ICC BUS"
+config MPTABLE
+       bool "MPTABLE"
        default y
+       depends on APIC
        help 
-         The ICC Bus for APIC/IOAPIC communication
+         Includes the MPTABLE to map the APICs and IO-APIC
 
 
-config BOCHS_DEBUG
-       bool "Bochs Debug Console Device"
-       default y
-       help 
-         Includes the Bochs Debug console device
+endmenu
 
+menu "Platform Devices and PCI"
 
 
-config GENERIC
-       bool "Generic Device"
+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
@@ -69,52 +120,88 @@ config I440FX
        help 
          Includes the Virtual Northbridge
 
+config PIIX3
+       bool "PIIX3 Southbridge"
+       default y
+       help
+         Includes the Virtual Piix3 Southbridge
 
-config IDE
-       bool "IDE"
+
+config PCI
+       bool "PCI"
        default y
-       help 
-         Includes the Virtual IDE layer
+       help
+         Includes the Virtual PCI Bus
 
-config DEBUG_IDE
-       bool "IDE Debugging"
-       default n
-       depends on IDE && DEBUG_ON 
+config DEBUG_PCI
+       bool "PCI debugging"
+       depends on PCI && DEBUG_ON
        help 
-         Enable debugging for the IDE Layer
+         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
 
-config KEYBOARD
-       bool "Keyboard"
-       default y
-       help 
-         Includes the Virtual standard PC Keyboard device
 
-config DEBUG_KEYBOARD
-       bool "Keyboard Debugging"
-       default n
-       depends on KEYBOARD && DEBUG_ON 
-       help 
-         Enable debugging for the Keyboard
+endmenu
 
+menu "Storage Controllers"
 
-config LINUX_VIRTIO_BALLOON
-       bool "Linux Virtio Balloon Device"
+config IDE
+       bool "IDE"
        default y
-       depends on PCI
        help 
-         Includes the Linux virtio balloon device
+         Includes the Virtual IDE layer
 
-config DEBUG_VIRTIO_BALLOON
-       bool "Linux Virtio Balloon Debugging"
+config DEBUG_IDE
+       bool "IDE Debugging"
        default n
-       depends on LINUX_VIRTIO_BALLOON  && DEBUG_ON 
+       depends on IDE && DEBUG_ON 
        help 
-         Enable debugging for the Linux Virtio Balloon Device
-
+         Enable debugging for the IDE Layer
 
 config LINUX_VIRTIO_BLOCK
        bool "Linux Virtio Block Device"
@@ -130,24 +217,75 @@ config DEBUG_VIRTIO_BLOCK
        help 
          Enable debugging for the Linux Virtio Block Device
 
-config LINUX_VIRTIO_SYM
-       bool "Linux Virtio Symbiotic Device"
+endmenu
+
+
+menu "Block Device Backends"
+
+config RAMDISK
+       bool "RAMDISK storage backend"
        default y
-       depends on PCI && SYMBIOTIC
+       depends on IDE || LINUX_VIRTIO_BLOCK
        help 
-         Includes the Linux virtio symbiotic device
+         Includes the RAM based disk backend
 
-config DEBUG_VIRTIO_SYM
-       bool "Linux Virtio Symbiotic Debugging"
-       default n
-       depends on LINUX_VIRTIO_SYM && DEBUG_ON 
+config DEBUG_RAMDISK
+       bool "RAMDISK backend debugging"
+       depends on RAMDISK && DEBUG_ON
        help 
-         Enable debugging for the Linux Virtio Symbiotic Device
+         Enable debugging for the ram based disk backend       
+
+
+config FILEDISK
+       bool "FILEDISK storage backend"
+       default y
+       depends on FILE && (IDE || LINUX_VIRTIO_BLOCK)
+       help
+         Includes the file based disk backend
+
+config DEBUG_FILEDISK
+       bool "FILEDISK backend debugging"
+       depends on FILEDISK && DEBUG_ON
+       help 
+         Enable debugging for the file based disk backend      
+
+config QCOWDISK
+       bool "QCOWDISK storage backend"
+       default y
+       depends on FILE && (IDE || LINUX_VIRTIO_BLOCK)
+       help
+         Includes the QEMU QCOW2 file-based disk backend
+
+config DEBUG_QCOWDISK
+       bool "QCOWDISK backend debugging"
+       depends on QCOWDISK && DEBUG_ON
+       help 
+         Enable debugging for the QEMU QCOW2-based disk backend        
+
+config NETDISK
+       bool "NETDISK storage backend"
+       default y
+       depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK)
+       help 
+         Includes the Network based disk backend
+
+config TMPDISK
+       bool "TMPDISK storage backend"
+       default y
+       depends on IDE || LINUX_VIRTIO_BLOCK
+       help 
+         Includes the temporary RAM disk 
+
+
+endmenu
+
+
+menu "Network Devices"
 
 config LINUX_VIRTIO_NET
         bool "Enable Virtio Network Device"
         default n
-       depends on PCI && EXPERIMENTAL
+       depends on PCI
         help
           Enable the Virtio Net
 
@@ -158,20 +296,12 @@ config DEBUG_VIRTIO_NET
         help
           Enable debugging for the Linux Virtio Network Device
 
-config VNET_NIC
-        bool "Enable VNET VIrtio NIC Device"
-        default n
-       depends on PCI && EXPERIMENTAL
-        help
-          Enable the VNET Virtio backend device
-
-config DEBUG_VNET_NIC
-        bool "VNET NIC Device Debugging"
+config LINUX_VIRTIO_VNET
+        bool "Enable Virtio VNET interface"
         default n
-        depends on VNET_NIC && DEBUG_ON
+        depends on PCI && VNET
         help
-          Enable debugging for the VNET NIC Device
-
+          Enable the Virtio VNET interface for Control VM
 
 config NE2K
        bool "NE2K"
@@ -180,112 +310,215 @@ config NE2K
        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 DEBUG_RTL8139
+        bool "RTL8139 debugging"
+        default n
+        depends on RTL8139 && DEBUG_ON
+        help
+          Enable debugging for the RTL8139
 
 
+endmenu
 
-config NVRAM
-       bool "NVRAM"
-       default y
-       help
-         Includes the Virtual CMOS NVRAM Device
+menu "Network Backends"
 
-config DEBUG_NVRAM
-       bool "NVRAM debugging"
-       depends on NVRAM && DEBUG_ON
-       help 
-         Enable debugging for the NVRAM
 
+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 OS_DEBUG
-       bool "OS Debug Console Device"
-       default y
-       help 
-         Includes the OS Debug console 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 PIIX3
-       bool "PIIX3 Southbridge"
-       default y
+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
+
+endmenu
+
+
+
+
+menu "Consoles and Character Devices"
+
+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 PASSTHROUGH_PCI
-       bool "Passthrough PCI"
-       default y 
-       depends on PCI && EXPERIMENTAL && SYMBIOTIC
-       help 
-         Enables hardware devices to be passed through to the VM
+config TELNET_CONSOLE
+       bool "Telnet Virtual Console"
+       default n
+       depends on CGA
+       help
+         Includes the virtual telnet console 
 
-config DEBUG_PCI
-       bool "PCI debugging"
-       depends on PCI && DEBUG_ON
-       help 
-         Enable debugging for the PCI  
+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"
-       default y
+config DEBUG_VGA
+       bool "DEBUG_VGA"
+       default n
+       depends on VGA
        help
-         Includes the Virtual 8259a PIC Device
+         Enables debugging output for the VGA device 
 
-config DEBUG_PIC
-       bool "PIC debugging"
-       depends on PIC && DEBUG_ON
-       help 
-         Enable debugging for the PIC  
+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 PIT
-       bool "PIT"
+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 8254 PIT Device
+         Include Stream based character device frontend
 
-config DEBUG_PIT
-       bool "PIT debugging"
-       depends on PIT && DEBUG_ON
-       help 
-         Enable debugging for the PIT  
+endmenu
 
+menu "BIOS and Guest OS Debugging Devices"
 
-config NETDISK
-       bool "NETDISK storage backend"
+config BOCHS_DEBUG
+       bool "BIOS Debug Console Device"
        default y
-       depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK)
        help 
-         Includes the Network based disk backend
+         Includes the BIOS debug console device
 
-config RAMDISK
-       bool "RAMDISK storage backend"
+config OS_DEBUG
+       bool "OS Debug Console Device"
        default y
-       depends on IDE || LINUX_VIRTIO_BLOCK
        help 
-         Includes the RAM based disk backend
+         Includes the OS debug console device
 
+endmenu
 
-config TMPDISK
-       bool "TMPDISK storage backend"
+
+menu "Symbiotic Devices"
+
+config LINUX_VIRTIO_SYM
+       bool "Linux Virtio Symbiotic Device"
        default y
-       depends on IDE || LINUX_VIRTIO_BLOCK
+       depends on PCI && SYMBIOTIC
        help 
-         Includes the temporary RAM disk 
+         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 SWAPBYPASS_DISK_CACHE
        bool "SwapBypass disk cache"
@@ -300,29 +533,57 @@ config SWAPBYPASS_DISK_CACHE2
        depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE)
        help 
          Includes the SwapBypass ram based swap disk cache
+endmenu
 
-config DISK_MODEL
-       bool "Disk Performance Model"
+menu "Other Devices"
+
+config LINUX_VIRTIO_BALLOON
+       bool "Linux Virtio Balloon Device"
        default y
-       depends on LINUX_VIRTIO_BLOCK || IDE
+       depends on PCI
        help 
-         Includes Performance model filter for disk operations
+         Includes the Linux virtio balloon device
 
-config CGA
-       bool "CGA"
+config DEBUG_VIRTIO_BALLOON
+       bool "Linux Virtio Balloon Debugging"
        default n
-       depends on !PASSTHROUGH_VIDEO
-       help
-         Includes the Virtual CGA video support
+       depends on LINUX_VIRTIO_BALLOON  && DEBUG_ON 
+       help 
+         Enable debugging for the Linux Virtio Balloon Device
 
 
-config TELNET_CONSOLE
-       bool "Telnet Virtual Console"
+config GENERIC
+       bool "Generic Device"
+       default y
+       help 
+         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 CGA && !PASSTHROUGH_VIDEO
-       help
-         Includes the virtual telnet console 
+       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