xref: /linux/arch/arm/include/asm/glue-pf.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 /*
2  *  arch/arm/include/asm/glue-pf.h
3  *
4  *  Copyright (C) 1997-1999 Russell King
5  *  Copyright (C) 2000-2002 Deep Blue Solutions Ltd.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  */
11 #ifndef ASM_GLUE_PF_H
12 #define ASM_GLUE_PF_H
13 
14 #include <asm/glue.h>
15 
16 /*
17  *	Prefetch Abort Model
18  *	================
19  *
20  *	We have the following to choose from:
21  *	  legacy	- no IFSR, no IFAR
22  *	  v6		- ARMv6: IFSR, no IFAR
23  *	  v7		- ARMv7: IFSR and IFAR
24  */
25 
26 #undef CPU_PABORT_HANDLER
27 #undef MULTI_PABORT
28 
29 #ifdef CONFIG_CPU_PABRT_LEGACY
30 # ifdef CPU_PABORT_HANDLER
31 #  define MULTI_PABORT 1
32 # else
33 #  define CPU_PABORT_HANDLER legacy_pabort
34 # endif
35 #endif
36 
37 #ifdef CONFIG_CPU_PABRT_V6
38 # ifdef CPU_PABORT_HANDLER
39 #  define MULTI_PABORT 1
40 # else
41 #  define CPU_PABORT_HANDLER v6_pabort
42 # endif
43 #endif
44 
45 #ifdef CONFIG_CPU_PABRT_V7
46 # ifdef CPU_PABORT_HANDLER
47 #  define MULTI_PABORT 1
48 # else
49 #  define CPU_PABORT_HANDLER v7_pabort
50 # endif
51 #endif
52 
53 #ifndef CPU_PABORT_HANDLER
54 #error Unknown prefetch abort handler type
55 #endif
56 
57 #endif
58