39
38
* v5tej_early - ARMv5 with Thumb and Java early abort handler
40
39
* xscale - ARMv5 with Thumb with Xscale extensions
41
40
* v6_early - ARMv6 generic early abort handler
41
* v7_early - ARMv7 generic early abort handler
43
#undef CPU_ABORT_HANDLER
43
#undef CPU_DABORT_HANDLER
46
46
#if defined(CONFIG_CPU_ARM610)
47
# ifdef CPU_ABORT_HANDLER
48
# define MULTI_ABORT 1
47
# ifdef CPU_DABORT_HANDLER
48
# define MULTI_DABORT 1
50
# define CPU_ABORT_HANDLER cpu_arm6_data_abort
50
# define CPU_DABORT_HANDLER cpu_arm6_data_abort
54
54
#if defined(CONFIG_CPU_ARM710)
55
# ifdef CPU_ABORT_HANDLER
56
# define MULTI_ABORT 1
55
# ifdef CPU_DABORT_HANDLER
56
# define MULTI_DABORT 1
58
# define CPU_ABORT_HANDLER cpu_arm7_data_abort
58
# define CPU_DABORT_HANDLER cpu_arm7_data_abort
62
62
#ifdef CONFIG_CPU_ABRT_LV4T
63
# ifdef CPU_ABORT_HANDLER
64
# define MULTI_ABORT 1
63
# ifdef CPU_DABORT_HANDLER
64
# define MULTI_DABORT 1
66
# define CPU_ABORT_HANDLER v4t_late_abort
66
# define CPU_DABORT_HANDLER v4t_late_abort
70
70
#ifdef CONFIG_CPU_ABRT_EV4
71
# ifdef CPU_ABORT_HANDLER
72
# define MULTI_ABORT 1
71
# ifdef CPU_DABORT_HANDLER
72
# define MULTI_DABORT 1
74
# define CPU_ABORT_HANDLER v4_early_abort
74
# define CPU_DABORT_HANDLER v4_early_abort
78
78
#ifdef CONFIG_CPU_ABRT_EV4T
79
# ifdef CPU_ABORT_HANDLER
80
# define MULTI_ABORT 1
79
# ifdef CPU_DABORT_HANDLER
80
# define MULTI_DABORT 1
82
# define CPU_ABORT_HANDLER v4t_early_abort
82
# define CPU_DABORT_HANDLER v4t_early_abort
86
86
#ifdef CONFIG_CPU_ABRT_EV5TJ
87
# ifdef CPU_ABORT_HANDLER
88
# define MULTI_ABORT 1
87
# ifdef CPU_DABORT_HANDLER
88
# define MULTI_DABORT 1
90
# define CPU_ABORT_HANDLER v5tj_early_abort
90
# define CPU_DABORT_HANDLER v5tj_early_abort
94
94
#ifdef CONFIG_CPU_ABRT_EV5T
95
# ifdef CPU_ABORT_HANDLER
96
# define MULTI_ABORT 1
95
# ifdef CPU_DABORT_HANDLER
96
# define MULTI_DABORT 1
98
# define CPU_ABORT_HANDLER v5t_early_abort
98
# define CPU_DABORT_HANDLER v5t_early_abort
102
102
#ifdef CONFIG_CPU_ABRT_EV6
103
# ifdef CPU_ABORT_HANDLER
104
# define MULTI_ABORT 1
106
# define CPU_ABORT_HANDLER v6_early_abort
110
#ifndef CPU_ABORT_HANDLER
103
# ifdef CPU_DABORT_HANDLER
104
# define MULTI_DABORT 1
106
# define CPU_DABORT_HANDLER v6_early_abort
110
#ifdef CONFIG_CPU_ABRT_EV7
111
# ifdef CPU_DABORT_HANDLER
112
# define MULTI_DABORT 1
114
# define CPU_DABORT_HANDLER v7_early_abort
118
#ifndef CPU_DABORT_HANDLER
111
119
#error Unknown data abort handler type
123
* Prefetch abort handler. If the CPU has an IFAR use that, otherwise
124
* use the address of the aborted instruction
126
#undef CPU_PABORT_HANDLER
129
#ifdef CONFIG_CPU_PABRT_IFAR
130
# ifdef CPU_PABORT_HANDLER
131
# define MULTI_PABORT 1
133
# define CPU_PABORT_HANDLER(reg, insn) mrc p15, 0, reg, cr6, cr0, 2
137
#ifdef CONFIG_CPU_PABRT_NOIFAR
138
# ifdef CPU_PABORT_HANDLER
139
# define MULTI_PABORT 1
141
# define CPU_PABORT_HANDLER(reg, insn) mov reg, insn
145
#ifndef CPU_PABORT_HANDLER
146
#error Unknown prefetch abort handler type