linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joerg Roedel <joro@8bytes.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: bhe@redhat.com, tom.vaden@hp.com, rwright@hp.com,
	linux-pci@vger.kernel.org, kexec@lists.infradead.org,
	linux-kernel@vger.kernel.org, lisa.mitchell@hp.com,
	iommu@lists.linux-foundation.org, "Li,
	Zhen-Hua" <zhen-hual@hp.com>,
	doug.hatch@hp.com, ishii.hironobu@jp.fujitsu.com,
	bhelgaas@google.com, billsumnerlinux@gmail.com, li.zhang6@hp.com,
	dyoung@redhat.com, vgoyal@redhat.com
Subject: Re: [PATCH v11 0/10] iommu/vt-d: Fix intel vt-d faults in kdump kernel
Date: Mon, 8 Jun 2015 18:13:15 +0200	[thread overview]
Message-ID: <20150608161315.GX20384@8bytes.org> (raw)
In-Reply-To: <1433778624.2952.82.camel@infradead.org>

On Mon, Jun 08, 2015 at 04:50:24PM +0100, David Woodhouse wrote:
> On Mon, 2015-06-08 at 17:29 +0200, Joerg Roedel wrote:
> > Hmm, I also limited this functionality to kdump kernels. Do we still
> > need to preserve these extended data structures even when there is no
> > upstream support for them yet?
> 
> We *do* have upstream support. The 4.1 kernel will use the extended
> root/context tables and will set the DMA_RTADDR_RTT bit in the Root
> Table Address register, even though it doesn't yet actually *use* any
> of the shiny new bits in the extended context tables.
> 
> So the code which copies the context tables needs to take that into
> account.

Right, I missed that until now. So what the code with my changes does
is, it sets the DMA_RTADDR_RTT bit as it would do on a normal boot. But
unlike the root entry table address, this bit can not be changed while
translation is active.

So I think we need to read out that bit when we find translation enabled
and if it is different from what we would set it to, we bail out of any
copying, disable translation and proceed as in a normal boot.

> Yeah. We need the same thing with hardware passthrough — currently I
> think we refuse to put RMRR-afflicted devices into the passthrough
> domain purely because we lack the capability to install the RMRR
> regions if/when we later take it *out* of the hardware passthrough
> domain. Although I can't quite remember the logic there; surely if it's
> RMRR-afflicted and we have iommu=pt, it'll *never* be taken out of the
> 1:1 domain? A device driver might come along and tell us it really is
> 64-bit capable and thus we might put it *in* to the passthrough domain
> where previously we'd kept it out... but taking it *out*... ?

Well, yeah, the logic is complicated. My hope is to move all that logic
to the iommu core code to have it unified between iommu drivers.

The way it should work then is basically: Every device (better:
iommu-group) has a default domain (which can be a PT domain) and if the
device has RMRR mappings, it can not be taken out of that domain. The
default-domain branch of my tree contains the beginnings of that, but
there is still a lot of work to do to get there.


	Joerg


  reply	other threads:[~2015-06-08 16:13 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-11  9:52 [PATCH v11 0/10] iommu/vt-d: Fix intel vt-d faults in kdump kernel Li, Zhen-Hua
2015-05-11  9:52 ` [PATCH v11 01/10] iommu/vt-d: New function to attach domain with id Li, Zhen-Hua
2015-05-11  9:52 ` [PATCH v11 02/10] iommu/vt-d: Items required for kdump Li, Zhen-Hua
2015-05-12  8:17   ` Dave Young
2015-05-13  1:45     ` Li, ZhenHua
2015-05-13  6:31       ` Alexander Duyck
2015-05-13  8:42       ` Dave Young
2015-05-11  9:52 ` [PATCH v11 03/10] iommu/vt-d: Function to get existing context entry Li, Zhen-Hua
2015-05-11  9:52 ` [PATCH v11 04/10] iommu/vt-d: functions to copy data from old mem Li, Zhen-Hua
2015-05-12  8:29   ` Dave Young
2015-05-13  9:00   ` Baoquan He
2015-05-13  9:13     ` Li, ZhenHua
2015-05-13  9:21       ` Baoquan He
2015-06-08 14:15   ` David Woodhouse
2015-06-08 15:21     ` Joerg Roedel
2015-06-08 15:44       ` David Woodhouse
2015-05-11  9:52 ` [PATCH v11 05/10] iommu/vt-d: Add functions to load and save old re Li, Zhen-Hua
2015-05-12  8:37   ` Dave Young
2015-05-13  1:47     ` Li, ZhenHua
2015-05-13  8:49       ` Dave Young
2015-05-11  9:52 ` [PATCH v11 06/10] iommu/vt-d: datatypes and functions used for kdump Li, Zhen-Hua
2015-05-12  8:48   ` Dave Young
2015-05-13  8:56   ` Baoquan He
2015-05-13  8:58     ` Li, ZhenHua
2015-05-13  9:10       ` Baoquan He
2015-05-11  9:52 ` [PATCH v11 07/10] iommu/vt-d: enable kdump support in iommu module Li, Zhen-Hua
2015-05-12  8:52   ` Dave Young
2015-05-13  2:10   ` Baoquan He
2015-05-13  2:28     ` Li, ZhenHua
2015-05-13  2:36       ` Baoquan He
2015-05-11  9:52 ` [PATCH v11 08/10] iommu/vt-d: assign new page table for dma_map Li, Zhen-Hua
2015-05-20 23:52   ` Baoquan He
2015-05-21  1:27     ` Li, ZhenHua
2015-05-21  6:54       ` Baoquan He
2015-05-21  8:40         ` Li, ZhenHua
2015-05-21 10:11           ` Baoquan He
2015-05-11  9:52 ` [PATCH v11 09/10] iommu/vt-d: Copy functions for irte Li, Zhen-Hua
2015-05-12  9:00   ` Dave Young
2015-05-11  9:52 ` [PATCH v11 10/10] iommu/vt-d: Use old irte in kdump kernel Li, Zhen-Hua
2015-05-12  6:18 ` [PATCH v11 0/10] iommu/vt-d: Fix intel vt-d faults " Baoquan He
2015-05-12  9:04 ` Dave Young
2015-05-12  9:34 ` Li, Zhen-Hua
2015-05-13  1:54 ` Li, ZhenHua
2015-05-18 10:05   ` Li, ZhenHua
2015-05-19  1:13     ` Dave Young
2015-05-19  7:43       ` Li, ZhenHua
2015-05-29 16:21 ` Joerg Roedel
2015-05-30 11:23   ` Li, Zhen-Hua
2015-06-08 14:26 ` David Woodhouse
2015-06-08 15:29   ` Joerg Roedel
2015-06-08 15:50     ` David Woodhouse
2015-06-08 16:13       ` Joerg Roedel [this message]
2015-06-09 12:55         ` David Woodhouse
2015-06-10  9:21           ` Joerg Roedel
2015-06-10  9:32             ` Li, ZhenHua
2015-06-10 14:10               ` David Woodhouse

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=20150608161315.GX20384@8bytes.org \
    --to=joro@8bytes.org \
    --cc=bhe@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=billsumnerlinux@gmail.com \
    --cc=doug.hatch@hp.com \
    --cc=dwmw2@infradead.org \
    --cc=dyoung@redhat.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=ishii.hironobu@jp.fujitsu.com \
    --cc=kexec@lists.infradead.org \
    --cc=li.zhang6@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lisa.mitchell@hp.com \
    --cc=rwright@hp.com \
    --cc=tom.vaden@hp.com \
    --cc=vgoyal@redhat.com \
    --cc=zhen-hual@hp.com \
    /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).