freebsd-dev/sys/amd64
John Baldwin 6db55a0f3a Rework pass through changes in r305485 to be safer.
Specifically, devices that do not support PCI-e FLR and were not
gracefully shutdown by the guest OS could continue to issue DMA
requests after the VM was terminated.  The changes in r305485 meant
that those DMA requests were completed against the host's memory which
could result in random memory corruption.  Instead, leave ppt devices
that are not attached to a VM disabled in the IOMMU and only restore
the devices to the host domain if the ppt(4) driver is detached from a
device.

As an added safety belt, disable busmastering for a pass-through device
when before adding it to the host domain during ppt(4) detach.

PR:		222937
Tested by:	Harry Schmalzbauer <freebsd@omnilan.de>
Reviewed by:	grehan
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D12661
2017-10-27 14:57:14 +00:00
..
acpica Ensure that resume path on amd64 only accesses page tables for normal 2017-05-15 20:52:43 +00:00
amd64 Fix the VM_NRESERVLEVEL == 0 build. 2017-10-23 15:34:05 +00:00
cloudabi32 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
cloudabi64 Keep top page on CloudABI to work around AMD Ryzen stability issues. 2017-08-02 13:08:10 +00:00
conf With r181803 on 2008-08-17 23:27:27Z the first VIMAGE commit went into 2017-10-20 21:40:59 +00:00
ia32 amd64: avoid acquiring dt lock if possible (which is the common case) 2017-10-20 03:30:02 +00:00
include Make the sleepq chain hash size configurable per-arch and bump on amd64. 2017-10-22 20:43:50 +00:00
linux amd64: avoid acquiring dt lock if possible (which is the common case) 2017-10-20 03:30:02 +00:00
linux32 amd64: avoid acquiring dt lock if possible (which is the common case) 2017-10-20 03:30:02 +00:00
pci pcicfg: Fix direct calls of pci_cfg{read,write} on systems w/o PCI host bridge. 2017-05-04 05:28:46 +00:00
sgx Fix module unload when SGX support is not present in CPU. 2017-08-18 14:47:06 +00:00
vmm Rework pass through changes in r305485 to be safer. 2017-10-27 14:57:14 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00