Module Name:    src
Committed By:   maya
Date:           Wed Mar 28 17:56:52 UTC 2018

Modified Files:
        src/sys/arch/mips/mips: locore.S

Log Message:
Leave TS and RE alone for the benefit of emips, which failed
to boot even earlier after locore.S:1.211.

Do this unconditionally to avoid introducing more ifdefs.
Also tested on ci20 and erlite.


To generate a diff of this commit:
cvs rdiff -u -r1.217 -r1.218 src/sys/arch/mips/mips/locore.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/locore.S
diff -u src/sys/arch/mips/mips/locore.S:1.217 src/sys/arch/mips/mips/locore.S:1.218
--- src/sys/arch/mips/mips/locore.S:1.217	Wed Mar  7 20:48:00 2018
+++ src/sys/arch/mips/mips/locore.S	Wed Mar 28 17:56:52 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.217 2018/03/07 20:48:00 maya Exp $	*/
+/*	$NetBSD: locore.S,v 1.218 2018/03/28 17:56:52 maya Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -63,7 +63,7 @@
 #include <mips/trap.h>
 #include <mips/locore.h>
 
-RCSID("$NetBSD: locore.S,v 1.217 2018/03/07 20:48:00 maya Exp $")
+RCSID("$NetBSD: locore.S,v 1.218 2018/03/28 17:56:52 maya Exp $")
 
 #include "assym.h"
 
@@ -73,16 +73,18 @@ RCSID("$NetBSD: locore.S,v 1.217 2018/03
 	.globl	_C_LABEL(kernel_text)		# libkvm refers this
 start:
 _C_LABEL(kernel_text):
-	/* First disable the interrupts only, for safety */
 	mfc0	k0, MIPS_COP_0_STATUS
 	MFC0_HAZARD
+
+	/* First disable the interrupts only, for safety */
 	and	k0, ~MIPS_SR_INT_IE
 	mtc0	k0, MIPS_COP_0_STATUS
 	COP0_SYNC
 
-	/* Known state: BEV, coprocessors disabled */
-	mtc0	zero, MIPS_COP_0_STATUS
-	mtc0	zero, MIPS_COP_0_CAUSE
+	/* Known state: BEV, coprocessors disabled. */
+	/* Leaving TS | RE alone (for emips) */
+	and	k0, MIPS_SR_TS | MIPS3_SR_RE
+	mtc0	k0, MIPS_COP_0_STATUS
 	COP0_SYNC
 
 #ifdef _LP64

Reply via email to