diff options
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index 9be68091bdf2..5465dc183e5a 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -291,6 +291,17 @@ static inline unsigned int decode_config4(struct cpuinfo_mips *c) | |||
291 | return config4 & MIPS_CONF_M; | 291 | return config4 & MIPS_CONF_M; |
292 | } | 292 | } |
293 | 293 | ||
294 | static inline unsigned int decode_config5(struct cpuinfo_mips *c) | ||
295 | { | ||
296 | unsigned int config5; | ||
297 | |||
298 | config5 = read_c0_config5(); | ||
299 | config5 &= ~MIPS_CONF5_UFR; | ||
300 | write_c0_config5(config5); | ||
301 | |||
302 | return config5 & MIPS_CONF_M; | ||
303 | } | ||
304 | |||
294 | static void decode_configs(struct cpuinfo_mips *c) | 305 | static void decode_configs(struct cpuinfo_mips *c) |
295 | { | 306 | { |
296 | int ok; | 307 | int ok; |
@@ -311,6 +322,8 @@ static void decode_configs(struct cpuinfo_mips *c) | |||
311 | ok = decode_config3(c); | 322 | ok = decode_config3(c); |
312 | if (ok) | 323 | if (ok) |
313 | ok = decode_config4(c); | 324 | ok = decode_config4(c); |
325 | if (ok) | ||
326 | ok = decode_config5(c); | ||
314 | 327 | ||
315 | mips_probe_watch_registers(c); | 328 | mips_probe_watch_registers(c); |
316 | 329 | ||