Re: [RFC] virtio: Use DMA MAP API for devices without an IOMMU
From: Christoph Hellwig
Date: Fri Apr 06 2018 - 03:16:46 EST
On Fri, Apr 06, 2018 at 08:23:10AM +0530, Anshuman Khandual wrote:
> On 04/06/2018 02:48 AM, Benjamin Herrenschmidt wrote:
> > On Thu, 2018-04-05 at 21:34 +0300, Michael S. Tsirkin wrote:
> >>> In this specific case, because that would make qemu expect an iommu,
> >>> and there isn't one.
> >>
> >>
> >> I think that you can set iommu_platform in qemu without an iommu.
> >
> > No I mean the platform has one but it's not desirable for it to be used
> > due to the performance hit.
>
> Also the only requirement is to bounce the I/O buffers through SWIOTLB
> implemented as DMA API which the virtio core understands. There is no
> need for an IOMMU to be involved for the device representation in this
> case IMHO.
This whole virtio translation issue is a mess. I think we need to
switch it to the dma API, and then quirk the legacy case to always
use the direct mapping inside the dma API.