aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/kernel/smp.c')
-rw-r--r--arch/arm/kernel/smp.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index e0d32770bb3d..57162af53dc9 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -36,6 +36,7 @@
36#include <asm/tlbflush.h> 36#include <asm/tlbflush.h>
37#include <asm/ptrace.h> 37#include <asm/ptrace.h>
38#include <asm/localtimer.h> 38#include <asm/localtimer.h>
39#include <asm/smp_plat.h>
39 40
40/* 41/*
41 * as from 2.5, kernels no longer have an init_tasks structure 42 * as from 2.5, kernels no longer have an init_tasks structure
@@ -153,7 +154,7 @@ int __cpuinit __cpu_up(unsigned int cpu)
153/* 154/*
154 * __cpu_disable runs on the processor to be shutdown. 155 * __cpu_disable runs on the processor to be shutdown.
155 */ 156 */
156int __cpuexit __cpu_disable(void) 157int __cpu_disable(void)
157{ 158{
158 unsigned int cpu = smp_processor_id(); 159 unsigned int cpu = smp_processor_id();
159 struct task_struct *p; 160 struct task_struct *p;
@@ -200,7 +201,7 @@ int __cpuexit __cpu_disable(void)
200 * called on the thread which is asking for a CPU to be shutdown - 201 * called on the thread which is asking for a CPU to be shutdown -
201 * waits until shutdown has completed, or it is timed out. 202 * waits until shutdown has completed, or it is timed out.
202 */ 203 */
203void __cpuexit __cpu_die(unsigned int cpu) 204void __cpu_die(unsigned int cpu)
204{ 205{
205 if (!platform_cpu_kill(cpu)) 206 if (!platform_cpu_kill(cpu))
206 printk("CPU%u: unable to kill\n", cpu); 207 printk("CPU%u: unable to kill\n", cpu);
@@ -214,7 +215,7 @@ void __cpuexit __cpu_die(unsigned int cpu)
214 * of the other hotplug-cpu capable cores, so presumably coming 215 * of the other hotplug-cpu capable cores, so presumably coming
215 * out of idle fixes this. 216 * out of idle fixes this.
216 */ 217 */
217void __cpuexit cpu_die(void) 218void __ref cpu_die(void)
218{ 219{
219 unsigned int cpu = smp_processor_id(); 220 unsigned int cpu = smp_processor_id();
220 221
@@ -586,12 +587,6 @@ struct tlb_args {
586 unsigned long ta_end; 587 unsigned long ta_end;
587}; 588};
588 589
589/* all SMP configurations have the extended CPUID registers */
590static inline int tlb_ops_need_broadcast(void)
591{
592 return ((read_cpuid_ext(CPUID_EXT_MMFR3) >> 12) & 0xf) < 2;
593}
594
595static inline void ipi_flush_tlb_all(void *ignored) 590static inline void ipi_flush_tlb_all(void *ignored)
596{ 591{
597 local_flush_tlb_all(); 592 local_flush_tlb_all();