From: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
To: chenfeng <puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
Cc: mark.rutland-5wv7dgnIgG8@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
guodong.xu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
pawel.moll-5wv7dgnIgG8@public.gmane.org,
ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org,
w.f-hv44wF8Li93QT0dZR+AlfA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
xuwei5-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
haojian.zhuang-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
puck.chen-Dw/NWeUnuQfQT0dZR+AlfA@public.gmane.org,
arnd-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH V5 RESEND 2/3] iommu/hisilicon: Add hi6220-SoC smmu driver
Date: Sat, 28 Nov 2015 13:19:58 +0100 [thread overview]
Message-ID: <20151128121958.GA18805@8bytes.org> (raw)
In-Reply-To: <56590F22.90105-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
On Sat, Nov 28, 2015 at 10:19:14AM +0800, chenfeng wrote:
> On 2015/11/27 20:02, Joerg Roedel wrote:
> > You need to create an iommu-group per smmu in your system and put all
> > devices translated by this smmu in that group. And then you must change
> > your code to allow attaching/detaching this iommu-group to different
> > domains.
> >
> I read the code,I am confused about these concepts.
> In my opinion,
> IOMMU-Domain: The masters in one domain share the same iova space. Is that right?
Yes, an iommu-domain is an abstraction of a single page-table and
describes one iova address space. The SMMU in your hardware supports
only on page-table, so all devices behind it share a single iova address
space, und must be in the same domain.
But the way you implemented it there could be only one domain per SMMU.
With the IOMMU-API we must support to change the domain of an SMMU.
Think of one domain for DMA-API usage and another for VFIO, for example.
> IOMMU-GROUP: As you mentioned up,all devices translated by this smmu
> should be into one group. I can do this. But if there is only on
> domain in the system, how can I attaching/detaching the group to
> different domains.
IOMMU-groups describe the isolation capabilities of the IOMMU between
devices. If devices are in a different IOMMU-group, this means that
the hardware can isolate them from each other.
Attaching the devices in a group to a new domain means in your case,
that you set a different page-table for them. Since you can only do that
for all devices behind a SMMU, these devices must be in on IOMMU-group.
Joerg
WARNING: multiple messages have this Message-ID (diff)
From: Joerg Roedel <joro@8bytes.org>
To: chenfeng <puck.chen@hisilicon.com>
Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com,
ijc+devicetree@hellion.org.uk, devicetree@vger.kernel.org,
puck.chen@aliyun.com, w.f@huawei.com, xuwei5@hisilicon.com,
guodong.xu@linaro.org, arnd@linaro.org,
haojian.zhuang@linaro.org
Subject: Re: [PATCH V5 RESEND 2/3] iommu/hisilicon: Add hi6220-SoC smmu driver
Date: Sat, 28 Nov 2015 13:19:58 +0100 [thread overview]
Message-ID: <20151128121958.GA18805@8bytes.org> (raw)
In-Reply-To: <56590F22.90105@hisilicon.com>
On Sat, Nov 28, 2015 at 10:19:14AM +0800, chenfeng wrote:
> On 2015/11/27 20:02, Joerg Roedel wrote:
> > You need to create an iommu-group per smmu in your system and put all
> > devices translated by this smmu in that group. And then you must change
> > your code to allow attaching/detaching this iommu-group to different
> > domains.
> >
> I read the code,I am confused about these concepts.
> In my opinion,
> IOMMU-Domain: The masters in one domain share the same iova space. Is that right?
Yes, an iommu-domain is an abstraction of a single page-table and
describes one iova address space. The SMMU in your hardware supports
only on page-table, so all devices behind it share a single iova address
space, und must be in the same domain.
But the way you implemented it there could be only one domain per SMMU.
With the IOMMU-API we must support to change the domain of an SMMU.
Think of one domain for DMA-API usage and another for VFIO, for example.
> IOMMU-GROUP: As you mentioned up,all devices translated by this smmu
> should be into one group. I can do this. But if there is only on
> domain in the system, how can I attaching/detaching the group to
> different domains.
IOMMU-groups describe the isolation capabilities of the IOMMU between
devices. If devices are in a different IOMMU-group, this means that
the hardware can isolate them from each other.
Attaching the devices in a group to a new domain means in your case,
that you set a different page-table for them. Since you can only do that
for all devices behind a SMMU, these devices must be in on IOMMU-group.
Joerg
next prev parent reply other threads:[~2015-11-28 12:19 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-20 2:25 [PATCH V5 RESEND 0/3] Add iommu support for hi6220 HiKey board Chen Feng
2015-11-20 2:25 ` Chen Feng
2015-11-20 2:25 ` [PATCH V5 RESEND 2/3] iommu/hisilicon: Add hi6220-SoC smmu driver Chen Feng
2015-11-20 2:25 ` Chen Feng
[not found] ` <1447986309-47548-3-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-27 12:02 ` Joerg Roedel
2015-11-27 12:02 ` Joerg Roedel
[not found] ` <20151127120203.GI24300-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-11-28 2:19 ` chenfeng
2015-11-28 2:19 ` chenfeng
[not found] ` <56590F22.90105-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-28 12:19 ` Joerg Roedel [this message]
2015-11-28 12:19 ` Joerg Roedel
[not found] ` <1447986309-47548-1-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-20 2:25 ` [PATCH V5 RESEND 1/3] docs: iommu: Documentation for iommu in hi6220 SoC Chen Feng
2015-11-20 2:25 ` Chen Feng
[not found] ` <1447986309-47548-2-git-send-email-puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2015-11-20 14:21 ` Rob Herring
2015-11-20 14:21 ` Rob Herring
2015-11-20 2:25 ` [PATCH V5 RESEND 3/3] arm64: dts: Add dts node for hi6220 smmu driver Chen Feng
2015-11-20 2:25 ` Chen Feng
2015-11-27 11:49 ` [PATCH V5 RESEND 0/3] Add iommu support for hi6220 HiKey board Joerg Roedel
2015-11-27 11:49 ` Joerg Roedel
[not found] ` <20151127114920.GH24300-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>
2015-11-28 2:09 ` chenfeng
2015-11-28 2:09 ` chenfeng
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=20151128121958.GA18805@8bytes.org \
--to=joro-zlv9swrftaidnm+yrofe0a@public.gmane.org \
--cc=arnd-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=guodong.xu-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=haojian.zhuang-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=puck.chen-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org \
--cc=puck.chen-Dw/NWeUnuQfQT0dZR+AlfA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=w.f-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=xuwei5-C8/M+/jPZTeaMJb+Lgu22Q@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 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.