aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/include/asm/proc-fns.h4
-rw-r--r--arch/arm/kernel/bugs.c4
-rw-r--r--arch/arm/mm/proc-macros.S3
3 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/include/asm/proc-fns.h b/arch/arm/include/asm/proc-fns.h
index f2e1af45bd6f..e25f4392e1b2 100644
--- a/arch/arm/include/asm/proc-fns.h
+++ b/arch/arm/include/asm/proc-fns.h
@@ -37,6 +37,10 @@ extern struct processor {
37 */ 37 */
38 void (*_proc_init)(void); 38 void (*_proc_init)(void);
39 /* 39 /*
40 * Check for processor bugs
41 */
42 void (*check_bugs)(void);
43 /*
40 * Disable any processor specifics 44 * Disable any processor specifics
41 */ 45 */
42 void (*_proc_fin)(void); 46 void (*_proc_fin)(void);
diff --git a/arch/arm/kernel/bugs.c b/arch/arm/kernel/bugs.c
index 16e7ba2a9cc4..7be511310191 100644
--- a/arch/arm/kernel/bugs.c
+++ b/arch/arm/kernel/bugs.c
@@ -5,6 +5,10 @@
5 5
6void check_other_bugs(void) 6void check_other_bugs(void)
7{ 7{
8#ifdef MULTI_CPU
9 if (processor.check_bugs)
10 processor.check_bugs();
11#endif
8} 12}
9 13
10void __init check_bugs(void) 14void __init check_bugs(void)
diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S
index f10e31d0730a..81d0efb055c6 100644
--- a/arch/arm/mm/proc-macros.S
+++ b/arch/arm/mm/proc-macros.S
@@ -273,13 +273,14 @@
273 mcr p15, 0, ip, c7, c10, 4 @ data write barrier 273 mcr p15, 0, ip, c7, c10, 4 @ data write barrier
274 .endm 274 .endm
275 275
276.macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0 276.macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0, bugs=0
277 .type \name\()_processor_functions, #object 277 .type \name\()_processor_functions, #object
278 .align 2 278 .align 2
279ENTRY(\name\()_processor_functions) 279ENTRY(\name\()_processor_functions)
280 .word \dabort 280 .word \dabort
281 .word \pabort 281 .word \pabort
282 .word cpu_\name\()_proc_init 282 .word cpu_\name\()_proc_init
283 .word \bugs
283 .word cpu_\name\()_proc_fin 284 .word cpu_\name\()_proc_fin
284 .word cpu_\name\()_reset 285 .word cpu_\name\()_reset
285 .word cpu_\name\()_do_idle 286 .word cpu_\name\()_do_idle