Re: [PATCH 1/8] ARM: SCU: Add common routines for secondary CPU bootup

Russell King - ARM Linux
2010-12-02T15:24:28Z

On Thu, Dec 02, 2010 at 03:19:05PM +0000, Catalin Marinas wrote:
> On 1 December 2010 00:25, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> > On Tue, Nov 30, 2010 at 11:32:04PM +0000, Russell King - ARM Linux wrote:
> >> Note that I'll go with factoring this out into arch/arm/kernel/smp_scu.c
> >> for the time being, but I'm not convinced about the other parts yet.
> >
> > IOW, something like the attached.  I've gone a little further and removed
> > the now unnecessary scu_enable() and scu_get_core_count() global functions,
> > making scu_enable() static, and eliminating scu_get_core_count() entirely.
>
> There is some benefit in leaving get_core_count() in the platform
> code. For example, the SCU on Cortex-A15 doesn't expose the core count
> register and we have to get it from somewhere else (for now from some
> L2 cache controller register but in the future it may be hardcoded,
> passed via FDT or simply trying to boot maxcpus).

I notice that there's no way to tell what revision of SCU is implemented
on _any_ mpcore platform.

In light of that, I think there's no point what so ever trying to
consolidate this code - even the control register bits vary in
unpredictable ways between different MPcore implementations.

So we can't say "this is a SCU X and this is its register layout."

And really, having it undetectable except via DT (which from what I
can see, isn't happening any time soon) or via a command line argument
isn't acceptable.

So I think the idea of consolidating the SCU code is a lost cause.