X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2FKconfig;h=2654818ccd5ab2baf504833591a0493d396c6890;hp=23a88ff3b28f980e4a5c12487daf2a0a1c313750;hb=a2c42ecf5c65f014a1a22b6a3fc3548482c4ec22;hpb=0d59908c92e599d6061db7ebba75f2f0d87fef63 diff --git a/palacios/src/devices/Kconfig b/palacios/src/devices/Kconfig index 23a88ff..2654818 100644 --- a/palacios/src/devices/Kconfig +++ b/palacios/src/devices/Kconfig @@ -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" 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,8 +36,6 @@ config DEBUG_APIC help Enable debugging for the APIC - - config IO_APIC bool "IOAPIC" depends on APIC @@ -30,7 +50,6 @@ config DEBUG_IO_APIC help Enable debugging for the IO APIC - config MPTABLE bool "MPTABLE" default y @@ -39,36 +58,59 @@ config MPTABLE 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. 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. + 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 @@ -78,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 PCI Bus + +config DEBUG_PCI + bool "PCI debugging" + depends on PCI && DEBUG_ON help - Includes the Virtual IDE layer + Enable debugging for the PCI -config DEBUG_IDE - bool "IDE Debugging" - default n - depends on IDE && DEBUG_ON +config PASSTHROUGH_PCI + bool "Passthrough PCI" + default y + depends on PCI && EXPERIMENTAL && SYMBIOTIC help - Enable debugging for the IDE Layer + 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 KEYBOARD - bool "Keyboard" - default y - help - Includes the Virtual standard PC Keyboard 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 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" @@ -139,32 +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 LINUX_VIRTIO_CONSOLE - bool "Enable Virtio Console Device" - default n - depends on PCI - help - Enable the Virtio Console + +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 && VNET + depends on PCI help Enable the Virtio Net @@ -175,7 +296,6 @@ config DEBUG_VIRTIO_NET help Enable debugging for the Linux Virtio Network Device - config LINUX_VIRTIO_VNET bool "Enable Virtio VNET interface" default n @@ -183,29 +303,6 @@ config LINUX_VIRTIO_VNET help Enable the Virtio VNET interface for Control VM -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 NE2K bool "NE2K" depends on EXPERIMENTAL @@ -234,6 +331,47 @@ config DEBUG_RTL8139 help Enable debugging for the RTL8139 + +endmenu + +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 @@ -248,143 +386,139 @@ config DEBUG_NIC_BRIDGE help Enable Debugging on Host Direct Network Bridge backend device +endmenu -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 +menu "Consoles and Character Devices" +config CGA + bool "CGA" + default n + help + Includes the Virtual CGA video support -config OS_DEBUG - bool "OS Debug Console Device" - default y - help - Includes the OS Debug console device +config DEBUG_CGA + int "DEBUG_CGA" + default 0 + depends on CGA + help + Enables Debugging for the CGA device (2 = Verbose, 1 = Debug, 0 = Off) -config PIIX3 - bool "PIIX3 Southbridge" - default y +config TELNET_CONSOLE + bool "Telnet Virtual Console" + default n + depends on CGA help - Includes the Virtual Piix3 Southbridge + 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 PCI - bool "PCI" - default y +config VGA + bool "VGA" + default n + depends GRAPHICS_CONSOLE help - Includes the Virtual PCI Bus + 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 PASSTHROUGH_PCI - bool "Passthrough PCI" - default y - depends on PCI && EXPERIMENTAL && SYMBIOTIC - help - Enables hardware devices to be passed through to the VM +config DEBUG_VGA + bool "DEBUG_VGA" + default n + depends on VGA + help + Enables debugging output for the VGA device -config DEBUG_PCI - bool "PCI debugging" - depends on PCI && DEBUG_ON - help - Enable debugging for the PCI +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 PCI_FRONT - bool "PCI front-end device" - default y - depends on PCI && HOST_DEVICE +config SERIAL_UART + bool "Serial Port" + default y 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. - + Include virtual serial port -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 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 -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 +endmenu +menu "Character Device Backends" -config PIT - bool "PIT" - default y +config CHAR_STREAM + bool "Stream based character frontend" + depends on STREAM + default n help - Includes the Virtual 8254 PIT Device - -config DEBUG_PIT - bool "PIT debugging" - depends on PIT && DEBUG_ON - help - Enable debugging for the PIT + Include Stream based character device frontend -config FILEDISK - bool "FILEDISK storage backend" - default y - depends on FILE && (IDE || LINUX_VIRTIO_BLOCK) - help - Includes the file based disk backend +endmenu -config DEBUG_FILEDISK - bool "FILEDISK backend debugging" - depends on FILEDISK && DEBUG_ON - help - Enable debugging for the file based disk backend +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 -config DEBUG_RAMDISK - bool "RAMDISK backend debugging" - depends on RAMDISK && DEBUG_ON - help - Enable debugging for the ram based disk backend +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" @@ -399,79 +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 - -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 DEBUG_VGA - bool "DEBUG_VGA" - default n - depends on VGA - help - Enables debugging output for the VGA device + Includes the Linux virtio balloon device -config CGA - bool "CGA" +config DEBUG_VIRTIO_BALLOON + bool "Linux Virtio Balloon Debugging" default n - help - Includes the Virtual CGA video support + depends on LINUX_VIRTIO_BALLOON && DEBUG_ON + help + Enable debugging for the Linux Virtio Balloon Device -config DEBUG_CGA - int "DEBUG_CGA" - default 0 - depends on CGA - help - Enables Debugging for the CGA device (2 = Verbose, 1 = Debug, 0 = Off) +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 TELNET_CONSOLE - bool "Telnet Virtual Console" +config DEBUG_GENERIC + bool "Generic device Debugging" default n - depends on CGA - help - Includes the virtual telnet console + depends on GENERIC && DEBUG_ON + help + Enable debugging for Generic -config CURSES_CONSOLE - bool "Curses Virtual Console" - default n - depends on CGA && CONSOLE - help - Includes the virtual curses console -config SERIAL_UART - bool "Serial Port" +config DISK_MODEL + bool "Disk Performance Model" default y + depends on LINUX_VIRTIO_BLOCK || IDE help - Include virtual serial port + Includes Performance model filter for disk operations -config DEBUG_SERIAL - bool "Debug Serial Port" - default n - depends on SERIAL_UART - help - Debugging virtual serial port -config CHAR_STREAM - bool "Stream based character frontend" - depends on STREAM - default n - help - Include Stream based character device frontend +endmenu endmenu