From: "Michael S. Tsirkin" <mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Kevin Wolf <kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
cornelia.huck-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org,
Wei Liu <wei.liu2-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>,
Stefan Hajnoczi
<stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
qemu-block-qX2TKyscuCcdnm+yROfE0A@public.gmane.org,
Stefano Stabellini
<stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org>,
qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org,
peterx-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Christian Borntraeger
<borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Andy Lutomirski <luto-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Amit Shah <amit.shah-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Anthony PERARD
<anthony.perard-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>,
Jason Wang <jasowang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH V2 RFC] fixup! virtio: convert to use DMA api
Date: Thu, 28 Apr 2016 17:34:51 +0300 [thread overview]
Message-ID: <20160428172039-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <1461784617.118304.181.camel-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
On Wed, Apr 27, 2016 at 08:16:57PM +0100, David Woodhouse wrote:
> On Wed, 2016-04-27 at 21:17 +0300, Michael S. Tsirkin wrote:
> >
> > > Because it's a dirty hack in the *wrong* place.
> >
> > No one came up with a better one so far :(
>
> Seriously?
>
> Take a look at drivers/iommu/intel-iommu.c. It has quirks for all kinds
> of shitty devices that have to be put in passthrough mode or otherwise
> excluded.
I see work-arounds for broken IOMMUs but not for
individual devices. Could you point me to a more specific
example?
> We don't actually *need* it for the Intel IOMMU; all we need is for
> QEMU to stop lying in its DMAR tables.
We need it for legacy QEMU anyway, and it's not easy for QEMU to stop
lying about virtio, so we'll need it for a while.
I think it's easy for QEMU to stop lying about assigned devices,
so we don't need it for non-virtio devices.
> We *do* want the same kind of quirks in the relevant POWER and ARM
> IOMMU code in the kernel. Do that (hell, a simple quirk for all virtio
> devices will suffice, but NOT in the virtio driver
Sure - that works. It does not have to be in the driver.
>) at the same moment
> you fix the virtio devices to use the DMA API. Job done.
>
> Some time *later* we can work on *refining* that quirk, and a way for
> QEMU to tell the guest (via something generic like fwcfg, maybe) that
> some devices are and aren't translated.
I don't see why how fwcfg can work here. It's a static thing,
devices can come and go with hotplug.
> Actually, I'm about to look at moving dma_ops into struct device and
> cleaning up the way we detect which IOMMU is attached, at device
> instantiation time. Perhaps I can shove the virtio-exception quirk in
> there while I'm at it...
Sounds good.
> --
> dwmw2
>
next prev parent reply other threads:[~2016-04-28 14:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1461245745-6710-1-git-send-email-mst@redhat.com>
[not found] ` <20160421135416.GE11775@citrix.com>
2016-04-27 12:18 ` [PATCH V2 RFC] fixup! virtio: convert to use DMA api David Woodhouse
2016-04-27 13:37 ` Michael S. Tsirkin
[not found] ` <20160427153345-mutt-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-27 14:23 ` Joerg Roedel
2016-04-27 14:31 ` Andy Lutomirski
[not found] ` <CALCETrVkSSJbjoK8i7pLsSYR0o=Wy1UP-mrmn2uxYUd81g18dg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-27 14:38 ` Michael S. Tsirkin
2016-04-27 14:43 ` Andy Lutomirski
2016-04-27 14:54 ` Michael S. Tsirkin
2016-04-27 14:58 ` Joerg Roedel
2016-04-27 15:09 ` Michael S. Tsirkin
2016-04-27 15:10 ` Andy Lutomirski
2016-04-27 14:34 ` Michael S. Tsirkin
[not found] ` <20160427172630-mutt-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-04-27 14:56 ` Joerg Roedel
[not found] ` <20160427145632.GI17926-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2016-04-27 15:05 ` Michael S. Tsirkin
2016-04-27 15:15 ` David Woodhouse
2016-04-27 18:17 ` Michael S. Tsirkin
2016-04-27 19:16 ` David Woodhouse
[not found] ` <1461784617.118304.181.camel-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-04-28 14:34 ` Michael S. Tsirkin [this message]
2016-04-28 15:11 ` David Woodhouse
[not found] ` <1461856314.33870.98.camel-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2016-04-28 15:37 ` Michael S. Tsirkin
2016-04-28 15:48 ` David Woodhouse
2016-05-01 10:37 ` Michael S. Tsirkin
[not found] ` <20160428182341-mutt-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-05-09 11:09 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160428172039-mutt-send-email-mst@redhat.com \
--to=mst-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=amit.shah-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=anthony.perard-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
--cc=borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=cornelia.huck-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=jasowang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=kwolf-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=peterx-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=qemu-block-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
--cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \
--cc=stefanha-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=stefano.stabellini-mvvWK6WmYclDPfheJLI6IQ@public.gmane.org \
--cc=virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=wei.liu2-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).