freebsd-skq/sys/amd64
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
..
acpica
amd64 Remove remnants of PERFMON and I586_PMC_GUPROF from amd64. 2016-09-06 19:25:32 +00:00
cloudabi32 Make execution of 32-bit CloudABI executables work on amd64. 2016-08-24 10:51:33 +00:00
cloudabi64 Convert pointers obtained from the threadattr_t structure with TO_PTR(). 2016-08-24 10:13:18 +00:00
conf Remove remnants of PERFMON and I586_PMC_GUPROF from amd64. 2016-09-06 19:25:32 +00:00
ia32
include On amd64, declare sse2_pagezero() and start using it again, but only 2016-08-29 13:07:21 +00:00
linux Don't create pointless backups of generated files in "make sysent". 2016-07-28 21:29:04 +00:00
linux32 Don't create pointless backups of generated files in "make sysent". 2016-07-28 21:29:04 +00:00
pci
vmm Update the I/O MMU in bhyve when PCI devices are added and removed. 2016-09-06 20:17:54 +00:00
Makefile