aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/kernel/cpu-probe.c12
-rw-r--r--arch/mips/kernel/time.c2
-rw-r--r--arch/mips/mm/c-r4k.c4
-rw-r--r--include/asm-mips/cpu.h17
4 files changed, 16 insertions, 19 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index 5e1b08b00a33..d00f8768e2a0 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -447,10 +447,10 @@ static inline unsigned int decode_config0(struct cpuinfo_mips *c)
447 isa = (config0 & MIPS_CONF_AT) >> 13; 447 isa = (config0 & MIPS_CONF_AT) >> 13;
448 switch (isa) { 448 switch (isa) {
449 case 0: 449 case 0:
450 c->isa_level = MIPS_CPU_ISA_M32; 450 c->isa_level = MIPS_CPU_ISA_M32R1;
451 break; 451 break;
452 case 2: 452 case 2:
453 c->isa_level = MIPS_CPU_ISA_M64; 453 c->isa_level = MIPS_CPU_ISA_M64R1;
454 break; 454 break;
455 default: 455 default:
456 panic("Unsupported ISA type, cp0.config0.at: %d.", isa); 456 panic("Unsupported ISA type, cp0.config0.at: %d.", isa);
@@ -568,7 +568,7 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c)
568 break; 568 break;
569 case PRID_IMP_34K: 569 case PRID_IMP_34K:
570 c->cputype = CPU_34K; 570 c->cputype = CPU_34K;
571 c->isa_level = MIPS_CPU_ISA_M32; 571 c->isa_level = MIPS_CPU_ISA_M32R1;
572 break; 572 break;
573 } 573 }
574} 574}
@@ -647,7 +647,7 @@ static inline void cpu_probe_philips(struct cpuinfo_mips *c)
647 switch (c->processor_id & 0xff00) { 647 switch (c->processor_id & 0xff00) {
648 case PRID_IMP_PR4450: 648 case PRID_IMP_PR4450:
649 c->cputype = CPU_PR4450; 649 c->cputype = CPU_PR4450;
650 c->isa_level = MIPS_CPU_ISA_M32; 650 c->isa_level = MIPS_CPU_ISA_M32R1;
651 break; 651 break;
652 default: 652 default:
653 panic("Unknown Philips Core!"); /* REVISIT: die? */ 653 panic("Unknown Philips Core!"); /* REVISIT: die? */
@@ -690,8 +690,8 @@ __init void cpu_probe(void)
690 if (c->options & MIPS_CPU_FPU) { 690 if (c->options & MIPS_CPU_FPU) {
691 c->fpu_id = cpu_get_fpu_id(); 691 c->fpu_id = cpu_get_fpu_id();
692 692
693 if (c->isa_level == MIPS_CPU_ISA_M32 || 693 if (c->isa_level == MIPS_CPU_ISA_M32R1 ||
694 c->isa_level == MIPS_CPU_ISA_M64) { 694 c->isa_level == MIPS_CPU_ISA_M64R1) {
695 if (c->fpu_id & MIPS_FPIR_3D) 695 if (c->fpu_id & MIPS_FPIR_3D)
696 c->ases |= MIPS_ASE_MIPS3D; 696 c->ases |= MIPS_ASE_MIPS3D;
697 } 697 }
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index 787ed541d442..174959bf1d59 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -628,7 +628,7 @@ void __init time_init(void)
628 mips_hpt_init = c0_hpt_init; 628 mips_hpt_init = c0_hpt_init;
629 } 629 }
630 630
631 if ((current_cpu_data.isa_level == MIPS_CPU_ISA_M32) || 631 if ((current_cpu_data.isa_level == MIPS_CPU_ISA_M32R1) ||
632 (current_cpu_data.isa_level == MIPS_CPU_ISA_I) || 632 (current_cpu_data.isa_level == MIPS_CPU_ISA_I) ||
633 (current_cpu_data.isa_level == MIPS_CPU_ISA_II)) 633 (current_cpu_data.isa_level == MIPS_CPU_ISA_II))
634 /* 634 /*
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 38223b44d962..422b55fab07a 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -1183,8 +1183,8 @@ static void __init setup_scache(void)
1183 if (!sc_present) 1183 if (!sc_present)
1184 return; 1184 return;
1185 1185
1186 if ((c->isa_level == MIPS_CPU_ISA_M32 || 1186 if ((c->isa_level == MIPS_CPU_ISA_M32R1 ||
1187 c->isa_level == MIPS_CPU_ISA_M64) && 1187 c->isa_level == MIPS_CPU_ISA_M64R1) &&
1188 !(c->scache.flags & MIPS_CACHE_NOT_PRESENT)) 1188 !(c->scache.flags & MIPS_CACHE_NOT_PRESENT))
1189 panic("Dunno how to handle MIPS32 / MIPS64 second level cache"); 1189 panic("Dunno how to handle MIPS32 / MIPS64 second level cache");
1190 1190
diff --git a/include/asm-mips/cpu.h b/include/asm-mips/cpu.h
index 48eac296060f..256fe130eae8 100644
--- a/include/asm-mips/cpu.h
+++ b/include/asm-mips/cpu.h
@@ -202,18 +202,15 @@
202 * ISA Level encodings 202 * ISA Level encodings
203 * 203 *
204 */ 204 */
205#define MIPS_CPU_ISA_64BIT 0x00008000
206
205#define MIPS_CPU_ISA_I 0x00000001 207#define MIPS_CPU_ISA_I 0x00000001
206#define MIPS_CPU_ISA_II 0x00000002 208#define MIPS_CPU_ISA_II 0x00000002
207#define MIPS_CPU_ISA_III 0x00008003 209#define MIPS_CPU_ISA_III (0x00000003 | MIPS_CPU_ISA_64BIT)
208#define MIPS_CPU_ISA_IV 0x00008004 210#define MIPS_CPU_ISA_IV (0x00000004 | MIPS_CPU_ISA_64BIT)
209#define MIPS_CPU_ISA_V 0x00008005 211#define MIPS_CPU_ISA_V (0x00000005 | MIPS_CPU_ISA_64BIT)
210#define MIPS_CPU_ISA_M32 0x00000020 212#define MIPS_CPU_ISA_M32R1 0x00000020
211#define MIPS_CPU_ISA_M64 0x00008040 213#define MIPS_CPU_ISA_M64R1 (0x00000040 | MIPS_CPU_ISA_64BIT)
212
213/*
214 * Bit 15 encodes if an ISA level supports 64-bit operations.
215 */
216#define MIPS_CPU_ISA_64BIT 0x00008000
217 214
218/* 215/*
219 * CPU Option encodings 216 * CPU Option encodings