Thread (115 messages) 115 messages, 8 authors, 2010-10-06
STALE5722d

[PATCH 1/6] ARM: Add inline function smp_cpu() for early init testing

From: Will Deacon <hidden>
Date: 2010-09-03 08:58:23

Hi Tony,
-----Original Message-----
From: Tony Lindgren [mailto:tony at atomide.com]
Sent: 03 September 2010 03:22
To: Russell King - ARM Linux
Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org; Bryan Wu; Will Deacon
Subject: Re: [PATCH 1/6] ARM: Add inline function smp_cpu() for early init testing

* Tony Lindgren [off-list ref] [100902 17:00]:
quoted
* Tony Lindgren [off-list ref] [100902 12:20]:

Heh, turns out there's a bit of a bug in the code snippet above :) It should
be !((mpidr >> 30) & 1) instead, otherwise it always returns 0.
Gah! Well spotted! I think I was getting away with this because the platforms
I was using for testing didn't need tlb ops to be broadcast.
This too can check for value of 2. Also we probably want to do the
CPU type checks too. Updated patch below.
Your patches are turning up as attachments here, so I can't comment
inline. The only problem I can see is for SMP v6 platforms (ARM11MPCore)
where the MPIDR is actually the `CPU ID register' with bits 31:12 set to
zero, so we'll say it's a UP core.

Since 11MPCore is the only ARM SMP v6 processor and you're checking
the implementor ID anyway, it might be easier to check for the 11MPCore
explicitly, ((read_cpuid_id() & 0xfff0) == 0xB020) rather than check for v6/v7.

Or we could just ignore v6 for now.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help