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 | ||
