xref: /openbmc/linux/arch/arm/include/asm/glue-df.h (revision bc5aa3a0)
1 /*
2  *  arch/arm/include/asm/glue-df.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_DF_H
12 #define ASM_GLUE_DF_H
13 
14 #include <asm/glue.h>
15 
16 /*
17  *	Data Abort Model
18  *	================
19  *
20  *	We have the following to choose from:
21  *	  arm7		- ARM7 style
22  *	  v4_early	- ARMv4 without Thumb early abort handler
23  *	  v4t_late	- ARMv4 with Thumb late abort handler
24  *	  v4t_early	- ARMv4 with Thumb early abort handler
25  *	  v5t_early	- ARMv5 with Thumb early abort handler
26  *	  v5tj_early	- ARMv5 with Thumb and Java early abort handler
27  *	  xscale	- ARMv5 with Thumb with Xscale extensions
28  *	  v6_early	- ARMv6 generic early abort handler
29  *	  v7_early	- ARMv7 generic early abort handler
30  */
31 #undef CPU_DABORT_HANDLER
32 #undef MULTI_DABORT
33 
34 #ifdef CONFIG_CPU_ABRT_EV4
35 # ifdef CPU_DABORT_HANDLER
36 #  define MULTI_DABORT 1
37 # else
38 #  define CPU_DABORT_HANDLER v4_early_abort
39 # endif
40 #endif
41 
42 #ifdef CONFIG_CPU_ABRT_LV4T
43 # ifdef CPU_DABORT_HANDLER
44 #  define MULTI_DABORT 1
45 # else
46 #  define CPU_DABORT_HANDLER v4t_late_abort
47 # endif
48 #endif
49 
50 #ifdef CONFIG_CPU_ABRT_EV4T
51 # ifdef CPU_DABORT_HANDLER
52 #  define MULTI_DABORT 1
53 # else
54 #  define CPU_DABORT_HANDLER v4t_early_abort
55 # endif
56 #endif
57 
58 #ifdef CONFIG_CPU_ABRT_EV5T
59 # ifdef CPU_DABORT_HANDLER
60 #  define MULTI_DABORT 1
61 # else
62 #  define CPU_DABORT_HANDLER v5t_early_abort
63 # endif
64 #endif
65 
66 #ifdef CONFIG_CPU_ABRT_EV5TJ
67 # ifdef CPU_DABORT_HANDLER
68 #  define MULTI_DABORT 1
69 # else
70 #  define CPU_DABORT_HANDLER v5tj_early_abort
71 # endif
72 #endif
73 
74 #ifdef CONFIG_CPU_ABRT_EV6
75 # ifdef CPU_DABORT_HANDLER
76 #  define MULTI_DABORT 1
77 # else
78 #  define CPU_DABORT_HANDLER v6_early_abort
79 # endif
80 #endif
81 
82 #ifdef CONFIG_CPU_ABRT_EV7
83 # ifdef CPU_DABORT_HANDLER
84 #  define MULTI_DABORT 1
85 # else
86 #  define CPU_DABORT_HANDLER v7_early_abort
87 # endif
88 #endif
89 
90 #ifdef CONFIG_CPU_ABRT_NOMMU
91 # ifdef CPU_DABORT_HANDLER
92 #  define MULTI_DABORT 1
93 # else
94 #  define CPU_DABORT_HANDLER nommu_early_abort
95 # endif
96 #endif
97 
98 #ifndef CPU_DABORT_HANDLER
99 #error Unknown data abort handler type
100 #endif
101 
102 #endif
103