diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2007-07-05 03:14:21 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-07-06 11:17:11 -0400 |
commit | 075c733e19ce7530b53b78151cc4d303c8f64548 (patch) | |
tree | c4f3e9a373b924794c97f5964cd55b121918ab41 | |
parent | 9349075a15a876f8e82f433ec84f99d19d3e77f9 (diff) |
[MIPS] RM7000: Enable ICACHE_REFILLS_WORKAROUND_WAR.
The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra
opposes it being called that) where invalid instructions in the same
I-cache line worth of instructions being fetched may case spurious
exceptions.
The workaround for this was only enabled for E9000 cores; enable it also
for all RM7000-based platforms.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | include/asm-mips/war.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/asm-mips/war.h b/include/asm-mips/war.h index 13a3502eef44..ec0eeebd8802 100644 --- a/include/asm-mips/war.h +++ b/include/asm-mips/war.h | |||
@@ -177,18 +177,22 @@ | |||
177 | #endif | 177 | #endif |
178 | 178 | ||
179 | /* | 179 | /* |
180 | * The RM9000 has a bug (though PMC-Sierra opposes it being called that) | 180 | * The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra |
181 | * where invalid instructions in the same I-cache line worth of instructions | 181 | * opposes it being called that) where invalid instructions in the same |
182 | * being fetched may case spurious exceptions. | 182 | * I-cache line worth of instructions being fetched may case spurious |
183 | */ | 183 | * exceptions. |
184 | #if defined(CONFIG_MOMENCO_JAGUAR_ATX) || defined(CONFIG_MOMENCO_OCELOT_3) || \ | 184 | */ |
185 | defined(CONFIG_PMC_YOSEMITE) || defined(CONFIG_BASLER_EXCITE) | 185 | #if defined(CONFIG_BASLER_EXCITE) || defined(CONFIG_MOMENCO_JAGUAR_ATX) || \ |
186 | defined(CONFIG_MIPS_ATLAS) || defined(CONFIG_MIPS_MALTA) || \ | ||
187 | defined(CONFIG_MOMENCO_OCELOT) || defined(CONFIG_MOMENCO_OCELOT_3) || \ | ||
188 | defined(CONFIG_MOMENCO_OCELOT_C) || defined(CONFIG_PMC_YOSEMITE) || \ | ||
189 | defined(CONFIG_SGI_IP32) || defined(CONFIG_WR_PPMC) | ||
186 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 | 190 | #define ICACHE_REFILLS_WORKAROUND_WAR 1 |
187 | #endif | 191 | #endif |
188 | 192 | ||
189 | 193 | ||
190 | /* | 194 | /* |
191 | * ON the R10000 upto version 2.6 (not sure about 2.7) there is a bug that | 195 | * On the R10000 upto version 2.6 (not sure about 2.7) there is a bug that |
192 | * may cause ll / sc and lld / scd sequences to execute non-atomically. | 196 | * may cause ll / sc and lld / scd sequences to execute non-atomically. |
193 | */ | 197 | */ |
194 | #ifdef CONFIG_SGI_IP27 | 198 | #ifdef CONFIG_SGI_IP27 |