Skip to content

Intel IOMMU Support

Ashok Raj lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest8 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8ACPI support for Intel Virtualization Technology for Directed I/Oarch/x86_64/Kconfig drivers/pci/Makefile drivers/pci/dmar.c +2 more+444 -70 replies
2/8Some generic search functions required to lookup device relationships.drivers/pci/pci.h drivers/pci/probe.c drivers/pci/search.c +1 more+47 -00 replies
3/8Generic hardware support for Intel IOMMU.arch/x86_64/kernel/io_apic.c arch/x86_64/kernel/pci-dma.c arch/x86_64/mm/pageattr.c +7 more+2751 -40 replies
4/8Supporting Zero Length Reads in Intel IOMMU.drivers/pci/intel-iommu.c include/linux/intel-iommu.h+11 -20 replies
5/8Graphics driver workarounds to provide unity maparch/x86_64/kernel/e820.c drivers/pci/dmar.h drivers/pci/intel-iommu.c +1 more+141 -00 replies
6/8Doc updates for Intel Virtualization Technology for Directed I/O.Documentation/Intel-IOMMU.txt Documentation/kernel-parameters.txt+139 -02 replies
7/8Support for legacy ISA devicesDocumentation/kernel-parameters.txt drivers/pci/intel-iommu.c+31 -00 replies
8/8Preserve some Virtual Address when devices cannot address entire range.Documentation/kernel-parameters.txt drivers/pci/intel-iommu.c+37 -50 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [Intel IOMMU][patch 0/8] Intel IOMMU Support

Hello again!

Andrew: Could you help include in -mm to give it more exposure preparing for mainline inclusion with more testing?

This is a resend of the patches after addressing some feedback we received.

1. As len requested, we moved most of the acpi parts to drivers/pci instead of leaving them in drivers/acpi, including some renaming of functions, using just acpi_get_table() only.

2. Made the guard page support configurable.
3. Added new option to allocate consecutive address instead of re-using free addresses as an experimental option, Not validated extensively. Its expected to improve in certain cases...
4. Fixed a couple minor bugs that got exposed in testing.

Some more interesting possibilities. -- enhancements to work on.

- In order to ensure we dont break any driver that may not be using dma api's here are some suggestions to work on.
- Create a single 1-1 map, and make sure any pci device gets this map when they do a pci_set_master() to enable bus mastering automatically.
- When the device driver does a first call to do a dma mapping, then dissociate the device from the unity map domain, to its own. This gives limited protection but doesnt break drivers that do not use dma mapping.
- Creating context entries only 1 per segment.. today we create one per IOMMU which is not required.

This way we can avoid doing some of the workarounds we do for some devices today, and will function as a default container for compatibility.

On one hand, this will provide more compatibility, but we will lose oppertunity to identify broken device drivers that dont use dma api's and fix them.... Depending on who you talk to.. some like it.. some just hate it! and would like to fix the broken ones instead.

Cheers,
Ashok Raj