summaryrefslogtreecommitdiffstats
path: root/lib/cpumask.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2013-01-31 00:49:57 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-02-08 11:17:22 +0100
commit2bb3135166abcd59979cfcdd3696ba840b6b9d45 (patch)
tree3ba104b4cf88a22f1a7e7facdb113a4664192e6d /lib/cpumask.c
parentLinux 3.8-rc5 (diff)
downloadlinux-2bb3135166abcd59979cfcdd3696ba840b6b9d45.tar.xz
linux-2bb3135166abcd59979cfcdd3696ba840b6b9d45.zip
ARM: GIC: fix GIC cpumask initialization
Punit Agrawal reports: > I was trying to boot 3.8-rc5 on Realview EB 11MPCore using > realview-smp_defconfig as a starting point but the kernel failed to > progress past the log below (config attached). > > Pawel suggested I try reverting 384a290283f - "ARM: gic: use a private > mapping for CPU target interfaces" that you've authored. With this > commit reverted the kernel boots. > > I am not quite sure why the commit breaks 11MPCore but Pawel (cc'd) > might be able to shed light on that. Some early GIC implementations return zero for the first distributor CPU routing register. This means we can't rely on that telling us which CPU interface we're connected to. We know that these platforms implement PPIs for IRQs 29-31 - but we shouldn't assume that these will always be populated. So, instead, scan for a non-zero CPU routing register in the first 32 IRQs and use that as our CPU mask. Reported-by: Punit Agrawal <punit.agrawal@arm.com> Reviewed-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'lib/cpumask.c')
0 files changed, 0 insertions, 0 deletions