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