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