From: "Michael S. Tsirkin" <mst@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, "Peter Xu" <peterx@redhat.com>,
"Jason Wang" <jasowang@redhat.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
kvm@vger.kernel.org, "Claudio Fontana" <cfontana@suse.de>,
"Igor Mammedov" <imammedo@redhat.com>,
"Daniel P . Berrangé" <berrange@redhat.com>
Subject: Re: [PATCH 2/4] intel_iommu: Support IR-only mode without DMA translation
Date: Mon, 14 Mar 2022 18:27:17 -0400 [thread overview]
Message-ID: <20220314182454-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <9db2fb68447b27203e6e006f29e2b960565c37bb.camel@infradead.org>
On Mon, Mar 14, 2022 at 03:45:47PM +0000, David Woodhouse wrote:
> On Mon, 2022-03-14 at 11:24 -0400, Michael S. Tsirkin wrote:
> > On Mon, Mar 14, 2022 at 02:25:42PM +0000, David Woodhouse wrote:
> > > From: David Woodhouse <dwmw@amazon.co.uk>
> > >
> > > By setting none of the SAGAW bits we can indicate to a guest that DMA
> > > translation isn't supported. Tested by booting Windows 10, as well as
> > > Linux guests with the fix at https://git.kernel.org/torvalds/c/c40aaaac10
> > >
> > >
> > > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > > Reviewed-by: Peter Xu <peterx@redhat.com>
> > > Acked-by: Jason Wang <jasowang@redhat.com>
> >
> > this is borderline like a feature, but ...
>
> It's the opposite of a feature — it's turning the feature *off* ;)
Right. Still - do you believe it's appropriate in soft freeze
and if yes why?
> > >
> > > @@ -3627,12 +3628,17 @@ static void vtd_init(IntelIOMMUState *s)
> > > s->next_frcd_reg = 0;
> > > s->cap = VTD_CAP_FRO | VTD_CAP_NFR | VTD_CAP_ND |
> > > VTD_CAP_MAMV | VTD_CAP_PSI | VTD_CAP_SLLPS |
> > > - VTD_CAP_SAGAW_39bit | VTD_CAP_MGAW(s->aw_bits);
> > > + VTD_CAP_MGAW(s->aw_bits);
> > > if (s->dma_drain) {
> > > s->cap |= VTD_CAP_DRAIN;
> > > }
> > > - if (s->aw_bits == VTD_HOST_AW_48BIT) {
> > > - s->cap |= VTD_CAP_SAGAW_48bit;
> > > + if (s->dma_translation) {
> > > + if (s->aw_bits >= VTD_HOST_AW_39BIT) {
> > > + s->cap |= VTD_CAP_SAGAW_39bit;
> > > + }
> > > + if (s->aw_bits >= VTD_HOST_AW_48BIT) {
> > > + s->cap |= VTD_CAP_SAGAW_48bit;
> > > + }
> > > }
> > > s->ecap = VTD_ECAP_QI | VTD_ECAP_IRO;
> > >
> >
> >
> > ... this looks like you are actually fixing aw_bits < VTD_HOST_AW_39BIT,
> > right? So maybe this patch is ok like this since it also fixes a
> > bug. Pls add this to commit log though.
>
> Nah, aw_bits cannot be < VTD_HOST_AW_39BIT. We explicitly check in
> vtd_decide_config(), and only 39 or 48 bits are supported,
> corresponding to 3-level or 4-level page tables.
Oh right. So not a bugfix then.
> The only time we'd want to *not* advertise 39-bit support is if we
> aren't advertising DMA translation at all. Which is the (anti-)feature
> introduced by this patch.
>
next prev parent reply other threads:[~2022-03-14 22:27 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-14 14:25 [PATCH 1/4] target/i386: Fix sanity check on max APIC ID / X2APIC enablement David Woodhouse
2022-03-14 14:25 ` [PATCH 2/4] intel_iommu: Support IR-only mode without DMA translation David Woodhouse
2022-03-14 15:24 ` Michael S. Tsirkin
2022-03-14 15:45 ` David Woodhouse
2022-03-14 22:27 ` Michael S. Tsirkin [this message]
2022-03-16 9:34 ` David Woodhouse
2022-03-14 16:01 ` David Woodhouse
2022-03-14 14:25 ` [PATCH 3/4] intel_iommu: Only allow interrupt remapping to be enabled if it's supported David Woodhouse
2022-03-14 14:25 ` [PATCH 4/4] intel_iommu: Fix irqchip / X2APIC configuration checks David Woodhouse
2022-03-16 9:04 ` [PATCH 1/4] target/i386: Fix sanity check on max APIC ID / X2APIC enablement Igor Mammedov
2022-03-16 9:37 ` David Woodhouse
2022-03-16 9:56 ` Michael S. Tsirkin
2022-03-16 10:37 ` David Woodhouse
2022-03-16 10:47 ` Michael S. Tsirkin
2022-03-16 11:28 ` Igor Mammedov
2022-03-16 14:31 ` David Woodhouse
[not found] ` <20220317094209.2888b431@redhat.com>
2022-03-17 9:05 ` Igor Mammedov
2022-03-17 11:13 ` David Woodhouse
2022-03-18 14:17 ` Igor Mammedov
2022-03-18 14:56 ` David Woodhouse
2022-05-13 13:37 ` Michael S. Tsirkin
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=20220314182454-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=berrange@redhat.com \
--cc=cfontana@suse.de \
--cc=dwmw2@infradead.org \
--cc=eduardo@habkost.net \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.