[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 13/13] drivers/passthrough: arm: Add support for SMMU drivers
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@xxxxxxxxxx> > Cc: Xiantao Zhang <xiantao.zhang@xxxxxxxxx> > Cc: Jan Beulich <jbeulich@xxxxxxxx> 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? > + > +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" Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |