Browse Source

[MIPS] Fix detection and handling of the 74K processor.

Nothing exciting; Linux just didn't know it yet so this is most adding
a value to a case statement.

Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Chris Dearman 19 years ago
parent
commit
c620953c32

+ 4 - 0
arch/mips/kernel/cpu-probe.c

@@ -121,6 +121,7 @@ static inline void check_wait(void)
 	case CPU_24K:
 	case CPU_24K:
 	case CPU_25KF:
 	case CPU_25KF:
 	case CPU_34K:
 	case CPU_34K:
+	case CPU_74K:
  	case CPU_PR4450:
  	case CPU_PR4450:
 		cpu_wait = r4k_wait;
 		cpu_wait = r4k_wait;
 		printk(" available.\n");
 		printk(" available.\n");
@@ -593,6 +594,9 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c)
 	case PRID_IMP_34K:
 	case PRID_IMP_34K:
 		c->cputype = CPU_34K;
 		c->cputype = CPU_34K;
 		break;
 		break;
+	case PRID_IMP_74K:
+		c->cputype = CPU_74K;
+		break;
 	}
 	}
 }
 }
 
 

+ 1 - 0
arch/mips/kernel/proc.c

@@ -74,6 +74,7 @@ static const char *cpu_name[] = {
 	[CPU_24K]	= "MIPS 24K",
 	[CPU_24K]	= "MIPS 24K",
 	[CPU_25KF]	= "MIPS 25Kf",
 	[CPU_25KF]	= "MIPS 25Kf",
 	[CPU_34K]	= "MIPS 34K",
 	[CPU_34K]	= "MIPS 34K",
+	[CPU_74K]	= "MIPS 74K",
 	[CPU_VR4111]	= "NEC VR4111",
 	[CPU_VR4111]	= "NEC VR4111",
 	[CPU_VR4121]	= "NEC VR4121",
 	[CPU_VR4121]	= "NEC VR4121",
 	[CPU_VR4122]	= "NEC VR4122",
 	[CPU_VR4122]	= "NEC VR4122",

+ 1 - 0
arch/mips/mm/tlbex.c

@@ -906,6 +906,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l,
 	case CPU_4KEC:
 	case CPU_4KEC:
 	case CPU_24K:
 	case CPU_24K:
 	case CPU_34K:
 	case CPU_34K:
+	case CPU_74K:
 		i_ehb(p);
 		i_ehb(p);
 		tlbw(p);
 		tlbw(p);
 		break;
 		break;

+ 1 - 0
arch/mips/oprofile/common.c

@@ -80,6 +80,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 	case CPU_24K:
 	case CPU_24K:
 	case CPU_25KF:
 	case CPU_25KF:
 	case CPU_34K:
 	case CPU_34K:
+	case CPU_74K:
 	case CPU_SB1:
 	case CPU_SB1:
 	case CPU_SB1A:
 	case CPU_SB1A:
 		lmodel = &op_model_mipsxx;
 		lmodel = &op_model_mipsxx;

+ 4 - 0
arch/mips/oprofile/op_model_mipsxx.c

@@ -205,6 +205,10 @@ static int __init mipsxx_init(void)
 	case CPU_34K:
 	case CPU_34K:
 		op_model_mipsxx.cpu_type = "mips/34K";
 		op_model_mipsxx.cpu_type = "mips/34K";
 		break;
 		break;
+
+	case CPU_74K:
+		op_model_mipsxx.cpu_type = "mips/74K";
+		break;
 #endif
 #endif
 
 
 	case CPU_5KC:
 	case CPU_5KC:

+ 3 - 1
include/asm-mips/cpu.h

@@ -87,6 +87,7 @@
 #define PRID_IMP_24K		0x9300
 #define PRID_IMP_24K		0x9300
 #define PRID_IMP_34K		0x9500
 #define PRID_IMP_34K		0x9500
 #define PRID_IMP_24KE		0x9600
 #define PRID_IMP_24KE		0x9600
+#define PRID_IMP_74K		0x9700
 
 
 /*
 /*
  * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE
  * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE
@@ -196,7 +197,8 @@
 #define CPU_34K			60
 #define CPU_34K			60
 #define CPU_PR4450		61
 #define CPU_PR4450		61
 #define CPU_SB1A		62
 #define CPU_SB1A		62
-#define CPU_LAST		62
+#define CPU_74K			63
+#define CPU_LAST		63
 
 
 /*
 /*
  * ISA Level encodings
  * ISA Level encodings