# HG changeset patch # Parent aac0c661d8cfdb72502b18d813785b0e2dedece3 * * * Use CPU_MIPS32 in preference to CPU_MIPS4KC, except where CPU_MIPS64 is better. Add CPU_MIPS32_R2 and CPU_MIPS64_R2 while I'm here. diff -r aac0c661d8cf sys/conf/options.mips --- a/sys/conf/options.mips +++ b/sys/conf/options.mips @@ -32,8 +32,10 @@ CPU_MIPS4KC opt_global.h CPU_MIPS24KC opt_global.h CPU_MIPS74KC opt_global.h CPU_MIPS32 opt_global.h CPU_MIPS64 opt_global.h +CPU_MIPS32_R2 opt_global.h +CPU_MIPS64_R2 opt_global.h CPU_SENTRY5 opt_global.h CPU_HAVEFPU opt_global.h CPU_SB1 opt_global.h CPU_CNMIPS opt_global.h diff -r aac0c661d8cf sys/mips/adm5120/std.adm5120 --- a/sys/mips/adm5120/std.adm5120 +++ b/sys/mips/adm5120/std.adm5120 @@ -4,9 +4,9 @@ files "../adm5120/files.adm5120" machine mips mipsel -cpu CPU_MIPS4KC +cpu CPU_MIPS32 # device admpci device admsw device pci diff -r aac0c661d8cf sys/mips/alchemy/std.alchemy --- a/sys/mips/alchemy/std.alchemy +++ b/sys/mips/alchemy/std.alchemy @@ -4,5 +4,5 @@ files "../alchemy/files.alchemy" machine mips mipsel -cpu CPU_MIPS4KC +cpu CPU_MIPS32 diff -r aac0c661d8cf sys/mips/atheros/std.ar71xx --- a/sys/mips/atheros/std.ar71xx +++ b/sys/mips/atheros/std.ar71xx @@ -4,5 +4,5 @@ files "../atheros/files.ar71xx" machine mips mips -cpu CPU_MIPS4KC +cpu CPU_MIPS32 diff -r aac0c661d8cf sys/mips/beri/std.beri --- a/sys/mips/beri/std.beri +++ b/sys/mips/beri/std.beri @@ -1,4 +1,4 @@ # $FreeBSD: head/sys/mips/beri/std.beri 239671 2012-08-25 08:31:21Z rwatson $ files "../beri/files.beri" -cpu CPU_MIPS4KC +cpu CPU_MIPS64 diff -r aac0c661d8cf sys/mips/conf/AR71XX_BASE --- a/sys/mips/conf/AR71XX_BASE +++ b/sys/mips/conf/AR71XX_BASE @@ -8,9 +8,9 @@ # machine mips mips ident AR71XX_BASE -cpu CPU_MIPS4KC +cpu CPU_MIPS32 makeoptions KERNLOADADDR=0x80050000 options HZ=1000 options HWPMC_HOOKS diff -r aac0c661d8cf sys/mips/conf/AR724X_BASE --- a/sys/mips/conf/AR724X_BASE +++ b/sys/mips/conf/AR724X_BASE @@ -9,9 +9,9 @@ # machine mips mips ident AR724X_BASE -cpu CPU_MIPS4KC +cpu CPU_MIPS32 makeoptions KERNLOADADDR=0x80050000 options HZ=1000 options HWPMC_HOOKS diff -r aac0c661d8cf sys/mips/conf/AR91XX_BASE --- a/sys/mips/conf/AR91XX_BASE +++ b/sys/mips/conf/AR91XX_BASE @@ -11,9 +11,9 @@ # machine mips mips ident AR91XX_BASE -cpu CPU_MIPS4KC +cpu CPU_MIPS32 makeoptions KERNLOADADDR=0x80050000 options HZ=1000 files "../atheros/files.ar71xx" diff -r aac0c661d8cf sys/mips/conf/AR933X_BASE --- a/sys/mips/conf/AR933X_BASE +++ b/sys/mips/conf/AR933X_BASE @@ -11,9 +11,9 @@ # machine mips mips ident AR933X_BASE -cpu CPU_MIPS4KC +cpu CPU_MIPS32 makeoptions KERNLOADADDR=0x80050000 options HZ=1000 files "../atheros/files.ar71xx" diff -r aac0c661d8cf sys/mips/conf/AR934X_BASE --- a/sys/mips/conf/AR934X_BASE +++ b/sys/mips/conf/AR934X_BASE @@ -12,8 +12,9 @@ machine mips mips ident AR934X_BASE cpu CPU_MIPS74KC +cpu CPU_MIPS32_R2 makeoptions KERNLOADADDR=0x80050000 options HZ=1000 files "../atheros/files.ar71xx" diff -r aac0c661d8cf sys/mips/conf/GXEMUL --- a/sys/mips/conf/GXEMUL +++ b/sys/mips/conf/GXEMUL @@ -6,9 +6,9 @@ ident GXEMUL machine mips mips64 -cpu CPU_MIPS4KC +cpu CPU_MIPS64 options HZ=100 makeoptions ARCH_FLAGS="-march=mips64 -mabi=64" diff -r aac0c661d8cf sys/mips/conf/GXEMUL32 --- a/sys/mips/conf/GXEMUL32 +++ b/sys/mips/conf/GXEMUL32 @@ -6,9 +6,9 @@ ident GXEMUL machine mips mips -cpu CPU_MIPS4KC +cpu CPU_MIPS32 options HZ=100 makeoptions KERNLOADADDR=0x80100000 diff -r aac0c661d8cf sys/mips/conf/IDT --- a/sys/mips/conf/IDT +++ b/sys/mips/conf/IDT @@ -1,7 +1,7 @@ # $FreeBSD: head/sys/mips/conf/IDT 221753 2011-05-11 00:52:41Z gonzo $ -cpu CPU_MIPS4KC +cpu CPU_MIPS32 ident RB532 # Don't build any modules yet. makeoptions MODULES_OVERRIDE="" diff -r aac0c661d8cf sys/mips/gxemul/std.gxemul --- a/sys/mips/gxemul/std.gxemul +++ b/sys/mips/gxemul/std.gxemul @@ -1,4 +1,4 @@ # $FreeBSD: head/sys/mips/gxemul/std.gxemul 234920 2012-05-02 08:10:15Z rwatson $ files "../gxemul/files.gxemul" -cpu CPU_MIPS4KC +cpu CPU_MIPS32 diff -r aac0c661d8cf sys/mips/include/asm.h --- a/sys/mips/include/asm.h +++ b/sys/mips/include/asm.h @@ -674,19 +674,15 @@ 9: .asciiz msg; \ * (c) why not used everywhere? */ /* * Assume that w alaways need nops to escape CP0 hazard - * TODO: Make hazard delays configurable. Stuck with 5 cycles on the moment * For more info on CP0 hazards see Chapter 7 (p.99) of "MIPS32 Architecture * For Programmers Volume III: The MIPS32 Privileged Resource Architecture" */ -#if defined(CPU_NLM) -#define HAZARD_DELAY sll $0,3 -#define ITLBNOPFIX sll $0,3 -#elif defined(CPU_RMI) +#if defined(CPU_RMI) || defined(CPU_CNMIPS) #define HAZARD_DELAY #define ITLBNOPFIX -#elif defined(CPU_MIPS74KC) +#elif defined(CPU_MIPS74KC) || defined(CPU_MIPS64_R2) || defined(CPU_MIPS32_R2) || defined(CPU_NLM) #define HAZARD_DELAY sll $0,$0,3 #define ITLBNOPFIX sll $0,$0,3 #else #define ITLBNOPFIX nop;nop;nop;nop;nop;nop;nop;nop;nop;sll $0,$0,3; diff -r aac0c661d8cf sys/mips/include/cpuregs.h --- a/sys/mips/include/cpuregs.h +++ b/sys/mips/include/cpuregs.h @@ -208,9 +208,9 @@ #elif defined(CPU_NLM) #define COP0_SYNC .word 0xc0 /* ehb */ #elif defined(CPU_SB1) #define COP0_SYNC ssnop; ssnop; ssnop; ssnop; ssnop; ssnop; ssnop; ssnop; ssnop -#elif defined(CPU_MIPS74KC) +#elif defined(CPU_MIPS74KC) || defined(CPU_MIPS64_R2) || defined(CPU_MIPS32_R2) #define COP0_SYNC .word 0xc0 /* ehb */ #else /* * Pick a reasonable default based on the "typical" spacing described in the diff -r aac0c661d8cf sys/mips/malta/std.malta --- a/sys/mips/malta/std.malta +++ b/sys/mips/malta/std.malta @@ -1,8 +1,8 @@ # $FreeBSD: head/sys/mips/malta/std.malta 249083 2013-04-04 07:12:24Z mav $ files "../malta/files.malta" -cpu CPU_MIPS4KC +cpu CPU_MIPS32 device pci device ata device scbus # SCSI bus (required for ATA/SCSI) diff -r aac0c661d8cf sys/mips/rt305x/std.rt305x --- a/sys/mips/rt305x/std.rt305x +++ b/sys/mips/rt305x/std.rt305x @@ -2,6 +2,6 @@ # Standard include file for RT305XF SoC files "../rt305x/files.rt305x" -cpu CPU_MIPS4KC +cpu CPU_MIPS32 diff -r aac0c661d8cf sys/mips/sentry5/std.sentry5 --- a/sys/mips/sentry5/std.sentry5 +++ b/sys/mips/sentry5/std.sentry5 @@ -2,9 +2,7 @@ # machine mips mipsel -cpu CPU_MIPS4KC -options CPU_SENTRY5 # XXX should this be a - # sub-cpu option? +cpu CPU_SENTRY5 files "../sentry5/files.sentry5"