Module Name: src
Committed By: joerg
Date: Wed Jul 30 23:56:01 UTC 2014
Modified Files:
src/sys/arch/powerpc/booke: trap.c trap_subr.S
Log Message:
Replace mfpir with mfspr r, 286. The Power ISA and GAS disagree on the
semantics of this instruction, so prefer the well defined replacement.
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/powerpc/booke/trap.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/powerpc/booke/trap_subr.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/powerpc/booke/trap.c
diff -u src/sys/arch/powerpc/booke/trap.c:1.23 src/sys/arch/powerpc/booke/trap.c:1.24
--- src/sys/arch/powerpc/booke/trap.c:1.23 Fri Aug 23 06:19:46 2013
+++ src/sys/arch/powerpc/booke/trap.c Wed Jul 30 23:56:01 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.23 2013/08/23 06:19:46 matt Exp $ */
+/* $NetBSD: trap.c,v 1.24 2014/07/30 23:56:01 joerg Exp $ */
/*-
* Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.23 2013/08/23 06:19:46 matt Exp $");
+__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.24 2014/07/30 23:56:01 joerg Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -428,7 +428,7 @@ emulate_opcode(struct trapframe *tf, ksi
}
if (OPC_MFSPR_P(opcode, SPR_PIR)) {
- __asm ("mfpir %0" : "=r"(tf->tf_fixreg[OPC_MFSPR_REG(opcode)]));
+ __asm ("mfspr %0, 286" : "=r"(tf->tf_fixreg[OPC_MFSPR_REG(opcode)]));
return true;
}
Index: src/sys/arch/powerpc/booke/trap_subr.S
diff -u src/sys/arch/powerpc/booke/trap_subr.S:1.8 src/sys/arch/powerpc/booke/trap_subr.S:1.9
--- src/sys/arch/powerpc/booke/trap_subr.S:1.8 Wed Aug 1 16:19:43 2012
+++ src/sys/arch/powerpc/booke/trap_subr.S Wed Jul 30 23:56:01 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: trap_subr.S,v 1.8 2012/08/01 16:19:43 matt Exp $ */
+/* $NetBSD: trap_subr.S,v 1.9 2014/07/30 23:56:01 joerg Exp $ */
/*-
* Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -34,7 +34,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-RCSID("$NetBSD: trap_subr.S,v 1.8 2012/08/01 16:19:43 matt Exp $")
+RCSID("$NetBSD: trap_subr.S,v 1.9 2014/07/30 23:56:01 joerg Exp $")
.globl _C_LABEL(sctrapexit), _C_LABEL(trapexit), _C_LABEL(intrcall)
@@ -858,7 +858,7 @@ _C_LABEL(exception_init):
ori %r5,%r6,_C_LABEL(perfmon_vector)@l
mtspr SPR_IVOR35, %r5
- mfpir %r5 /* get Process ID register */
+ mfspr %r5, 286 /* get Process ID register */
cmplwi %r5,0
bnelr /* return if non-0 (non-primary) */