From 79f981140923ac00c5b6402743f19902cf87bab4 Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Tue, 14 Feb 2012 20:34:25 +0000 Subject: When initialising the CP0 status register during boot on 64-bit MIPS, set all three of the kernel, supervisor, and user-mode 64-bit mode flags. While FreeBSD does not currently use the supervisor ring (and hence this is effectively a NOP on most systems), doing this avoids triggering an exception on 64-bit MIPS CPUs that don't support 32-bit compatibility mode, and therefore don't allow clearing the SX bit. Reviewed by: gonzo MFC after: 3 days Sponsored by: DARPA, SRI International --- sys/mips/mips/locore.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/mips') diff --git a/sys/mips/mips/locore.S b/sys/mips/mips/locore.S index c6e78a26c5d0..3b967a2da166 100644 --- a/sys/mips/mips/locore.S +++ b/sys/mips/mips/locore.S @@ -118,7 +118,7 @@ VECTOR(_locore, unknown) */ li t1, MIPS_SR_COP_1_BIT #ifdef __mips_n64 - or t1, MIPS_SR_KX | MIPS_SR_UX + or t1, MIPS_SR_KX | MIPS_SR_SX | MIPS_SR_UX #endif #endif /* -- cgit v1.2.3