Module Name: src
Committed By: maya
Date: Sun Aug 20 09:47:14 UTC 2017
Modified Files:
src/sys/arch/mips/mips: mipsX_subr.S
Log Message:
use meaningful name for errata hack, dedup
To generate a diff of this commit:
cvs rdiff -u -r1.103 -r1.104 src/sys/arch/mips/mips/mipsX_subr.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/mips/mipsX_subr.S
diff -u src/sys/arch/mips/mips/mipsX_subr.S:1.103 src/sys/arch/mips/mips/mipsX_subr.S:1.104
--- src/sys/arch/mips/mips/mipsX_subr.S:1.103 Sun Aug 20 09:21:54 2017
+++ src/sys/arch/mips/mips/mipsX_subr.S Sun Aug 20 09:47:13 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: mipsX_subr.S,v 1.103 2017/08/20 09:21:54 maya Exp $ */
+/* $NetBSD: mipsX_subr.S,v 1.104 2017/08/20 09:47:13 maya Exp $ */
/*
* Copyright 2002 Wasabi Systems, Inc.
@@ -150,6 +150,13 @@
li reg, MIPS_SR_EXL | MIPS_SR_KX; mtc0 reg, MIPS_COP_0_STATUS
#endif
+#ifdef MIPS3_LOONGSON2
+#define KERN_ENTRY_ERRATA \
+ li k0, MIPS_DIAG_BTB_CLEAR|MIPS_DIAG_RAS_DISABLE; mtc0 k0, MIPS_COP_0_DIAG
+#else
+#define KERN_ENTRY_ERRATA /* nothing */
+#endif
+
#if MIPS1
#error This file can not be compiled with MIPS1 defined
#endif
@@ -1288,10 +1295,7 @@ NESTED_NOPROFILE(MIPSX(user_reserved_ins
/*
* Save a minimum of registers to see if this is rdhwr $3,$29
*/
-#ifdef MIPS3_LOONGSON2
- li k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
- mtc0 k0, MIPS_COP_0_DIAG
-#endif
+ KERN_ENTRY_ERRATA
/* K1 already has CURLWP */
PTR_L k0, L_PCB(k1) # XXXuvm_lwp_getuarea
PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
@@ -1353,10 +1357,7 @@ NESTED_NOPROFILE(MIPSX(user_gen_exceptio
/*
* Save all the registers except the kernel temporaries onto the stack.
*/
-#ifdef MIPS3_LOONGSON2
- li k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
- mtc0 k0, MIPS_COP_0_DIAG
-#endif
+ KERN_ENTRY_ERRATA
/* K1 already has CURLWP */
PTR_L k0, L_PCB(k1) # XXXuvm_lwp_getuarea
PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
@@ -1468,10 +1469,7 @@ NESTED_NOPROFILE(MIPSX(user_intr), CALLF
* Save the relevant user registers onto the kernel stack.
* We don't need to save s0 - s8 because the compiler does it for us.
*/
-#ifdef MIPS3_LOONGSON2
- li k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
- mtc0 k0, MIPS_COP_0_DIAG
-#endif
+ KERN_ENTRY_ERRATA
/* k1 contains curlwp */
PTR_L k0, L_PCB(k1) # XXXuvm_lwp_getuarea
PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ
@@ -1660,10 +1658,7 @@ NESTED_NOPROFILE(MIPSX(systemcall), CALL
/*
* Save all the registers but kernel temporaries onto the stack.
*/
-#ifdef MIPS3_LOONGSON2
- li k0, MIPS_DIAG_BTB_CLEAR | MIPS_DIAG_RAS_DISABLE
- mtc0 k0, MIPS_COP_0_DIAG
-#endif
+ KERN_ENTRY_ERRATA
/* k1 already contains cpulwp */
PTR_L k0, L_PCB(k1) # XXXuvm_lwp_getuarea
PTR_ADDU k0, USPACE - TF_SIZ - CALLFRAME_SIZ