|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |