blob: 6b70f1b46a6e3198296d452b36f11dda4b6d6617 [file] [log] [blame]
Russell King753790e2011-02-06 15:32:24 +00001/*
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:
Russell King753790e2011-02-06 15:32:24 +000021 * 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
Uwe Kleine-König473296e2013-01-30 12:07:14 +010025 * v5t_early - ARMv5 with Thumb early abort handler
26 * v5tj_early - ARMv5 with Thumb and Java early abort handler
Russell King753790e2011-02-06 15:32:24 +000027 * 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
Russell King753790e2011-02-06 15:32:24 +000034#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
Russell King753790e2011-02-06 15:32:24 +000042#ifdef CONFIG_CPU_ABRT_EV4
43# ifdef CPU_DABORT_HANDLER
44# define MULTI_DABORT 1
45# else
46# define CPU_DABORT_HANDLER v4_early_abort
47# endif
48#endif
49
Uwe Kleine-König473296e2013-01-30 12:07:14 +010050#ifdef CONFIG_CPU_ABRT_LV4T
51# ifdef CPU_DABORT_HANDLER
52# define MULTI_DABORT 1
53# else
54# define CPU_DABORT_HANDLER v4t_late_abort
55# endif
56#endif
57
Russell King753790e2011-02-06 15:32:24 +000058#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
Russell King753790e2011-02-06 15:32:24 +000066#ifdef CONFIG_CPU_ABRT_EV5T
67# ifdef CPU_DABORT_HANDLER
68# define MULTI_DABORT 1
69# else
70# define CPU_DABORT_HANDLER v5t_early_abort
71# endif
72#endif
73
Uwe Kleine-König473296e2013-01-30 12:07:14 +010074#ifdef CONFIG_CPU_ABRT_EV5TJ
75# ifdef CPU_DABORT_HANDLER
76# define MULTI_DABORT 1
77# else
78# define CPU_DABORT_HANDLER v5tj_early_abort
79# endif
80#endif
81
Russell King753790e2011-02-06 15:32:24 +000082#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
Catalin Marinas55bdd692010-05-21 18:06:41 +010098#ifdef CONFIG_CPU_ABRT_NOMMU
99# ifdef CPU_DABORT_HANDLER
100# define MULTI_DABORT 1
101# else
102# define CPU_DABORT_HANDLER nommu_early_abort
103# endif
104#endif
105
Russell King753790e2011-02-06 15:32:24 +0000106#ifndef CPU_DABORT_HANDLER
107#error Unknown data abort handler type
108#endif
109
110#endif