.. | .. |
---|
22 | 22 | /* |
---|
23 | 23 | * TLB hazards |
---|
24 | 24 | */ |
---|
25 | | -#if (defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)) && \ |
---|
26 | | - !defined(CONFIG_CPU_CAVIUM_OCTEON) && !defined(CONFIG_LOONGSON3_ENHANCEMENT) |
---|
| 25 | +#if (defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR5) || \ |
---|
| 26 | + defined(CONFIG_CPU_MIPSR6)) && \ |
---|
| 27 | + !defined(CONFIG_CPU_CAVIUM_OCTEON) && !defined(CONFIG_CPU_LOONGSON64) |
---|
27 | 28 | |
---|
28 | 29 | /* |
---|
29 | 30 | * MIPSR2 defines ehb for hazard avoidance |
---|
.. | .. |
---|
66 | 67 | unsigned long tmp; \ |
---|
67 | 68 | \ |
---|
68 | 69 | __asm__ __volatile__( \ |
---|
| 70 | + " .set push \n" \ |
---|
69 | 71 | " .set "MIPS_ISA_LEVEL" \n" \ |
---|
70 | 72 | " dla %0, 1f \n" \ |
---|
71 | 73 | " jr.hb %0 \n" \ |
---|
72 | | - " .set mips0 \n" \ |
---|
| 74 | + " .set pop \n" \ |
---|
73 | 75 | "1: \n" \ |
---|
74 | 76 | : "=r" (tmp)); \ |
---|
75 | 77 | } while (0) |
---|
.. | .. |
---|
141 | 143 | unsigned long tmp; \ |
---|
142 | 144 | \ |
---|
143 | 145 | __asm__ __volatile__( \ |
---|
| 146 | + " .set push \n" \ |
---|
144 | 147 | " .set mips64r2 \n" \ |
---|
145 | 148 | " dla %0, 1f \n" \ |
---|
146 | 149 | " jr.hb %0 \n" \ |
---|
147 | | - " .set mips0 \n" \ |
---|
| 150 | + " .set pop \n" \ |
---|
148 | 151 | "1: \n" \ |
---|
149 | 152 | : "=r" (tmp)); \ |
---|
150 | 153 | } while (0) |
---|
.. | .. |
---|
156 | 159 | } while (0) |
---|
157 | 160 | |
---|
158 | 161 | #elif defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \ |
---|
159 | | - defined(CONFIG_CPU_LOONGSON2) || defined(CONFIG_LOONGSON3_ENHANCEMENT) || \ |
---|
| 162 | + defined(CONFIG_CPU_LOONGSON2EF) || defined(CONFIG_CPU_LOONGSON64) || \ |
---|
160 | 163 | defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_R5500) || defined(CONFIG_CPU_XLR) |
---|
161 | 164 | |
---|
162 | 165 | /* |
---|
.. | .. |
---|
276 | 279 | |
---|
277 | 280 | #define __disable_fpu_hazard |
---|
278 | 281 | |
---|
279 | | -#elif defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6) |
---|
| 282 | +#elif defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR5) || \ |
---|
| 283 | + defined(CONFIG_CPU_MIPSR6) |
---|
280 | 284 | |
---|
281 | 285 | #define __enable_fpu_hazard \ |
---|
282 | 286 | ___ehb |
---|