X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2FKconfig;h=2654818ccd5ab2baf504833591a0493d396c6890;hp=4a5110133d44328d9a6c97a23ff38054fa04a24f;hb=a2c42ecf5c65f014a1a22b6a3fc3548482c4ec22;hpb=123a1ba27ea09c8fa77a1b36ce625b43d7c48b14 diff --git a/palacios/src/devices/Kconfig b/palacios/src/devices/Kconfig index 4a51101..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" + 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,82 +203,105 @@ 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" @@ -143,134 +310,280 @@ 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_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 PASSTHROUGH_PCI - bool "Passthrough PCI" - default y - depends on PCI && EXPERIMENTAL - 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" +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 -config NETDISK - bool "NETDISK storage backend" + +menu "Symbiotic Devices" + +config LINUX_VIRTIO_SYM + bool "Linux Virtio Symbiotic Device" default y - depends on SOCKET && (IDE || LINUX_VIRTIO_BLOCK) + depends on PCI && SYMBIOTIC help - Includes the Network based disk backend + Includes the Linux virtio symbiotic device -config RAMDISK - bool "RAMDISK storage backend" - default y - depends on IDE || LINUX_VIRTIO_BLOCK +config DEBUG_VIRTIO_SYM + bool "Linux Virtio Symbiotic Debugging" + default n + depends on LINUX_VIRTIO_SYM && DEBUG_ON help - Includes the RAM based disk backend + Enable debugging for the Linux Virtio Symbiotic Device +config SWAPBYPASS_DISK_CACHE + bool "SwapBypass disk cache" + default y + depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE) + help + Includes the SwapBypass ram based swap disk cache -config TMPDISK - bool "TMPDISK storage backend" +config SWAPBYPASS_DISK_CACHE2 + bool "SwapBypass disk cache v2" default y - depends on IDE || LINUX_VIRTIO_BLOCK + depends on SWAPBYPASS && (LINUX_VIRTIO_BLOCK || IDE) help - Includes the temporary RAM disk + Includes the SwapBypass ram based swap disk cache +endmenu + +menu "Other Devices" -config SYM_SWAP - bool "Symbiotic Swap disk" +config LINUX_VIRTIO_BALLOON + bool "Linux Virtio Balloon Device" default y - depends on SYMBIOTIC_SWAP && (LINUX_VIRTIO_BLOCK || IDE) + depends on PCI help - Includes the symbiotic ram based swap disk + 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