summaryrefslogtreecommitdiff
path: root/arch/arm/mach-exynos/headsmp.S
diff options
context:
space:
mode:
authorHyungwon Hwang <human.hwang@samsung.com>2014-12-11 16:47:30 +0900
committerHyungwon Hwang <human.hwang@samsung.com>2014-12-24 11:20:19 +0900
commitc25aae8a02c0e3132df581d1d12be1d6738a08d6 (patch)
tree849e5fe850909bbfd55bb7beb028e79915bac129 /arch/arm/mach-exynos/headsmp.S
parent996ac4b387722b1c9214a33bc424f793c30dd67f (diff)
downloadlinux-3.10-c25aae8a02c0e3132df581d1d12be1d6738a08d6.tar.gz
linux-3.10-c25aae8a02c0e3132df581d1d12be1d6738a08d6.tar.bz2
linux-3.10-c25aae8a02c0e3132df581d1d12be1d6738a08d6.zip
ARM: exynos: add support secondary core bootup in big.LITTLE processor.
This patch adds support secondary core bootup in big.LITTLE processor for platsmp. Just core id cannot be used for identification, because there is a pair of the cores which have same core id. Cluster id have to be included for their identification. This patch makes cpu index using cluster id and core id for the calculation of their register address and the identification. But there is a problem to use cluster id for core index creation. That is, cluster id does not start from 0 in old processors which do not have more than one cluster. For example, Exynos4412's cluster id for its 4 core is 0xa. So I makes all cluster id to 0 when they are bigger than 1. Normally big.LITTLE processor does not use platsmp. But at this moment, just for the minimal functionality of big.LITTLE, this patch adds support for it. This patch can be reverted after another CPU management method is adopted. Change-Id: Ifa2d62545dd4174998f962c9608fd6d9b6034c16 Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos/headsmp.S')
-rw-r--r--arch/arm/mach-exynos/headsmp.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S
index 5364d4bfa8b..b1243664999 100644
--- a/arch/arm/mach-exynos/headsmp.S
+++ b/arch/arm/mach-exynos/headsmp.S
@@ -22,7 +22,7 @@
*/
ENTRY(exynos4_secondary_startup)
mrc p15, 0, r0, c0, c0, 5
- and r0, r0, #15
+ and r0, r0, #0xFFFFFF
adr r4, 1f
ldmia r4, {r5, r6}
sub r4, r4, r5