Subject: [PATCH V10 2/6] arm: arm64: Add routine to determine cpuid of other cpus

From: [email-masked] (Will Deacon)
Date: Tue, 29 Nov 2016 10:31:12 +0000

[adding Russell]

On Wed, Nov 09, 2016 at 05:39:49PM -0600, Jeremy Linton wrote:
> It is helpful if we can read the cpuid/midr of other CPUs
> in the system independent of arm/arm64.
> 
> Signed-off-by: Jeremy Linton <[email-masked]>
> ---
>  arch/arm/include/asm/cputype.h   | 2 ++
>  arch/arm64/include/asm/cputype.h | 3 +++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/arch/arm/include/asm/cputype.h b/arch/arm/include/asm/cputype.h
> index 522b5fe..31fb273 100644
> --- a/arch/arm/include/asm/cputype.h
> +++ b/arch/arm/include/asm/cputype.h
> @@ -235,6 +235,8 @@ static inline unsigned int __attribute_const__ read_cpuid_mpidr(void)
>  #define cpu_is_sa1100() (read_cpuid_part() == ARM_CPU_PART_SA1100)
>  #define cpu_is_sa1110() (read_cpuid_part() == ARM_CPU_PART_SA1110)
>  
> +#define read_specific_cpuid(cpu_num) per_cpu_ptr(&cpu_data, cpu_num)->cpuid
> +
>  /*
>   * Intel's XScale3 core supports some v6 features (supersections, L2)
>   * but advertises itself as v5 as it does not support the v6 ISA.  For

Russell -- are you ok with adding this macro to arch/arm/? It will get used
by the CPU PMU driver, which needs a portable (i.e. between arm and arm64)
way to convert a logical CPU ID into the MIDR register for that CPU.

Thanks,

Will