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

Re: [Xen-devel] [PATCH v5 6/8] arm/gic-v3: Refactor gicv3_init into generic and dt specific parts



On Wed, 27 Jan 2016, Shannon Zhao wrote:
> On 2016/1/27 20:18, Stefano Stabellini wrote:
> > On Sat, 23 Jan 2016, Shannon Zhao wrote:
> > > >From: Shannon Zhao<shannon.zhao@xxxxxxxxxx>
> > > >
> > > >Refactor gic-v3 related functions into dt and generic parts. This will be
> > > >helpful when adding acpi support for gic-v3.
> > > >
> > > >Signed-off-by: Shannon Zhao<shannon.zhao@xxxxxxxxxx>
> > > >---
> > > >v5: none
> > > >v4: Use INVALID_PADDR and move ioremap to common init function
> > > >---
> > > >  xen/arch/arm/gic-v3.c | 114
> > > +++++++++++++++++++++++++++-----------------------
> > > >  1 file changed, 61 insertions(+), 53 deletions(-)
> > > >
> > > >diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
> > > >index a245b56..65a4de6 100644
> > > >--- a/xen/arch/arm/gic-v3.c
> > > >+++ b/xen/arch/arm/gic-v3.c
> > > >@@ -1138,41 +1138,14 @@ static int __init cmp_rdist(const void *a, const
> > > void *b)
> > > >      return ( l->base < r->base) ? -1 : 0;
> > > >  }
> > > >
> > > >+static paddr_t __initdata dbase = INVALID_PADDR, vbase = INVALID_PADDR;
> > > >+static paddr_t __initdata cbase = INVALID_PADDR, csize = INVALID_PADDR;
> > > >+
> > > >  /* If the GICv3 supports GICv2, initialize it */
> > > >-static void __init gicv3_init_v2(const struct dt_device_node *node,
> > > >-                                 paddr_t dbase)
> > > >+static void __init gicv3_init_v2(void)
> > > >  {
> > > >-    int res;
> > > >-    paddr_t cbase, csize;
> > > >-    paddr_t vbase, vsize;
> > > >-
> > > >-    /*
> > > >-     * For GICv3 supporting GICv2, GICC and GICV base address will be
> > > >-     * provided.
> > > >-     */
> > > >-    res = dt_device_get_address(node, 1 + gicv3.rdist_count,
> > > >-                                &cbase, &csize);
> > > >-    if ( res )
> > > >-        return;
> > > >-
> > > >-    res = dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
> > > >-                                &vbase, &vsize);
> > > >-    if ( res )
> > > >-        return;
> > > >-
> > > >-    /*
> > > >-     * We emulate a vGICv2 using a GIC CPU interface of GUEST_GICC_SIZE.
> > > >-     * So only support GICv2 on GICv3 when the virtual CPU interface is
> > > >-     * at least GUEST_GICC_SIZE.
> > > >-     */
> > > >-    if ( vsize < GUEST_GICC_SIZE )
> > > >-    {
> > > >-        printk(XENLOG_WARNING
> > > >-               "GICv3: WARNING: Not enabling support for GICv2 compat
> > > mode.\n"
> > > >-               "Size of GICV (%#"PRIpaddr") must at least be %#llx.\n",
> > > >-               vsize, GUEST_GICC_SIZE);
> > The vsize < GUEST_GICC_SIZE check needs to remain here because ...
> > 
> Ah, sorry, didn't notice this. Will fix this. To reduce email traffic load I
> plan to update and send this patch only and hope we could apply the last five
> patches of this series firstly. I'll respin the first three patches and send
> them as an individual series. Is this fine?

That's OK for me

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