qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 0/3] pcie: Add support for Single Root I/O Virtua


From: Knut Omang
Subject: [Qemu-devel] [PATCH v3 0/3] pcie: Add support for Single Root I/O Virtualization
Date: Tue, 1 Sep 2015 17:59:47 +0200

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_v3

Testing with the example device was documented here:

  http://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg05110.html

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 (3):
  pci: Make use of the devfn property when registering new devices
  pci: Update pci_regs header
  pcie: Add support for Single Root I/O Virtualization (SR/IOV)

 hw/i386/kvm/pci-assign.c                  |   4 +-
 hw/pci/Makefile.objs                      |   2 +-
 hw/pci/msix.c                             |   2 +-
 hw/pci/pci.c                              | 101 ++++++--
 hw/pci/pcie.c                             |   9 +-
 hw/pci/pcie_sriov.c                       | 271 +++++++++++++++++++++
 hw/vfio/pci.c                             |   9 +-
 include/hw/pci/pci.h                      |  11 +-
 include/hw/pci/pcie.h                     |   6 +
 include/hw/pci/pcie_sriov.h               |  55 +++++
 include/qemu/typedefs.h                   |   2 +
 include/standard-headers/linux/pci_regs.h | 380 ++++++++++++++++++++++--------
 12 files changed, 718 insertions(+), 134 deletions(-)
 create mode 100644 hw/pci/pcie_sriov.c
 create mode 100644 include/hw/pci/pcie_sriov.h

--
2.4.3



reply via email to

[Prev in Thread] Current Thread [Next in Thread]