[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 09/13] xen/passthrough: Introduce IOMMU ARM architecture



On Tue, 2014-03-18 at 19:58 +0000, Julien Grall wrote:
> Hi Ian,
> 
> On 03/18/2014 04:40 PM, Ian Campbell wrote:
> > On Tue, 2014-03-11 at 15:49 +0000, Julien Grall wrote:
> >> @@ -754,7 +766,7 @@ static int map_device(struct domain *d, const struct 
> >> dt_device_node *dev)
> >>  }
> >>  
> >>  static int handle_node(struct domain *d, struct kernel_info *kinfo,
> >> -                       const struct dt_device_node *node)
> >> +                       struct dt_device_node *node)
> >>  {
> >>      static const struct dt_device_match skip_matches[] __initconst =
> >>      {
> >> @@ -775,7 +787,7 @@ static int handle_node(struct domain *d, struct 
> >> kernel_info *kinfo,
> >>          DT_MATCH_TIMER,
> >>          { /* sentinel */ },
> >>      };
> >> -    const struct dt_device_node *child;
> >> +    struct dt_device_node *child;
> > 
> > Why do these consts become unwanted?
> 
> Because map_device now calls iommu_assign_dt_device which will update
> next_assigned in the structure dt_device_node.

OK, makes sense.

> >> diff --git a/xen/drivers/passthrough/arm/iommu.c 
> >> b/xen/drivers/passthrough/arm/iommu.c
> >> new file mode 100644
> >> index 0000000..b0bd71d
> >> --- /dev/null
> >> +++ b/xen/drivers/passthrough/arm/iommu.c
> > [...]
> >> +int __init iommu_hardware_setup(void)
> >> +{
> >> +    struct dt_device_node *np;
> >> +    int rc;
> >> +    unsigned int num_iommus = 0;
> >> +
> >> +    dt_for_each_device_node(dt_host, np)
> > 
> > I can't find dt_host in this or any of the previous patches.
> 
> dt_host was defined a while ago by the device tree code (see
> xen/include/xen/device_tree.h).

Doh, I didn't think to look at the existing code ;-)

> >> diff --git a/xen/include/asm-arm/iommu.h b/xen/include/asm-arm/iommu.h
> >> new file mode 100644
> >> index 0000000..81eec83
> >> --- /dev/null
> >> +++ b/xen/include/asm-arm/iommu.h
> >> [...]
> >> +#define domain_hvm_iommu(d) (&d->arch.hvm_domain.hvm_iommu)
> > 
> > Does this macro give us the freedom to avoid the term "hvm" a bit and
> > use d->arch.iommu?
> 
> It's possible, I just blindly copied from x86.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.