From: Malcolm Crossley <malcolm.crossley@citrix.com>
To: xen-devel@lists.xen.org
Cc: kevin.tian@intel.com, suravee.suthikulpanit@amd.com,
andrew.cooper3@citrix.com, Paul Durrant <Paul.Durrant@citrix.com>,
Aravind.Gopalakrishnan@amd.com, jbeulich@suse.com
Subject: Re: [PATCH v2] IOMMU: Prevent VT-d device IOTLB operations on wrong IOMMU
Date: Tue, 17 Jun 2014 13:32:00 +0100 [thread overview]
Message-ID: <53A03540.3010302@citrix.com> (raw)
In-Reply-To: <b27eda6dc2e208b7481b.1403008092@malcolmc.uk.xensource.com>
On 17/06/14 13:28, Malcolm Crossley wrote:
> PCIE ATS allows for device's to contain IOTLB's, the VT-d code was iterating
> around all ATS capable devices and issuing IOTLB operations for all IOMMU's,
> even though each ATS device's is only accessible via one particular IOMMU.
Sorry Paul, I just realised I forgot to fix the punctuation. Doing
things over lunch is sometimes a bad idea.
>
> Issuing an IOMMU operation to a device not accessible via that IOMMU results
> in an IOMMU timeout because the device does not reply. VT-d IOMMU timeouts
> result in a Xen panic.
>
> Therefore this bug prevents any Intel system with 2 or more ATS enabled IOMMU's,
> each with an ATS device connected to them, from booting Xen.
>
> The patch add's a IOMMU pointer to the ATS device struct so the VT-d code can
> ensure it does not issue IOMMU ATS operations on the wrong IOMMU. A void
> pointer has to be used because AMD and Intel IOMMU implementations do not have
> a common IOMMU structure or indexing mechanism.
>
> Optimised AMD's IOMMU code by leveraging the new IOMMU field in the ATS
> structure.
>
> Signed-off-by: Malcolm Crossley <malcolm.crossley@citrix.com>
> Acked-by: Kevin Tian <kevin.tian@intel.com>
>
> diff -r 4708591d8aa8 -r b27eda6dc2e2 xen/drivers/passthrough/amd/iommu_cmd.c
> --- a/xen/drivers/passthrough/amd/iommu_cmd.c
> +++ b/xen/drivers/passthrough/amd/iommu_cmd.c
next prev parent reply other threads:[~2014-06-17 12:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-17 12:28 [PATCH v2] IOMMU: Prevent VT-d device IOTLB operations on wrong IOMMU Malcolm Crossley
2014-06-17 12:32 ` Malcolm Crossley [this message]
2014-06-17 13:49 ` Jan Beulich
2014-06-17 13:56 ` Malcolm Crossley
2014-06-17 14:09 ` Jan Beulich
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=53A03540.3010302@citrix.com \
--to=malcolm.crossley@citrix.com \
--cc=Aravind.Gopalakrishnan@amd.com \
--cc=Paul.Durrant@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=kevin.tian@intel.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=xen-devel@lists.xen.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.