Hi Andre, Drew, On 06/12/2016 10:32, Andre Przywara wrote: > Hi, > > On 06/12/16 09:29, Andrew Jones wrote: >> On Mon, Dec 05, 2016 at 10:46:36PM +0100, Eric Auger wrote: >>> Add a new cpu_count field in gicv3_data indicating the >>> number of redistributors. This will be useful for enumeration >>> of their resources such as LPI pending tables. >> >> I'm fine with the additional state, but just curious, will it >> ever be possible for gicv3.cpu_count != nr_cpus? > > If not you are in trouble, so that should in fact be one test. > > Which brings me to my comment ... > >>> >>> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> >>> --- >>> lib/arm/asm/gic-v3.h | 1 + >>> lib/arm/gic-v3.c | 2 ++ >>> 2 files changed, 3 insertions(+) >>> >>> diff --git a/lib/arm/asm/gic-v3.h b/lib/arm/asm/gic-v3.h >>> index ed330af..039b7c2 100644 >>> --- a/lib/arm/asm/gic-v3.h >>> +++ b/lib/arm/asm/gic-v3.h >>> @@ -58,6 +58,7 @@ struct gicv3_data { >>> void *dist_base; >>> void *redist_base[NR_CPUS]; >>> unsigned int irq_nr; >>> + unsigned int cpu_count; > > Should that be called "nr_redists" or the like? > Since this is what it counts in the code below. > Later we can then compare this with nr_cpus to check for a match. I fully agree with you suggestion. Thanks Eric > > Cheers, > Andre. > >>> }; >>> extern struct gicv3_data gicv3_data; >>> >>> diff --git a/lib/arm/gic-v3.c b/lib/arm/gic-v3.c >>> index 6246221..9921f4d 100644 >>> --- a/lib/arm/gic-v3.c >>> +++ b/lib/arm/gic-v3.c >>> @@ -12,12 +12,14 @@ void gicv3_set_redist_base(size_t stride) >>> void *ptr = gicv3_data.redist_base[0]; >>> u64 typer; >>> >>> + gicv3_data.cpu_count = 0; >>> do { >>> typer = gicv3_read_typer(ptr + GICR_TYPER); >>> if ((typer >> 32) == aff) { >>> gicv3_redist_base() = ptr; >>> return; >>> } >>> + gicv3_data.cpu_count++; >>> ptr += stride; /* skip RD_base, SGI_base, etc. */ >>> } while (!(typer & GICR_TYPER_LAST)); >>> >>> -- >>> 2.5.5 >>> >>> > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html