From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Lyon Subject: Re: [PATCH 0/5] Fixes, non-PCI-2.3 support, EOI enhancements Date: Mon, 1 Nov 2010 14:22:00 -0700 Message-ID: <201011011422.01165.pugs@cisco.com> References: <20101030164626.885.89216.stgit@s20.home> Mime-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, kvm@vger.kernel.org, avi@redhat.com, chrisw@redhat.com, mst@redhat.com To: Alex Williamson Return-path: In-Reply-To: <20101030164626.885.89216.stgit@s20.home> Sender: linux-pci-owner@vger.kernel.org List-Id: kvm.vger.kernel.org I've applied all your patches. Thanks! On Saturday, October 30, 2010 09:58:55 am Alex Williamson wrote: > Hi Tom, > > I've updated some patches I've been working on to v5 and wanted to > see what you think. I also found a couple minor bugs, fixed in this > series. > > The main idea is that since the VFIO interface defines that the INTx > interrupt is disabled when it fires, we should provide an interface > to re-enable it. We currently have to do a read-modify-write to PCI > config space, requring two ioctls. I introduce an ioctl to do this > for us. An important aspect of this is that now we can support > non-PCI-2.3 devices since re-enabling the interrupt is abstracted > (with the same caveat as current KVM device assignment, that they > must get an exclusive interrupt). The real trick though is that we > can then also create an irqfd-like mechanism to trigger re-enabling > interrupts from and eventfd. This allows qemu to do all the setup > for connecting interrupts from VFIO into KVM and EOIs from KVM to > VFIO, then lets userspace get completely out of the way. > > Hope you like it. Thanks, > > Alex > --- > > Alex Williamson (5): > vfio: Add a new ioctl to support EOI via eventfd > vfio: Add support for non-PCI 2.3 compliant devices > vfio: Add ioctl to re-enable interrupts > vfio: Fix requested regions > vfio: Fix the ROM mask > > > drivers/vfio/vfio_intrs.c | 254 > +++++++++++++++++++++++++++++++++++++--- drivers/vfio/vfio_main.c | > 37 +++++- > drivers/vfio/vfio_pci_config.c | 2 > drivers/vfio/vfio_rdwr.c | 4 - > include/linux/vfio.h | 14 ++ > 5 files changed, 279 insertions(+), 32 deletions(-)