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