diff options
Diffstat (limited to 'arch/arm/include/asm/glue.h')
-rw-r--r-- | arch/arm/include/asm/glue.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/arch/arm/include/asm/glue.h b/arch/arm/include/asm/glue.h index a0e39d5d00c9..234a3fc1c78e 100644 --- a/arch/arm/include/asm/glue.h +++ b/arch/arm/include/asm/glue.h | |||
@@ -120,25 +120,39 @@ | |||
120 | #endif | 120 | #endif |
121 | 121 | ||
122 | /* | 122 | /* |
123 | * Prefetch abort handler. If the CPU has an IFAR use that, otherwise | 123 | * Prefetch Abort Model |
124 | * use the address of the aborted instruction | 124 | * ================ |
125 | * | ||
126 | * We have the following to choose from: | ||
127 | * legacy - no IFSR, no IFAR | ||
128 | * v6 - ARMv6: IFSR, no IFAR | ||
129 | * v7 - ARMv7: IFSR and IFAR | ||
125 | */ | 130 | */ |
131 | |||
126 | #undef CPU_PABORT_HANDLER | 132 | #undef CPU_PABORT_HANDLER |
127 | #undef MULTI_PABORT | 133 | #undef MULTI_PABORT |
128 | 134 | ||
129 | #ifdef CONFIG_CPU_PABRT_IFAR | 135 | #ifdef CONFIG_CPU_PABRT_LEGACY |
136 | # ifdef CPU_PABORT_HANDLER | ||
137 | # define MULTI_PABORT 1 | ||
138 | # else | ||
139 | # define CPU_PABORT_HANDLER legacy_pabort | ||
140 | # endif | ||
141 | #endif | ||
142 | |||
143 | #ifdef CONFIG_CPU_PABRT_V6 | ||
130 | # ifdef CPU_PABORT_HANDLER | 144 | # ifdef CPU_PABORT_HANDLER |
131 | # define MULTI_PABORT 1 | 145 | # define MULTI_PABORT 1 |
132 | # else | 146 | # else |
133 | # define CPU_PABORT_HANDLER(reg, insn) mrc p15, 0, reg, cr6, cr0, 2 | 147 | # define CPU_PABORT_HANDLER v6_pabort |
134 | # endif | 148 | # endif |
135 | #endif | 149 | #endif |
136 | 150 | ||
137 | #ifdef CONFIG_CPU_PABRT_NOIFAR | 151 | #ifdef CONFIG_CPU_PABRT_V7 |
138 | # ifdef CPU_PABORT_HANDLER | 152 | # ifdef CPU_PABORT_HANDLER |
139 | # define MULTI_PABORT 1 | 153 | # define MULTI_PABORT 1 |
140 | # else | 154 | # else |
141 | # define CPU_PABORT_HANDLER(reg, insn) mov reg, insn | 155 | # define CPU_PABORT_HANDLER v7_pabort |
142 | # endif | 156 | # endif |
143 | #endif | 157 | #endif |
144 | 158 | ||