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

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


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:
(it requires membership.)

Devices that support SR-IOV are available from following vendors:

The patches to enable the SR-IOV capability of Intel 82576 NIC are
available at (a.k.a Physical Function driver):
And the driver for Intel 82576 Virtual Function are available at:

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/