diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2001-04-01 02:54:21 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2001-04-01 02:54:21 +0000 |
commit | 1eb1d8f4cf7668cf937ad74824c985b88aa62cf3 (patch) | |
tree | a058dba9a0943c3294ce7cefe116f715caf8c964 /arch/mips/kernel | |
parent | 5f858d94183211ab76f7f1a1e372433c6b8d5e36 (diff) |
Eleminate CONFIG_CPU_R3912; detect TX39 / R3000 at runtime.
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/Makefile | 4 | ||||
-rw-r--r-- | arch/mips/kernel/proc.c | 4 | ||||
-rw-r--r-- | arch/mips/kernel/setup.c | 22 | ||||
-rw-r--r-- | arch/mips/kernel/traps.c | 4 |
4 files changed, 24 insertions, 10 deletions
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile index 10b8240aa..97479b75f 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile @@ -26,9 +26,6 @@ obj-$(CONFIG_MODULES) += mips_ksyms.o ifdef CONFIG_CPU_R3000 obj-y += r2300_misc.o r2300_fpu.o r2300_switch.o else -ifdef CONFIG_CPU_R3912 -obj-y += r2300_misc.o r2300_fpu.o r2300_switch.o -else obj-y += r4k_misc.o r4k_switch.o ifdef CONFIG_CPU_R6000 obj-y += r6000_fpu.o @@ -36,7 +33,6 @@ else obj-y += r4k_fpu.o endif endif -endif obj-$(CONFIG_SMP) += smp.o obj-$(CONFIG_MIPS_FPE_MODULE) += fpe.o diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c index 2255f2008..008db22f4 100644 --- a/arch/mips/kernel/proc.c +++ b/arch/mips/kernel/proc.c @@ -40,13 +40,13 @@ int get_cpuinfo(char *buffer) const char *mach_galileo_names[] = GROUP_GALILEO_NAMES; const char *mach_momenco_names[] = GROUP_MOMENCO_NAMES; const char *mach_ite_names[] = GROUP_ITE_NAMES; - const char *mach_phillips_names[] = GROUP_PHILIPS_NAMES; + const char *mach_philips_names[] = GROUP_PHILIPS_NAMES; const char **mach_group_to_name[] = { mach_unknown_names, mach_jazz_names, mach_dec_names, mach_arc_names, mach_sni_rm_names, mach_acn_names, mach_sgi_names, mach_cobalt_names, mach_nec_ddb_names, mach_baget_names, mach_cosine_names, mach_galileo_names, mach_momenco_names, - mach_ite_names, mach_phillips_names}; + mach_ite_names, mach_philips_names}; unsigned int version = read_32bit_cp0_register(CP0_PRID); int len; diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index d9af83707..bffbd67cf 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c @@ -218,11 +218,27 @@ static inline void cpu_probe(void) mips_cpu.tlbsize = 48; break; */ - case PRID_IMP_R3912: - mips_cpu.cputype = CPU_R3912; + case PRID_IMP_TX39: mips_cpu.isa_level = MIPS_CPU_ISA_I; mips_cpu.options = MIPS_CPU_TLB; - mips_cpu.tlbsize = 32; + + switch (mips_cpu.processor_id & 0xff) { + case PRID_REV_TX3912: + mips_cpu.cputype = CPU_TX3912; + mips_cpu.tlbsize = 32; + break; + case PRID_REV_TX3922: + mips_cpu.cputype = CPU_TX3922; + mips_cpu.tlbsize = 64; + break; + case PRID_REV_TX3927: + mips_cpu.cputype = CPU_TX3927; + mips_cpu.tlbsize = 64; + break; + default: + mips_cpu.cputype = CPU_UNKNOWN; + break; + } break; case PRID_IMP_R4700: mips_cpu.cputype = CPU_R4700; diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 85767362e..c49755fe2 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c @@ -918,7 +918,9 @@ void __init trap_init(void) case CPU_R3052: case CPU_R3081: case CPU_R3081E: - case CPU_R3912: + case CPU_TX3912: + case CPU_TX3922: + case CPU_TX3927: save_fp_context = _save_fp_context; restore_fp_context = _restore_fp_context; memcpy((void *)KSEG0, &except_vec0_r2300, 0x80); |