From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40501) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpBEf-0005w2-3x for qemu-devel@nongnu.org; Thu, 22 Oct 2015 04:28:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpBEb-0005KW-20 for qemu-devel@nongnu.org; Thu, 22 Oct 2015 04:28:33 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:37043) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpBEa-0005KS-RY for qemu-devel@nongnu.org; Thu, 22 Oct 2015 04:28:28 -0400 Message-ID: <1445502474.4614.95.camel@oracle.com> From: Knut Omang Date: Thu, 22 Oct 2015 10:27:54 +0200 In-Reply-To: <1445500895-27165-1-git-send-email-knut.omang@oracle.com> References: <1445500895-27165-1-git-send-email-knut.omang@oracle.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v6 0/4] pcie: Add support for Single Root I/O Virtualization List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Eduardo Habkost , "Michael S. Tsirkin" , "Richard W.M. Jones" , Alex Williamson , "Gonglei (Arei)" , Jan Kiszka , Dotan Barak , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson Michael, I just realized that this now went out without Reviewed-by: Marcel Apfelbaum to patches 2-4, Sorry about that - can you add it for me? Thanks, Knut On Thu, 2015-10-22 at 10:01 +0200, Knut Omang wrote: > This patch set implements generic support for SR/IOV as an extension > to the > core PCIe functionality, similar to the way other capabilities such > as AER > is implemented. > > There is no implementation of any device that provides > SR/IOV support included, but I have implemented a test > example which can be found together with this patch set here: > > git://github.com/knuto/qemu.git sriov_patches_v6 > > Testing with the example device was documented here: > > > http://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg05110.html > > Changes since v5: > - Fix reset logic that got broken in v5. Reset logic is now equal > to > that of v4 except that two ambiguous initialization statements > (introduced during rebase) have been removed > - From private feedback, added observer functions for SR/IOV values > in pcie_sriov.h. To ease access to the vf number, the SR/IOV VF > device > struct extension now caches this value. > > Changes since v4: > - Mostly based on feeback in Marcel Apfelbaum's review: > - The patch with changes to pci_regs.h got eliminated by rebase > - Added some documentation as an additional patch > - Some trivial fixes moved to separate patch > - Modified code to use error and trace functions instead of printfs > > Changes since v3: > - Reworked 'pci: Update pci_regs header' to merge kernel version > improvements > with the current qemu version instead of copying from the kernel > version. > > Changes since v2: > - Rebased onto 090d0bfd > - Un-qdev'ified - avoids issues when resetting NUM_VFS > - Fixed handling of vf_offset/vf_stride > > Changes since v1: > - Rebased on top of latest master, eliminating prereqs. > - Implement proper support for VF_STRIDE, VF_OFFSET and SUP_PGSIZE > Time better spent fixing it than explaining what the previous > limitations were. > - Added new first patch to fix pci bug related to this > - Split out patch to pci_default_config_write to a separate patch 2 > to highlight bug fix. > - Refactored out logic into new source files > hw/pci/pcie_sriov.c include/hw/pci/pcie_sriov.h > similar to pcie_aer.c/h. > - Rename functions and introduce structs to better separate > pf and vf functionality. > - Replaced is_vf member with pci_is_vf() function abstraction > - Fix numerous syntax, whitespace and comment issues > according to Michael's review. > - Fix memory leaks. > - Removed igb example device - a rebased version available > on github instead. > > Knut Omang (4): > pci: Make use of the devfn property when registering new devices > pcie: Add support for Single Root I/O Virtualization (SR/IOV) > pcie: Add some SR/IOV API documentation in docs/pcie_sriov.txt > pcie: A few minor fixes (type+code simplify) > > docs/pcie_sriov.txt | 115 ++++++++++++++++++ > hw/pci/Makefile.objs | 2 +- > hw/pci/pci.c | 97 ++++++++++++---- > hw/pci/pcie.c | 9 +- > hw/pci/pcie_sriov.c | 277 > ++++++++++++++++++++++++++++++++++++++++++++ > include/hw/pci/pci.h | 11 +- > include/hw/pci/pcie.h | 6 + > include/hw/pci/pcie_sriov.h | 67 +++++++++++ > include/qemu/typedefs.h | 2 + > trace-events | 5 + > 10 files changed, 561 insertions(+), 30 deletions(-) > create mode 100644 docs/pcie_sriov.txt > create mode 100644 hw/pci/pcie_sriov.c > create mode 100644 include/hw/pci/pcie_sriov.h > > -- > 2.4.3