From: Peter Dinda Date: Fri, 4 Oct 2013 15:16:24 +0000 (-0500) Subject: Restructure device configuration menus to make things clearer - X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=a8a10f70da3c173005db21e3c1dcf063f345c24f Restructure device configuration menus to make things clearer - we have too many devices to just have a giant list --- diff --git a/palacios/src/devices/Kconfig b/palacios/src/devices/Kconfig index d5d8c1d..f08d5b2 100644 --- a/palacios/src/devices/Kconfig +++ b/palacios/src/devices/Kconfig @@ -1,5 +1,20 @@ 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 @@ -35,7 +50,6 @@ config DEBUG_IO_APIC help Enable debugging for the IO APIC - config MPTABLE bool "MPTABLE" default y @@ -44,37 +58,47 @@ 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 I440FX bool "i440fx Northbridge" @@ -83,52 +107,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 -config LINUX_VIRTIO_BALLOON - bool "Linux Virtio Balloon Device" +menu "Storage Controllers" + +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" @@ -144,32 +204,62 @@ 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 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 @@ -180,7 +270,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 @@ -188,6 +277,40 @@ config LINUX_VIRTIO_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 + bool "NE2K debugging" + 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 + +menu "Network Backends" + + config DEBUG_LINUX_VIRTIO_VNET bool "Virtio VNET Interface Debugging" default n @@ -195,8 +318,6 @@ config DEBUG_LINUX_VIRTIO_VNET help Enable debugging for the VNET Virtio interface - - config VNET_NIC bool "Enable VNET Backend Device" default n @@ -225,35 +346,6 @@ config DEBUG_VNET_GUEST_IFACE help Enable debugging for the VNET guest hypercall interface - -config NE2K - bool "NE2K" - depends on EXPERIMENTAL - default n - help - Includes the Virtual NE2K network card - -config DEBUG_NE2K - bool "NE2K debugging" - 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 - config NIC_BRIDGE bool "Enable Direct Bridge to Host network" default n @@ -268,162 +360,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 HOST_PCI_SELPRIV - bool "Host PCI selective privilege" - depends on HOST_PCI - depends on EXT_PRIV +config LINUX_VIRTIO_CONSOLE + bool "Enable Virtio Console Device" default n + depends on PCI 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. + Enable the Virtio Console -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 "Character Device Backends" -config PIC - bool "8259A PIC" - default y +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 - -config DEBUG_PIT - bool "PIT debugging" - depends on PIT && DEBUG_ON help - Enable debugging for the PIT + Includes the BIOS debug console device -config FILEDISK - bool "FILEDISK storage backend" +config OS_DEBUG + bool "OS Debug Console Device" 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 + Includes the OS debug console device -config NETDISK - bool "NETDISK storage backend" - default y - depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK) - help - Includes the Network based disk backend +endmenu -config RAMDISK - bool "RAMDISK storage backend" - default y - depends on IDE || LINUX_VIRTIO_BLOCK - help - Includes the RAM based disk backend -config DEBUG_RAMDISK - bool "RAMDISK backend debugging" - depends on RAMDISK && DEBUG_ON - help - Enable debugging for the ram based disk backend +menu "Symbiotic Devices" -config TMPDISK - bool "TMPDISK storage 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 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" @@ -438,94 +507,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 - -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 - + 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