Module Name: src
Committed By: joerg
Date: Fri Nov 27 13:45:17 UTC 2015
Modified Files:
src/sys/arch/sparc/sparc: emul.c
Log Message:
Remove shifts of the PSR constants before applying to the trap frame.
Oring 0 doesn't do anything useful.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/sparc/sparc/emul.c
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/sparc/sparc/emul.c
diff -u src/sys/arch/sparc/sparc/emul.c:1.17 src/sys/arch/sparc/sparc/emul.c:1.18
--- src/sys/arch/sparc/sparc/emul.c:1.17 Tue May 1 09:40:15 2012
+++ src/sys/arch/sparc/sparc/emul.c Fri Nov 27 13:45:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: emul.c,v 1.17 2012/05/01 09:40:15 martin Exp $ */
+/* $NetBSD: emul.c,v 1.18 2015/11/27 13:45:17 joerg Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: emul.c,v 1.17 2012/05/01 09:40:15 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: emul.c,v 1.18 2015/11/27 13:45:17 joerg Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -190,17 +190,17 @@ muldiv(struct trapframe *tf,
tf->tf_psr &= ~PSR_ICC;
if (*rd == 0)
- tf->tf_psr |= PSR_Z << 20;
+ tf->tf_psr |= PSR_Z;
else {
if (op.bits.sgn && *rd < 0)
- tf->tf_psr |= PSR_N << 20;
+ tf->tf_psr |= PSR_N;
if (op.bits.div) {
if (*rd * *rs2 != *rs1)
- tf->tf_psr |= PSR_O << 20;
+ tf->tf_psr |= PSR_O;
}
else {
if (*rd / *rs2 != *rs1)
- tf->tf_psr |= PSR_O << 20;
+ tf->tf_psr |= PSR_O;
}
}
}