1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-11 14:10:34 +00:00
freebsd/sys
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
..
amd64 Update the I/O MMU in bhyve when PCI devices are added and removed. 2016-09-06 20:17:54 +00:00
arm Let knlist_add do the locking part 2016-09-06 19:36:28 +00:00
arm64 Enable superpages on arm64 by default. These seem to be stable, having 2016-09-04 17:50:23 +00:00
boot loader.efi: Bump the staging size to 64M. 2016-09-06 17:58:58 +00:00
bsm
cam Decode some new ATA commands found in ACS-3. 2016-08-27 19:51:37 +00:00
cddl fix zfs pool creation accidentally broken by r305331 2016-09-06 06:09:12 +00:00
compat Add missing header dependency. 2016-08-24 09:57:19 +00:00
conf Remove remnants of PERFMON and I586_PMC_GUPROF from amd64. 2016-09-06 19:25:32 +00:00
contrib Update Annapurna Alpine HAL to a newer version. 2016-09-06 14:59:13 +00:00
crypto
ddb Expand error messages: print symbol names, parentheses and shift tokens, 2016-08-28 19:33:09 +00:00
dev Update the I/O MMU in bhyve when PCI devices are added and removed. 2016-09-06 20:17:54 +00:00
fs Implement VOP_FDATASYNC() for msdosfs. 2016-08-15 19:17:00 +00:00
gdb
geom
gnu
i386 Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
isa
kern cv: do a lockless check for no waiters in cv_signal and cv_broadcastpri 2016-09-06 17:16:59 +00:00
kgssapi
libkern
mips [BHND/USB] Port of EHCI/OHCI support from ZRouter 2016-09-05 16:06:52 +00:00
modules Make some additional -Wconstant-conversion warnings from clang 3.9.0 in 2016-09-04 17:56:55 +00:00
net hyperv/hn: Stringent RNDIS packet message length/offset check. 2016-09-06 03:20:06 +00:00
net80211 [net80211] correctly lock the ifp before accessing the lladdr. 2016-08-18 01:25:12 +00:00
netgraph
netinet With clang 3.9.0, compiling sys/netinet/igmp.c results in the following 2016-09-04 17:23:10 +00:00
netinet6 Fix L2 caching for UDP over IPv6 2016-08-24 00:52:30 +00:00
netipsec Remove redundant sanity checks from ipsec[46]_common_input_cb(). 2016-08-31 11:51:52 +00:00
netnatm
netpfil Try to fix gcc compilation errors (which are right). 2016-08-18 10:26:15 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Do not free an uninitialized pointer on soaccept failure in the iWARP 2016-08-26 08:25:28 +00:00
opencrypto
pc98 Remove the ie(4) driver for Intel 82586 ISA Ethernet adapters. 2016-08-20 00:49:29 +00:00
powerpc Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
riscv Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
rpc
security Audit the accepted (or rejected) username argument to setlogin(2). 2016-08-20 20:28:08 +00:00
sparc64 Replace the number 4 in pmap_ts_referenced() by PMAP_TS_REFERENCED_MAX, 2016-09-04 22:08:04 +00:00
sys Resolve deadlock between device_detach() and usbd_do_request_flags() 2016-09-05 15:35:58 +00:00
teken
tests
tools Consider CROSS_BINUTILS_PREFIX environment variable so we use correct 2016-08-10 13:49:17 +00:00
ufs Renumber the advertising clause. 2016-09-06 15:17:35 +00:00
vm Respect the caller's hints when performing swap readahead. 2016-09-04 00:25:49 +00:00
x86 Remove remnants of PERFMON and I586_PMC_GUPROF from amd64. 2016-09-06 19:25:32 +00:00
xdr
xen
Makefile