[MIPS] Fix detection and handling of the 74K processor.
authorChris Dearman <chris@mips.com>
Tue, 2 May 2006 13:08:46 +0000 (14:08 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 31 May 2006 23:28:30 +0000 (00:28 +0100)
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>
arch/mips/kernel/cpu-probe.c
arch/mips/kernel/proc.c
arch/mips/mm/tlbex.c
arch/mips/oprofile/common.c
arch/mips/oprofile/op_model_mipsxx.c
include/asm-mips/cpu.h

index 58b3b14873cb572a10d9a87e2b57cece1fc061b8..17184921b71d7df13964ee73255bb17454c70270 100644 (file)
@@ -121,6 +121,7 @@ static inline void check_wait(void)
        case CPU_24K:
        case CPU_25KF:
        case CPU_34K:
+       case CPU_74K:
        case CPU_PR4450:
                cpu_wait = r4k_wait;
                printk(" available.\n");
@@ -593,6 +594,9 @@ static inline void cpu_probe_mips(struct cpuinfo_mips *c)
        case PRID_IMP_34K:
                c->cputype = CPU_34K;
                break;
+       case PRID_IMP_74K:
+               c->cputype = CPU_74K;
+               break;
        }
 }
 
index 84ab959f924ac57d1b05edc73aa48ce84c2da04f..197952c444673f2d29c4327e4947ba6edfdc54c9 100644 (file)
@@ -74,6 +74,7 @@ static const char *cpu_name[] = {
        [CPU_24K]       = "MIPS 24K",
        [CPU_25KF]      = "MIPS 25Kf",
        [CPU_34K]       = "MIPS 34K",
+       [CPU_74K]       = "MIPS 74K",
        [CPU_VR4111]    = "NEC VR4111",
        [CPU_VR4121]    = "NEC VR4121",
        [CPU_VR4122]    = "NEC VR4122",
index 053dbacac56bdf4d5a797b0d115ddb1951297aa0..4ff07e2efcb30fe4c17e31186953e5eeefdd5b4e 100644 (file)
@@ -906,6 +906,7 @@ static __init void build_tlb_write_entry(u32 **p, struct label **l,
        case CPU_4KEC:
        case CPU_24K:
        case CPU_34K:
+       case CPU_74K:
                i_ehb(p);
                tlbw(p);
                break;
index f2b4862aaae505fbcb8e902214633b6078d64fe4..91b799d2cd88f2ad6fa21fccf5d76e49c71a61fa 100644 (file)
@@ -80,6 +80,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
        case CPU_24K:
        case CPU_25KF:
        case CPU_34K:
+       case CPU_74K:
        case CPU_SB1:
        case CPU_SB1A:
                lmodel = &op_model_mipsxx;
index 95d488ca075473be4d4e0a3e0d032a0c413eaf27..e7ce923913037713feca02eb61c5f166adfd0a2d 100644 (file)
@@ -205,6 +205,10 @@ static int __init mipsxx_init(void)
        case CPU_34K:
                op_model_mipsxx.cpu_type = "mips/34K";
                break;
+
+       case CPU_74K:
+               op_model_mipsxx.cpu_type = "mips/74K";
+               break;
 #endif
 
        case CPU_5KC:
index 818b9a97e214280c0c6a93af52699028e32a95bb..0117138149bc8efa22d5cbf893eb64ac250a277c 100644 (file)
@@ -87,6 +87,7 @@
 #define PRID_IMP_24K           0x9300
 #define PRID_IMP_34K           0x9500
 #define PRID_IMP_24KE          0x9600
+#define PRID_IMP_74K           0x9700
 
 /*
  * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE
 #define CPU_34K                        60
 #define CPU_PR4450             61
 #define CPU_SB1A               62
-#define CPU_LAST               62
+#define CPU_74K                        63
+#define CPU_LAST               63
 
 /*
  * ISA Level encodings