summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHarald Koerfgen <hkoerfg@web.de>1999-05-01 10:08:18 +0000
committerHarald Koerfgen <hkoerfg@web.de>1999-05-01 10:08:18 +0000
commit94f05bab9bf52258637e467fd89ae4f168736f4a (patch)
tree5d086ca4de449e2e2146171d274f1a5c8a722e39 /include
parent22ee0f26ee9026be3ef67b9229ebfab26e1f6fb0 (diff)
The CPO_STATUS interrupt mask patch
Diffstat (limited to 'include')
-rw-r--r--include/asm-mips/stackframe.h7
-rw-r--r--include/asm-mips/system.h10
2 files changed, 14 insertions, 3 deletions
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h
index 726e82f23..4b3a74043 100644
--- a/include/asm-mips/stackframe.h
+++ b/include/asm-mips/stackframe.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1994, 1995, 1996 by Ralf Baechle and Paul M. Antoine.
*
- * $Id: stackframe.h,v 1.7 1998/04/28 19:39:15 ralf Exp $
+ * $Id: stackframe.h,v 1.7 1998/05/04 09:13:01 ralf Exp $
*/
#ifndef __ASM_MIPS_STACKFRAME_H
#define __ASM_MIPS_STACKFRAME_H
@@ -139,7 +139,12 @@
ori t0, 0x1f; \
xori t0, 0x1f; \
mtc0 t0, CP0_STATUS; \
+ li v1, 0xff00; \
+ and t0, v1; \
lw v0, PT_STATUS(sp); \
+ nor v1, $0, v1; \
+ and v0, v1; \
+ or v0, t0; \
mtc0 v0, CP0_STATUS; \
lw v1, PT_EPC(sp); \
mtc0 v1, CP0_EPC; \
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h
index 49f5f2aad..6e41a7635 100644
--- a/include/asm-mips/system.h
+++ b/include/asm-mips/system.h
@@ -1,4 +1,4 @@
-/* $Id: system.h,v 1.7 1998/08/25 09:22:03 ralf Exp $
+/* $Id: system.h,v 1.8 1999/02/15 02:22:13 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -88,6 +88,12 @@ __restore_flags(int flags)
{
__asm__ __volatile__(
".set\tnoreorder\n\t"
+ "mfc0\t$8,$12\n\t"
+ "li\t$9,0xff00\n\t"
+ "and\t$8,$9\n\t"
+ "nor\t$9,$0,$9\n\t"
+ "and\t%0,$9\n\t"
+ "or\t%0,$8\n\t"
"mtc0\t%0,$12\n\t"
"nop\n\t"
"nop\n\t"
@@ -95,7 +101,7 @@ __restore_flags(int flags)
".set\treorder"
: /* no output */
: "r" (flags)
- : "memory");
+ : "$8", "$9", "memory");
}
/*