[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160427172630-mutt-send-email-mst@redhat.com>
Date: Wed, 27 Apr 2016 17:34:30 +0300
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Joerg Roedel <joro@...tes.org>
Cc: David Woodhouse <dwmw2@...radead.org>,
Kevin Wolf <kwolf@...hat.com>, Wei Liu <wei.liu2@...rix.com>,
Andy Lutomirski <luto@...nel.org>, qemu-block@...gnu.org,
Christian Borntraeger <borntraeger@...ibm.com>,
Jason Wang <jasowang@...hat.com>,
Stefano Stabellini <stefano.stabellini@...citrix.com>,
qemu-devel@...gnu.org, peterx@...hat.com,
linux-kernel@...r.kernel.org, Amit Shah <amit.shah@...hat.com>,
iommu@...ts.linux-foundation.org,
Stefan Hajnoczi <stefanha@...hat.com>, kvm@...r.kernel.org,
cornelia.huck@...ibm.com, pbonzini@...hat.com,
virtualization@...ts.linux-foundation.org,
Anthony PERARD <anthony.perard@...rix.com>
Subject: Re: [PATCH V2 RFC] fixup! virtio: convert to use DMA api
On Wed, Apr 27, 2016 at 04:23:32PM +0200, Joerg Roedel wrote:
> On Wed, Apr 27, 2016 at 04:37:04PM +0300, Michael S. Tsirkin wrote:
> > One correction: it's a feature of the device in the system.
> > There could be a mix of devices bypassing and not
> > bypassing the IOMMU.
>
> No, it really is not. A device can't chose to bypass the IOMMU. But the
> IOMMU can chose to let the device bypass.
QEMU can choose to bypass IOMMU for one device and not the other.
IOMMU in QEMU isn't involved when it's bypassed.
> So any fix here belongs
> into the platform/iommu code too and not into some driver.
Fine but this is beside the point. Almost all virtio devices
bypass IOMMU and what this patch does is create a way
to detect devices that don't. This code can maybe go into
platform.
> > Sounds good. And a way to detect appropriate devices could
> > be by looking at the feature flag, perhaps?
>
> Again, no! The way to detect that is to look into the iommu description
> structures provided by the firmware. They provide everything necessary
> to tell the iommu code which devices are not translated.
>
>
>
> Joerg
It would be easy if they did but they don't do this on all systems.
In particular the idea for firmware interface was clearly
that a given bus either is connected through IOMMU or bypassing it.
Whether virtio bypasses the iommu is unrelated to the bus it's on.
--
MST
Powered by blists - more mailing lists