From: Alex Williamson <alex.williamson@redhat.com>
To: alex.williamson@redhat.com
Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: [Qemu-devel] [RFC PATCH 0/2] qemu vfo-pci: VGA support + initial round of device quirks
Date: Mon, 14 Jan 2013 21:07:01 -0700 [thread overview]
Message-ID: <20130115035254.7607.91166.stgit@bling.home> (raw)
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(-)
next reply other threads:[~2013-01-15 4:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-15 4:07 Alex Williamson [this message]
2013-01-15 4:07 ` [Qemu-devel] [RFC PATCH 1/2] qemu vfio-pci: Add support for VGA MMIO and I/O port access Alex Williamson
2013-01-15 4:07 ` [Qemu-devel] [RFC PATCH 2/2] qemu vfio-pci: Graphics device quirks Alex Williamson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130115035254.7607.91166.stgit@bling.home \
--to=alex.williamson@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).