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 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.