freebsd-dev/sys/dev/pci
John Baldwin 64414cc00f Update the I/O MMU in bhyve when PCI devices are added and removed.
When the I/O MMU is active in bhyve, all PCI devices need valid entries
in the DMAR context tables. The I/O MMU code does a single enumeration
of the available PCI devices during initialization to add all existing
devices to a domain representing the host. The ppt(4) driver then moves
pass through devices in and out of domains for virtual machines as needed.
However, when new PCI devices were added at runtime either via SR-IOV or
HotPlug, the I/O MMU tables were not updated.

This change adds a new set of EVENTHANDLERS that are invoked when PCI
devices are added and deleted. The I/O MMU driver in bhyve installs
handlers for these events which it uses to add and remove devices to
the "host" domain.

Reviewed by:	imp
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D7667
2016-09-06 20:17:54 +00:00
..
eisa_pci.c Revert previous change. The magical constants can't be changed 2015-06-06 17:04:36 +00:00
fixup_pci.c
hostb_pci.c sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
ignore_pci.c Revert previous change. The magical constants can't be changed 2015-06-06 17:04:36 +00:00
isa_pci.c Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
pci_host_generic.c Remove check for 64-bit FDT ranges in pci-host-generic 2016-09-06 15:06:08 +00:00
pci_host_generic.h Import missing enum declaration in pci_host_generic header file 2016-09-06 15:11:37 +00:00
pci_if.m Permit the name of the /dev/iov entry to be set by the driver. 2016-08-03 17:09:12 +00:00
pci_iov_if.m Create a separate kobj interface for leaf-driver PCI IOV methods. 2015-05-28 22:01:50 +00:00
pci_iov_private.h Save and restore SRIOV-related config registers. 2016-05-03 19:45:24 +00:00
pci_iov_schema.c Clean up repeated "All rights reserved" 2016-03-14 17:41:17 +00:00
pci_iov.c Permit the name of the /dev/iov entry to be set by the driver. 2016-08-03 17:09:12 +00:00
pci_iov.h Permit the name of the /dev/iov entry to be set by the driver. 2016-08-03 17:09:12 +00:00
pci_pci.c PCIe HotPlug: Detect bridges that are not really HotPlug capable 2016-08-17 01:24:34 +00:00
pci_private.h Permit the name of the /dev/iov entry to be set by the driver. 2016-08-03 17:09:12 +00:00
pci_subr.c Use uintmax_t (typedef'd to rman_res_t type) for rman ranges. 2016-03-18 01:28:41 +00:00
pci_user.c Reliably return PCI_GETCONF_LAST_DEVICE from PCIOCGETCONF. 2016-08-09 17:57:11 +00:00
pci.c Update the I/O MMU in bhyve when PCI devices are added and removed. 2016-09-06 20:17:54 +00:00
pcib_if.m Re-commit r299467 having fixed the build: 2016-05-16 09:15:50 +00:00
pcib_private.h Implement a proper detach method for the PCI-PCI bridge driver. 2016-05-20 00:03:22 +00:00
pcib_support.c Re-commit r299467 having fixed the build: 2016-05-16 09:15:50 +00:00
pcireg.h Native PCI-express HotPlug support. 2016-05-05 22:26:23 +00:00
pcivar.h Update the I/O MMU in bhyve when PCI devices are added and removed. 2016-09-06 20:17:54 +00:00
schema_private.h Clean up repeated "All rights reserved" 2016-03-14 17:41:17 +00:00
vga_pci.c Replace all resource occurrences of '0UL/~0UL' with '0/~0'. 2016-03-03 05:07:35 +00:00