Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "MIPS: Remove unused R4300 CPU support"

This reverts commit f9065b54d437c4660e3d974ad9ce5188c068cd76.

We're adding Nintendo 64 support, so the VR4300 is no longer unused.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

Lauri Kasanen and committed by
Thomas Bogendoerfer
65ce6197 a2fa4ced

+33 -1
+12
arch/mips/Kconfig
··· 1660 1660 kernel built with this option will not run on any other type of 1661 1661 processor or vice versa. 1662 1662 1663 + config CPU_R4300 1664 + bool "R4300" 1665 + depends on SYS_HAS_CPU_R4300 1666 + select CPU_SUPPORTS_32BIT_KERNEL 1667 + select CPU_SUPPORTS_64BIT_KERNEL 1668 + select CPU_HAS_LOAD_STORE_LR 1669 + help 1670 + MIPS Technologies R4300-series processors. 1671 + 1663 1672 config CPU_R4X00 1664 1673 bool "R4x00" 1665 1674 depends on SYS_HAS_CPU_R4X00 ··· 2001 1992 bool 2002 1993 2003 1994 config SYS_HAS_CPU_VR41XX 1995 + bool 1996 + 1997 + config SYS_HAS_CPU_R4300 2004 1998 bool 2005 1999 2006 2000 config SYS_HAS_CPU_R4X00
+1
arch/mips/Makefile
··· 160 160 # 161 161 cflags-$(CONFIG_CPU_R3000) += -march=r3000 162 162 cflags-$(CONFIG_CPU_TX39XX) += -march=r3900 163 + cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap 163 164 cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap 164 165 cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap 165 166 cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap
+5
arch/mips/include/asm/cpu-type.h
··· 122 122 case CPU_VR4181A: 123 123 #endif 124 124 125 + #ifdef CONFIG_SYS_HAS_CPU_R4300 126 + case CPU_R4300: 127 + case CPU_R4310: 128 + #endif 129 + 125 130 #ifdef CONFIG_SYS_HAS_CPU_R4X00 126 131 case CPU_R4000PC: 127 132 case CPU_R4000SC:
+1 -1
arch/mips/include/asm/cpu.h
··· 302 302 /* 303 303 * R4000 class processors 304 304 */ 305 - CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, 305 + CPU_R4000PC, CPU_R4000SC, CPU_R4000MC, CPU_R4200, CPU_R4300, CPU_R4310, 306 306 CPU_R4400PC, CPU_R4400SC, CPU_R4400MC, CPU_R4600, CPU_R4640, CPU_R4650, 307 307 CPU_R4700, CPU_R5000, CPU_R5500, CPU_NEVADA, CPU_R10000, 308 308 CPU_R12000, CPU_R14000, CPU_R16000, CPU_VR41XX, CPU_VR4111, CPU_VR4121,
+2
arch/mips/include/asm/vermagic.h
··· 26 26 #define MODULE_PROC_FAMILY "TX39XX " 27 27 #elif defined CONFIG_CPU_VR41XX 28 28 #define MODULE_PROC_FAMILY "VR41XX " 29 + #elif defined CONFIG_CPU_R4300 30 + #define MODULE_PROC_FAMILY "R4300 " 29 31 #elif defined CONFIG_CPU_R4X00 30 32 #define MODULE_PROC_FAMILY "R4X00 " 31 33 #elif defined CONFIG_CPU_TX49XX
+9
arch/mips/kernel/cpu-probe.c
··· 1154 1154 break; 1155 1155 } 1156 1156 break; 1157 + case PRID_IMP_R4300: 1158 + c->cputype = CPU_R4300; 1159 + __cpu_name[cpu] = "R4300"; 1160 + set_isa(c, MIPS_CPU_ISA_III); 1161 + c->fpu_msk31 |= FPU_CSR_CONDX; 1162 + c->options = R4K_OPTS | MIPS_CPU_FPU | MIPS_CPU_32FPR | 1163 + MIPS_CPU_LLSC; 1164 + c->tlbsize = 32; 1165 + break; 1157 1166 case PRID_IMP_R4600: 1158 1167 c->cputype = CPU_R4600; 1159 1168 __cpu_name[cpu] = "R4600";
+1
arch/mips/kernel/idle.c
··· 151 151 cpu_wait = r39xx_wait; 152 152 break; 153 153 case CPU_R4200: 154 + /* case CPU_R4300: */ 154 155 case CPU_R4600: 155 156 case CPU_R4640: 156 157 case CPU_R4650:
+1
arch/mips/mm/c-r4k.c
··· 1164 1164 case CPU_R4400PC: 1165 1165 case CPU_R4400SC: 1166 1166 case CPU_R4400MC: 1167 + case CPU_R4300: 1167 1168 icache_size = 1 << (12 + ((config & CONF_IC) >> 9)); 1168 1169 c->icache.linesz = 16 << ((config & CONF_IB) >> 5); 1169 1170 c->icache.ways = 1;
+1
arch/mips/mm/tlbex.c
··· 549 549 tlbw(p); 550 550 break; 551 551 552 + case CPU_R4300: 552 553 case CPU_5KC: 553 554 case CPU_TX49XX: 554 555 case CPU_PR4450: