Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
glue-df.h
Go to the documentation of this file.
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  * arm6 - ARM6 style
22  * arm7 - ARM7 style
23  * v4_early - ARMv4 without Thumb early abort handler
24  * v4t_late - ARMv4 with Thumb late abort handler
25  * v4t_early - ARMv4 with Thumb early abort handler
26  * v5tej_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 #if defined(CONFIG_CPU_ARM710)
35 # ifdef CPU_DABORT_HANDLER
36 # define MULTI_DABORT 1
37 # else
38 # define CPU_DABORT_HANDLER cpu_arm7_data_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_EV4
51 # ifdef CPU_DABORT_HANDLER
52 # define MULTI_DABORT 1
53 # else
54 # define CPU_DABORT_HANDLER v4_early_abort
55 # endif
56 #endif
57 
58 #ifdef CONFIG_CPU_ABRT_EV4T
59 # ifdef CPU_DABORT_HANDLER
60 # define MULTI_DABORT 1
61 # else
62 # define CPU_DABORT_HANDLER v4t_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_EV5T
75 # ifdef CPU_DABORT_HANDLER
76 # define MULTI_DABORT 1
77 # else
78 # define CPU_DABORT_HANDLER v5t_early_abort
79 # endif
80 #endif
81 
82 #ifdef CONFIG_CPU_ABRT_EV6
83 # ifdef CPU_DABORT_HANDLER
84 # define MULTI_DABORT 1
85 # else
86 # define CPU_DABORT_HANDLER v6_early_abort
87 # endif
88 #endif
89 
90 #ifdef CONFIG_CPU_ABRT_EV7
91 # ifdef CPU_DABORT_HANDLER
92 # define MULTI_DABORT 1
93 # else
94 # define CPU_DABORT_HANDLER v7_early_abort
95 # endif
96 #endif
97 
98 #ifndef CPU_DABORT_HANDLER
99 #error Unknown data abort handler type
100 #endif
101 
102 #endif