qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 0/4] pcie: Add support for Single Root I/O Virtualization
@ 2015-10-22  8:01 Knut Omang
  2015-10-22  8:01 ` [Qemu-devel] [PATCH v6 1/4] pci: Make use of the devfn property when registering new devices Knut Omang
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Knut Omang @ 2015-10-22  8:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, Michael S. Tsirkin, Knut Omang,
	Richard W.M. Jones, Alex Williamson, Gonglei (Arei), Jan Kiszka,
	Dotan Barak, Marcel Apfelbaum, Paolo Bonzini, Richard Henderson

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-10-22 14:39 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-22  8:01 [Qemu-devel] [PATCH v6 0/4] pcie: Add support for Single Root I/O Virtualization Knut Omang
2015-10-22  8:01 ` [Qemu-devel] [PATCH v6 1/4] pci: Make use of the devfn property when registering new devices Knut Omang
2015-10-22  8:01 ` [Qemu-devel] [PATCH v6 2/4] pcie: Add support for Single Root I/O Virtualization (SR/IOV) Knut Omang
2015-10-22  8:51   ` Dotan Barak
2015-10-22  8:54     ` Marcel Apfelbaum
2015-10-22  8:01 ` [Qemu-devel] [PATCH v6 3/4] pcie: Add some SR/IOV API documentation in docs/pcie_sriov.txt Knut Omang
2015-10-22  8:01 ` [Qemu-devel] [PATCH v6 4/4] pcie: A few minor fixes (type+code simplify) Knut Omang
2015-10-22  8:27 ` [Qemu-devel] [PATCH v6 0/4] pcie: Add support for Single Root I/O Virtualization Knut Omang
2015-10-22 13:14 ` Michael S. Tsirkin
2015-10-22 13:47   ` Knut Omang
2015-10-22 14:22     ` Dotan Barak
2015-10-22 14:39       ` Michael S. Tsirkin

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).