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

Re: [Xen-devel] [PATCH v7 1/5] xen/arm: Add support for GIC v3



On Tue, 2014-07-22 at 15:18 +0530, Vijay Kilari wrote:
> On Wed, Jul 16, 2014 at 5:11 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > On Fri, 2014-07-11 at 18:21 +0530, vijay.kilari@xxxxxxxxx wrote:
> >> +static inline void gicv3_restore_lrs(int nr_lrs, const struct vcpu *v)
> >> +static u16 gicv3_compute_target_list(int *base_cpu, const struct cpumask 
> >> *mask,
> >> +                                     uint64_t cluster_id)
> >> +{
> >> +    int cpu = *base_cpu;
> >> +    uint64_t mpidr = cpu_logical_map(cpu);
> >> +    u16 tlist = 0;
> >> +
> >> +    while ( cpu < nr_cpu_ids )
> >> +    {
> >> +        /*
> >> +         * If we ever get a cluster of more than 16 CPUs, just
> >> +         * scream and skip that CPU.
> >> +         */
> >> +        if ( (mpidr & 0xff) >= 16 )
> >
> > MPIPDR_EFF0_MASK if that's what this is, and at least once more in this
> > function.
> >
> >> +        {
> >> +            dprintk(XENLOG_WARNING, "GICv3:Cluster with more than 16's 
> >> cpus\n");
> >> +            goto out;
> >
> > Please validate this and complain in gicv3_init not every time we send
> > an SGI.
> >
> 
>    We can move this check to gicv3_populate_rdist() which is called
> for each cpu.
> However we will miss check on mpidr value. But being MPIDR value which does
> not change it should be ok to remove this check

Why isn't mpidr available at that point?

> >> + * Additional registers defined in GIC v3.
> >> + * Common GICD registers are defined in gic.h
> >> + */
> >> +
> >> +#define GICD_STATUSR                 (0x010)
> >> [...][
> >> +#define GICV3_GICD_PIDR0             (0x92)
> >
> > What is the distinction between variables with GIC[DR]_ prefixes and
> > those with GICV3_GIC[DR]_ ones?
> 
> GICV3 is prefixed for indicating that there are values not the addresses.
> In anycase I will remove GICV3 prefixes and postfix _VAL

You mean the value used when emulating a read, I think?

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