This series make use of the recently posted kernel-side vfio-pci support for accessing VGA ranges. This enables a handful of devices to be used as the primary (only) VM console. See patch 2 for a list of devices. These show seabios text mode output and work with standard VGA drivers. Accelerated drivers are not yet working. I'd appreciate feedback, including the overall design of incorporating VGA and legacy I/O regions into VFIO. To reduce noise I'm not including the linux header update here, please see patch 3/3 of the kernel series for that. To test, grab the kernel patches and be sure to enable the new CONFIG_VFIO_PCI_VGA option. Then use the scripts/update-linux-headers.sh tool in the qemu tree passing it the location of the patched kernel tree. That should give you the headers necessary to build this. As evidenced by patch 2 in this series, graphics cards don't particularly deal well with virtual device addresses. Every card I've encountered has some means of determining physical register addresses via backdoors. For instance the Radeon HD5450 reads the upper byte of the I/O port BAR address from VGA register 0x3c3, an unused VGA register. It then uses a data/window offset into the I/O port BAR to get the address of the MMIO BAR. I fear our quirks will grow without bounds unless we switch to allowing identity mapping of devices. Does anyone have any thoughts on how intrusive that would be? From my brief look, it appears it would cause chaos in seabios' PCI allocator. Thanks, Alex --- Alex Williamson (2): qemu vfio-pci: Add support for VGA MMIO and I/O port access qemu vfio-pci: Graphics device quirks hw/vfio_pci.c | 655 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 653 insertions(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html