From: Alex Williamson <alex.williamson@redhat.com>
To: aliguori@us.ibm.com
Cc: kvm@vger.kernel.org, aik@ozlabs.ru, jan.kiszka@siemens.com,
qemu-devel@nongnu.org, blauwirbel@gmail.com, avi@redhat.com
Subject: [Qemu-devel] [PATCH v4 0/4] VFIO-based PCI device assignment
Date: Thu, 13 Sep 2012 14:10:56 -0600 [thread overview]
Message-ID: <20120913195054.10274.28026.stgit@bling.home> (raw)
Here's an updated version of the VFIO PCI device assignment series.
Now that we're targetting QEMU 1.3, I've opened up support so that
vfio-pci is added to all softmmu targets supporting PCI on Linux
hosts. Only some printf format changes were required to make this
build.
I also added a workaround for INTx support. Ideally we'd like to know
when an EOI is written to the interrupt controller to know when to
de-assert and unmask an interrupt, but as a substitute we can consider
a BAR access to be a response to an interrupt and do the de-assert and
unmask then. The device will re-assert the interrupt until it's been
handled. The benefit is that the solution is generic, the draw-back
is that we can't make use of the mmap'd memory region in this mode.
The memory API conveniently has a way to toggle enabling the mmap'd
region that fits nicely with this usage.
I've also added an x-intx=off option to disable INTx support for a
device, which can be useful for devices that don't make use of any
interrupts and for which the overhead of trapping BAR access is too
high (graphics cards, including a Radeon HD 5450 which I was able to
get working under WinXP with this version). This option should be
considered experimental, thus the x- prefix. Future EOI acceleration
should make this option unnecessary where KVM is available.
I was also successful in passing through both a tg3 and e1000e NIC
from an x86 host to powerpc guest (g3beiege) using this series. This
guest machine doesn't appear to support MSI, so the INTx mechanism
above is necessary to trigger an EOI.
In addition to these series here, the code is able at:
git://github.com/awilliam/qemu-vfio.git branch vfio-for-qemu
as well is in signed tag vfio-pci-for-qemu-v4.
Thanks,
Alex
---
Alex Williamson (4):
vfio: Enable vfio-pci and mark supported
vfio: vfio-pci device assignment driver
Update Linux kernel headers
Update kernel header script to include vfio
MAINTAINERS | 5
configure | 6
hw/Makefile.objs | 3
hw/vfio_pci.c | 1860 +++++++++++++++++++++++++++++++++++++++
hw/vfio_pci_int.h | 114 ++
linux-headers/linux/vfio.h | 368 ++++++++
scripts/update-linux-headers.sh | 2
7 files changed, 2356 insertions(+), 2 deletions(-)
create mode 100644 hw/vfio_pci.c
create mode 100644 hw/vfio_pci_int.h
create mode 100644 linux-headers/linux/vfio.h
next reply other threads:[~2012-09-13 20:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-13 20:10 Alex Williamson [this message]
2012-09-13 20:11 ` [Qemu-devel] [PATCH v4 1/4] Update kernel header script to include vfio Alex Williamson
2012-09-13 20:11 ` [Qemu-devel] [PATCH v4 2/4] Update Linux kernel headers Alex Williamson
2012-09-13 20:11 ` [Qemu-devel] [PATCH v4 3/4] vfio: vfio-pci device assignment driver Alex Williamson
2012-09-14 18:48 ` Blue Swirl
2012-09-13 20:11 ` [Qemu-devel] [PATCH v4 4/4] vfio: Enable vfio-pci and mark supported 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=20120913195054.10274.28026.stgit@bling.home \
--to=alex.williamson@redhat.com \
--cc=aik@ozlabs.ru \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=jan.kiszka@siemens.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).