X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2FKconfig;h=2654818ccd5ab2baf504833591a0493d396c6890;hp=3758e6d8780c88db2b3e7c0a767c72217a00cd27;hb=a2c42ecf5c65f014a1a22b6a3fc3548482c4ec22;hpb=5b1f618cf74dbcd7e490fa3fe4da5a4c53d79b5d diff --git a/palacios/src/devices/Kconfig b/palacios/src/devices/Kconfig index 3758e6d..2654818 100644 --- a/palacios/src/devices/Kconfig +++ b/palacios/src/devices/Kconfig @@ -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 EXPERIMENTAL 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 EXPERIMENTAL + depends on APIC default y help Includes the Virtual IO APIC @@ -31,29 +50,67 @@ config DEBUG_IO_APIC 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 @@ -63,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" @@ -124,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 @@ -152,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 && VNET - 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" @@ -174,12 +310,67 @@ 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 + +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" @@ -195,122 +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_PCI - bool "PCI debugging" - depends on PCI && DEBUG_ON - help - Enable debugging for the PCI +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 PIC - bool "8259A PIC" +config SERIAL_UART + bool "Serial Port" 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 + Include virtual serial port +config DEBUG_SERIAL + bool "Debug Serial Port" + default n + depends on SERIAL_UART + help + Debugging virtual serial port -config PIT - bool "PIT" - default y - help - Includes the Virtual 8254 PIT Device +config LINUX_VIRTIO_CONSOLE + bool "Enable Virtio Console Device" + default n + depends on PCI + help + Enable the Virtio Console -config DEBUG_PIT - bool "PIT debugging" - depends on PIT && DEBUG_ON - help - Enable debugging for the PIT -config FILEDISK - bool "FILEDISK storage backend" - default y - depends on FILE && (IDE || LINUX_VIRTIO_BLOCK) +endmenu + +menu "Character Device Backends" + +config CHAR_STREAM + bool "Stream based character frontend" + depends on STREAM + default n help - Includes the file based disk backend + Include Stream based character device frontend -config DEBUG_FILEDISK - bool "FILEDISK backend debugging" - depends on FILEDISK && DEBUG_ON - help - Enable debugging for the file based disk backend +endmenu -config NETDISK - bool "NETDISK storage backend" +menu "BIOS and Guest OS Debugging Devices" + +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 baskend 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" @@ -325,54 +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 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 && !PASSTHROUGH_VIDEO - 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 && !PASSTHROUGH_VIDEO - 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 CHAR_STREAM - bool "Stream based character frontend" - default n - help - Include Stream based character device frontend + +endmenu endmenu