diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2008-03-20 22:54:50 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2008-03-20 22:54:50 +0000 |
commit | e95ad2804c61202c397a7b666dbfa6f7b3a06f64 (patch) | |
tree | e1cd7342cc1ea995145d1ea1387df2adb2b8f29a /sys/arch | |
parent | 936c00f6dec1b6a5a4b5b14e6039d33e6d518070 (diff) |
An overoptimization in r1.15 introduced an evil race, back it out. For some
reason this would have been blatant on sparc on motorola, one more proof
mips is the ante${DEITY} yet fun to live with.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/mips64/mips64/exception.S | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/arch/mips64/mips64/exception.S b/sys/arch/mips64/mips64/exception.S index b930ee848ed..11bb3a88711 100644 --- a/sys/arch/mips64/mips64/exception.S +++ b/sys/arch/mips64/mips64/exception.S @@ -1,4 +1,4 @@ -/* $OpenBSD: exception.S,v 1.15 2007/10/18 18:15:40 miod Exp $ */ +/* $OpenBSD: exception.S,v 1.16 2008/03/20 22:54:49 miod Exp $ */ /* * Copyright (c) 2002-2003 Opsycon AB (www.opsycon.se / www.opsycon.com) @@ -655,6 +655,9 @@ LEAF(proc_trampoline, 0) mfc0 t0, COP_0_STATUS_REG li t1, ~SR_INT_ENAB and t0, t0, t1 + mtc0 t0, COP_0_STATUS_REG + ITLBNOPFIX + ori t0, SR_EXL # restoring to user mode. mtc0 t0, COP_0_STATUS_REG # must set exception level bit. ITLBNOPFIX |