
Flash Advertise
| [PATCH 0/2] x86: per-device dma_mapping_ops | |||||||
| 摘自: LKML 被阅读次数: 29 | |||||||
由'机器人'于 2008-05-13 14:01:46 提供 | |||||||
This patchset adds per-device dma_mapping_ops support for CONFIG_X86_64 like POWER architecture does. This change enables us to cleanly fix the Calgary IOMMU issue that some devices are not behind the IOMMU [1]. It also would be helpful to handle KVM PCI passthrough. A pointer to dma_mapping_ops to struct dev_archdata is added. If the pointer is non NULL, DMA operations in asm/dma-mapping.h use it. If it's NULL, the system-wide dma_ops pointer is used as before. The major obstacle is that dma_mapping_error doesn't take a pointer to the device unlike other DMA operations. So x86 can't have dma_mapping_ops per device. Note all the POWER IOMMUs use the same dma_mapping_error function so this is not a problem for POWER but x86 IOMMUs use different dma_mapping_error functions. The first patch adds the device argument to dma_mapping_error. The patch is trivial but large since it touches lots of drivers and dma-mapping.h in all the architecture. [1] http://lkml.org/lkml/2008/5/8/423 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |