]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add support for PCIe ARI
authorRyan Stone <rstone@FreeBSD.org>
Tue, 1 Apr 2014 16:02:02 +0000 (16:02 +0000)
committerRyan Stone <rstone@FreeBSD.org>
Tue, 1 Apr 2014 16:02:02 +0000 (16:02 +0000)
commit55d3ea1731d1025ea5c0b44e3f3cf7a20fad4bd1
treef68beb59d1041da5f6c955161acc0105b4aed2af
parent9537ab6cc8f5690bd94f78bd679a186fd2664deb
Add support for PCIe ARI

PCIe Alternate RID Interpretation (ARI) is an optional feature that
allows devices to have up to 256 different functions.  It is
implemented by always setting the PCI slot number to 0 and
re-purposing the 5 bits used to encode the slot number to instead
contain the function number.  Combined with the original 3 bits
allocated for the function number, this allows for 256 functions.

This is enabled by default, but it's expected to be a no-op on currently
supported hardware.  It's a prerequisite for supporting PCI SR-IOV, and
I want the ARI support to go in early to help shake out any bugs in it.
ARI can be disabled by setting the tunable hw.pci.enable_ari=0.

Reviewed by: kib
MFC after: 2 months
Sponsored by: Sandvine Inc.
sys/dev/pci/pci.c
sys/dev/pci/pci_pci.c
sys/dev/pci/pcib_if.m
sys/dev/pci/pcib_private.h
sys/dev/pci/pcib_support.c
sys/dev/pci/pcireg.h