intel-iommu: Unify hardware and software passthrough support
authorDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 4 Aug 2009 15:19:20 +0000 (16:19 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 4 Aug 2009 15:19:23 +0000 (16:19 +0100)
commit19943b0e30b05d42e494ae6fef78156ebc8c637e
tree1c7e1dffac6ee9f0fb5920078475ad19e8919c5b
parent0815565adfe3f4c369110c57d8ffe83caefeed68
intel-iommu: Unify hardware and software passthrough support

This makes the hardware passthrough mode work a lot more like the
software version, so that the behaviour of a kernel with 'iommu=pt'
is the same whether the hardware supports passthrough or not.

In particular:
 - We use a single si_domain for the pass-through devices.
 - 32-bit devices can be taken out of the pass-through domain so that
   they don't have to use swiotlb.
 - Devices will work again after being removed from a KVM guest.
 - A potential oops on OOM (in init_context_pass_through()) is fixed.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
arch/x86/kernel/pci-swiotlb.c
drivers/pci/intel-iommu.c