[PATCH v12 0/8] PCI: Linux kernel SR-IOV support

From: Yu Zhao
Date: Thu Mar 19 2009 - 23:24:57 EST


Greetings,

Following patches are intended to support SR-IOV capability in the
Linux kernel. With these patches, people can turn a PCI device with
the capability into multiple ones from software perspective, which
will benefit KVM and achieve other purposes such as QoS, security,
and etc.

SR-IOV specification can be found at:
http://www.pcisig.com/members/downloads/specifications/iov/sr-iov1.0_11Sep07.pdf
(it requires membership.)

Devices that support SR-IOV are available from following vendors:
http://download.intel.com/design/network/ProdBrf/320025.pdf
http://www.myri.com/vlsi/Lanai_Z8ES_Datasheet.pdf
http://www.neterion.com/products/pdfs/X3100ProductBrief.pdf

The patches to enable the SR-IOV capability of Intel 82576 NIC are
available at (a.k.a Physical Function driver):
http://patchwork.kernel.org/patch/8063/
http://patchwork.kernel.org/patch/8064/
http://patchwork.kernel.org/patch/8065/
http://patchwork.kernel.org/patch/8066/
And the driver for Intel 82576 Virtual Function are available at:
http://patchwork.kernel.org/patch/11029/
http://patchwork.kernel.org/patch/11028/


Major changes from v11 to v12:
1, fix using garbage entry pointer after the list_for_each (Matthew Wilcox)
2, use #ifdef around SR-IOV structure in the pci_dev (Matthew Wilcox)
3, enhance the Kconfig help text for the SR-IOV (Matthew Wilcox)

v10 to v11:
1, use pci_setup_device() to setup Virtual Function (Matthew Wilcox)
2, various coding style fixes (Matthew Wilcox)
3, wording and grammar fixes (Randy Dunlap)

v9 -> v10:
1, minor fix in pci_restore_iov_state().
2, respin against the latest tree.

v8 -> v9:
1, put a might_sleep() into SR-IOV API which sleeps (Andi Kleen)
2, block user config accesses before clearing VF Enable bit (Matthew Wilcox)

Yu Zhao (8):
PCI: initialize and release SR-IOV capability
PCI: restore saved SR-IOV state
PCI: reserve bus range for SR-IOV device
PCI: centralize device setup code
PCI: add SR-IOV API for Physical Function driver
PCI: handle SR-IOV Virtual Function Migration
PCI: document SR-IOV sysfs entries
PCI: manual for SR-IOV user and driver developer

Documentation/ABI/testing/sysfs-bus-pci | 27 ++
Documentation/DocBook/kernel-api.tmpl | 1 +
Documentation/PCI/pci-iov-howto.txt | 99 +++++
drivers/pci/Kconfig | 10 +
drivers/pci/Makefile | 2 +
drivers/pci/iov.c | 680 +++++++++++++++++++++++++++++++
drivers/pci/pci.c | 8 +
drivers/pci/pci.h | 53 +++
drivers/pci/probe.c | 86 +++--
include/linux/pci.h | 34 ++
include/linux/pci_regs.h | 33 ++
11 files changed, 994 insertions(+), 39 deletions(-)
create mode 100644 Documentation/PCI/pci-iov-howto.txt
create mode 100644 drivers/pci/iov.c

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/