]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 305502: Reset PCI pass through devices via PCI-e FLR during VM start/end.
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 30 Sep 2016 18:47:34 +0000 (18:47 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 30 Sep 2016 18:47:34 +0000 (18:47 +0000)
commitd51c38c8540bc00aea7e4d06defd5e0d029fd6b4
tree40eebb193bc1f2f586b485b14d6c3d5b8aae938b
parent46a649e841ca669bd2a2f1109e459b6674446f3a
MFC 305502: Reset PCI pass through devices via PCI-e FLR during VM start/end.

Add routines to trigger a function level reset (FLR) of a PCI-express
device via the PCI-express device control register.  This also includes
support routines to wait for pending transactions to complete as well
as calculating the maximum completion timeout permitted by a device.

Change the ppt(4) driver to reset pass through devices before attaching
to a VM during startup and before detaching from a VM during shutdown.

Sponsored by: Chelsio Communications

git-svn-id: svn://svn.freebsd.org/base/stable/10@306520 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
share/man/man9/Makefile
share/man/man9/pci.9
sys/amd64/vmm/io/ppt.c
sys/dev/pci/pci.c
sys/dev/pci/pcireg.h
sys/dev/pci/pcivar.h