From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
tim@xen.org, Xiantao Zhang <xiantao.zhang@intel.com>,
stefano.stabellini@citrix.com
Subject: Re: [PATCH v3 13/13] drivers/passthrough: arm: Add support for SMMU drivers
Date: Tue, 18 Mar 2014 20:25:26 +0000 [thread overview]
Message-ID: <5328ABB6.3030307@linaro.org> (raw)
In-Reply-To: <1395161689.11824.27.camel@kazak.uk.xensource.com>
Hi Ian,
On 03/18/2014 04:54 PM, Ian Campbell wrote:
> On Tue, 2014-03-11 at 15:49 +0000, Julien Grall wrote:
>> This patch add support for ARM architected SMMU driver. It's based on the
>> linux drivers (drivers/iommu/arm-smmu) commit 89ac23cd.
>>
>> The major differences with the Linux driver are:
>> - Fault by default if the SMMU is enabled to translate an
>> address (Linux is bypassing the SMMU)
>> - Using P2M page table instead of creating new one
>> - Dropped stage-1 support
>> - Dropped chained SMMUs support for now
>> - Reworking device assignment and the different structures
>>
>> Xen is programming each IOMMU by:
>> - Using stage-2 mode translation
>> - Sharing the page table with the processor
>> - Injecting a fault if the device has made a wrong translation
>>
>> Signed-off-by: Julien Grall<julien.grall@linaro.org>
>> Cc: Xiantao Zhang <xiantao.zhang@intel.com>
>> Cc: Jan Beulich <jbeulich@suse.com>
>
> I don't think it is sensible to try and review this code in great detail
> given you no doubt did so as you imported it. I looked through the bits
> which seemed like they were new Xen code rather than imported Linux
> code. It mostly looks good, one question and when grammar nit.
>
>> +static __init void arm_smmu_device_reset(struct arm_smmu_device *smmu)
>> +{
>> +[...]
>> + /* Don't upgrade barriers */
>> + reg &= ~(SMMU_sCR0_BSU_MASK << SMMU_sCR0_BSU_SHIFT);
>
> No? Is that safe when a vcpu migrates around pCPUs?
>From the SMMU doc 9.6.3, this field is only used when client devices are
not mapped to a translation context banks.
By default, the policy in Xen is to deny every transaction that doesn't
have a valid mapping. So we are safe.
I can update the comment if you want, or even better removing this code.
>> +
>> +static int __init smmu_init(struct dt_device_node *dev,
>> + const void *data)
>> +{
>> + struct arm_smmu_device *smmu;
>> + int res;
>> + u64 addr, size;
>> + unsigned int num_irqs, i;
>> + struct dt_phandle_args masterspec;
>> + struct rb_node *node;
>> +
>> + /* Even if the device can't be initialized, we don't want to give to
>> + * dom0 the smmu device
>
> "we don't want to give the smmu device to dom0"
Will do the modification in the next version.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2014-03-18 20:25 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-11 15:49 [PATCH v3 00/13] IOMMU support for ARM Julien Grall
2014-03-11 15:49 ` [PATCH v3 01/13] xen/common: grant-table: only call IOMMU if paging mode translate is disabled Julien Grall
2014-03-11 15:49 ` [PATCH v3 02/13] xen/passthrough: amd: Remove domain_id from hvm_iommu Julien Grall
2014-03-18 16:19 ` Ian Campbell
2014-03-18 16:32 ` Jan Beulich
2014-03-11 15:49 ` [PATCH v3 03/13] xen/dts: Add dt_property_read_bool Julien Grall
2014-03-11 15:49 ` [PATCH v3 04/13] xen/dts: Add dt_parse_phandle_with_args and dt_parse_phandle Julien Grall
2014-03-18 16:20 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 05/13] xen/passthrough: rework dom0_pvh_reqs to use it also on ARM Julien Grall
2014-03-18 16:22 ` Ian Campbell
2014-03-18 17:28 ` Julien Grall
2014-03-18 17:50 ` Ian Campbell
2014-03-18 18:19 ` Julien Grall
2014-03-19 10:01 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 06/13] xen/passthrough: iommu: Split generic IOMMU code Julien Grall
2014-03-11 16:50 ` Jan Beulich
2014-03-11 17:09 ` Julien Grall
2014-03-12 7:15 ` Jan Beulich
2014-03-18 16:24 ` Ian Campbell
2014-03-18 17:36 ` Julien Grall
2014-03-18 17:50 ` Ian Campbell
2014-03-18 18:21 ` Julien Grall
2014-03-19 10:02 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 07/13] xen/passthrough: iommu: Introduce arch specific code Julien Grall
2014-03-11 16:15 ` Julien Grall
2014-03-11 16:53 ` Jan Beulich
2014-03-18 16:27 ` Ian Campbell
2014-03-18 19:40 ` Julien Grall
2014-03-11 15:49 ` [PATCH v3 08/13] xen/passthrough: iommu: Basic support of device tree assignment Julien Grall
2014-03-11 16:55 ` Jan Beulich
2014-03-18 16:33 ` Ian Campbell
2014-03-18 19:46 ` Julien Grall
2014-03-19 10:12 ` Ian Campbell
2014-03-19 10:42 ` Julien Grall
2014-03-19 10:54 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 09/13] xen/passthrough: Introduce IOMMU ARM architecture Julien Grall
2014-03-18 16:40 ` Ian Campbell
2014-03-18 19:58 ` Julien Grall
2014-03-19 10:29 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 10/13] MAINTAINERS: Add drivers/passthrough/arm Julien Grall
2014-03-11 15:49 ` [PATCH v3 11/13] xen/arm: Don't give IOMMU devices to dom0 when iommu is disabled Julien Grall
2014-03-18 16:41 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 12/13] xen/arm: Add the property "protected-devices" in the hypervisor node Julien Grall
2014-03-18 16:48 ` Ian Campbell
2014-03-18 20:09 ` Julien Grall
2014-03-19 10:33 ` Ian Campbell
2014-04-03 21:51 ` Julien Grall
2014-04-04 9:40 ` Ian Campbell
2014-04-04 10:25 ` Julien Grall
2014-04-04 10:28 ` Ian Campbell
2014-04-04 10:39 ` Julien Grall
2014-04-04 10:48 ` Ian Campbell
2014-04-04 11:01 ` Julien Grall
2014-04-04 11:13 ` Ian Campbell
2014-04-04 11:23 ` Julien Grall
2014-04-04 12:45 ` Ian Campbell
2014-04-04 13:10 ` Julien Grall
2014-04-04 13:18 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 13/13] drivers/passthrough: arm: Add support for SMMU drivers Julien Grall
2014-03-18 16:54 ` Ian Campbell
2014-03-18 20:25 ` Julien Grall [this message]
2014-03-19 10:35 ` Ian Campbell
2014-03-19 10:44 ` Julien Grall
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=5328ABB6.3030307@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=jbeulich@suse.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
--cc=xiantao.zhang@intel.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).