diff options
Diffstat (limited to 'arch/arm/mach-shmobile/smp-sh73a0.c')
-rw-r--r-- | arch/arm/mach-shmobile/smp-sh73a0.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c index 3ffdbc92ba82..be1ade76ccc8 100644 --- a/arch/arm/mach-shmobile/smp-sh73a0.c +++ b/arch/arm/mach-shmobile/smp-sh73a0.c | |||
@@ -74,6 +74,8 @@ void __cpuinit sh73a0_secondary_init(unsigned int cpu) | |||
74 | 74 | ||
75 | int __cpuinit sh73a0_boot_secondary(unsigned int cpu) | 75 | int __cpuinit sh73a0_boot_secondary(unsigned int cpu) |
76 | { | 76 | { |
77 | cpu = cpu_logical_map(cpu); | ||
78 | |||
77 | /* enable cache coherency */ | 79 | /* enable cache coherency */ |
78 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); | 80 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); |
79 | 81 | ||
@@ -87,6 +89,8 @@ int __cpuinit sh73a0_boot_secondary(unsigned int cpu) | |||
87 | 89 | ||
88 | void __init sh73a0_smp_prepare_cpus(void) | 90 | void __init sh73a0_smp_prepare_cpus(void) |
89 | { | 91 | { |
92 | int cpu = cpu_logical_map(0); | ||
93 | |||
90 | scu_enable(scu_base_addr()); | 94 | scu_enable(scu_base_addr()); |
91 | 95 | ||
92 | /* Map the reset vector (in headsmp.S) */ | 96 | /* Map the reset vector (in headsmp.S) */ |
@@ -94,5 +98,5 @@ void __init sh73a0_smp_prepare_cpus(void) | |||
94 | __raw_writel(__pa(shmobile_secondary_vector), __io(SBAR)); | 98 | __raw_writel(__pa(shmobile_secondary_vector), __io(SBAR)); |
95 | 99 | ||
96 | /* enable cache coherency on CPU0 */ | 100 | /* enable cache coherency on CPU0 */ |
97 | modify_scu_cpu_psr(0, 3 << (0 * 8)); | 101 | modify_scu_cpu_psr(0, 3 << (cpu * 8)); |
98 | } | 102 | } |