[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 7/7] xen/arm: Handle translated addresses for hardware domains in GICv2
Hi, I just realized that this patch: - was not applied; - patch at http://xenbits.xen.org/gitweb/?p=people/julieng/xen-unstable.git;a=shortlog;h=refs/heads/hisilicon-d01-v3 is completely different; - is not directly connected to our board so should be considered standalone. Should I sent patch again on another thread? Frediano 2014-11-06 10:12 GMT+00:00 Frediano Ziglio <frediano.ziglio@xxxxxxxxxx>: > Translated address could have an offset applied to them. > Replicate same value for device node to avoid improper address > computation in the OS. > > Signed-off-by: Frediano Ziglio <frediano.ziglio@xxxxxxxxxx> > --- > xen/arch/arm/gic-v2.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c > index 2f6bbd5..c2666df 100644 > --- a/xen/arch/arm/gic-v2.c > +++ b/xen/arch/arm/gic-v2.c > @@ -631,7 +631,7 @@ static int gicv2_make_dt_node(const struct domain *d, > const struct dt_device_node *gic = dt_interrupt_controller; > const void *compatible = NULL; > u32 len; > - __be32 *new_cells, *tmp; > + const __be32 *regs; > int res = 0; > > compatible = dt_get_property(gic, "compatible", &len); > @@ -664,18 +664,18 @@ static int gicv2_make_dt_node(const struct domain *d, > if ( res ) > return res; > > + /* copy GICC and GICD regions */ > + regs = dt_get_property(gic, "reg", &len); > + if ( !regs ) > + { > + dprintk(XENLOG_ERR, "Can't find reg property for the gic node\n"); > + return -FDT_ERR_XEN(ENOENT); > + } > + > len = dt_cells_to_size(dt_n_addr_cells(node) + dt_n_size_cells(node)); > len *= 2; /* GIC has two memory regions: Distributor + CPU interface */ > - new_cells = xzalloc_bytes(len); > - if ( new_cells == NULL ) > - return -FDT_ERR_XEN(ENOMEM); > - > - tmp = new_cells; > - dt_set_range(&tmp, node, d->arch.vgic.dbase, PAGE_SIZE); > - dt_set_range(&tmp, node, d->arch.vgic.cbase, PAGE_SIZE * 2); > > - res = fdt_property(fdt, "reg", new_cells, len); > - xfree(new_cells); > + res = fdt_property(fdt, "reg", regs, len); > > return res; > } > -- > 1.9.1 > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |