[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
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. >> 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). >> + { >> + rc = device_init(np, DEVICE_IOMMU, NULL); >> + if ( !rc ) >> + num_iommus++; >> + } >> + >> + return ( num_iommus > 0 ) ? 0 : -ENODEV; >> +} >> + >> +int arch_iommu_domain_init(struct domain *d) >> +{ >> + int ret; >> + >> + ret = iommu_dt_domain_init(d); >> + >> + return ret; > > return iommu_dt-domain_init(d); > ? I will do the change in the next version. >> 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. Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |