[v2 3/9] ARM: tegra: # of CPU cores detection w/ & w/o HAVE_ARM_SCU

Hiroshi Doyu hdoyu at nvidia.com
Wed Jan 9 01:25:09 EST 2013


Hi Joseph,

Joseph Lo <josephl at nvidia.com> wrote @ Wed, 9 Jan 2013 07:07:41 +0100:

> On Wed, 2013-01-09 at 13:46 +0800, Hiroshi Doyu wrote:
> > Russell King - ARM Linux <linux at arm.linux.org.uk> wrote @ Tue, 8 Jan 2013 15:26:51 +0100:
> > 
> > > On Tue, Jan 08, 2013 at 02:47:37PM +0200, Hiroshi Doyu wrote:
> > > > The method to detect the number of CPU cores on Cortex-A9 MPCore and
> > > > Cortex-A15 MPCore is different. On Cortex-A9 MPCore we can get this
> > > > information from the Snoop Control Unit(SCU). On Cortex-A15 MPCore we
> > > > have to read it from the system coprocessor(CP15), because the SCU on
> > > > Cortex-A15 MPCore does not have software readable registers. This
> > > > patch selects the correct method at runtime based on the CPU ID.
> > > > 
> > > > Signed-off-by: Hiroshi Doyu <hdoyu at nvidia.com>
> > > > ---
> > > >  arch/arm/mach-tegra/platsmp.c |   31 ++++++++++++++++++++++++++++---
> > > >  1 file changed, 28 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/arch/arm/mach-tegra/platsmp.c b/arch/arm/mach-tegra/platsmp.c
> > > > index 1b926df..68e76ef 100644
> > > > --- a/arch/arm/mach-tegra/platsmp.c
> > > > +++ b/arch/arm/mach-tegra/platsmp.c
> > > > @@ -23,6 +23,7 @@
> > > >  #include <asm/hardware/gic.h>
> > > >  #include <asm/mach-types.h>
> > > >  #include <asm/smp_scu.h>
> > > > +#include <asm/cputype.h>
> > > >  
> > > >  #include <mach/powergate.h>
> > > >  
> > > > @@ -34,9 +35,13 @@
> > > >  #include "common.h"
> > > >  #include "iomap.h"
> > > >  
> > > > +#define CPU_MASK		0xff0ffff0
> > > > +#define CPU_CORTEX_A9		0x410fc090
> > > > +#define CPU_CORTEX_A15		0x410fc0f0
> > > 
> > > NAK. There's some patches around to make this stuff generic, we don't
> > > need more ifdefs springing up.  We need to get those generic patches
> > > in.
> > 
> > Does anyone give some pointers to the above patches?
> 
> Hi Hiroshi,
> 
> Please check "arch/arm/include/asm/cputype.h" in next-20130109. It just
> be merged.

I found the following commit. Thanks.

commit cd8dde6fc347b56b6cb9afa7cc0f9073da163176
Author: Christoffer Dall <c.dall at virtualopensystems.com>
Date:   Tue Dec 18 04:06:37 2012 +0000

    ARM: Define CPU part numbers and implementors
    
    Define implementor IDs, part numbers and Xscale architecture versions in
    cputype.h.  Also create accessor functions for reading the implementor,
    part number, and Xscale architecture versions from the CPUID regiser.
    
    Signed-off-by: Christoffer Dall <c.dall at virtualopensystems.com>
    Signed-off-by: Will Deacon <will.deacon at arm.com>



More information about the linux-arm-kernel mailing list