summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Sorensen2016-05-05 22:44:44 +0200
committerMichael Ellerman2016-05-11 13:54:07 +0200
commitdd21731022faf43c1250050e5d28d11add599149 (patch)
tree1952e5ba2ed472f69dcaf98ccd944d99b703398e
parentpowerpc/xmon: Fix SPR read/write commands and add command to dump SPRs (diff)
downloadkernel-qcow2-linux-dd21731022faf43c1250050e5d28d11add599149.tar.gz
kernel-qcow2-linux-dd21731022faf43c1250050e5d28d11add599149.tar.xz
kernel-qcow2-linux-dd21731022faf43c1250050e5d28d11add599149.zip
powerpc/sstep: Fix sstep.c compile on powerpcspe
Commit be96f63375a1 ("powerpc: Split out instruction analysis part of emulate_step()") introduced ldarx and stdcx into the instructions in sstep.c, which are not accepted by the assembler on powerpcspe, but does seem to be accepted by the normal powerpc assembler even in 32 bit mode. Wrap these two instructions in a __powerpc64__ check like it is everywhere else in the file. Fixes: be96f63375a1 ("powerpc: Split out instruction analysis part of emulate_step()") Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/lib/sstep.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index dc885b30f7a6..6d34310f1141 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -1818,9 +1818,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
case 4:
__get_user_asmx(val, op.ea, err, "lwarx");
break;
+#ifdef __powerpc64__
case 8:
__get_user_asmx(val, op.ea, err, "ldarx");
break;
+#endif
default:
return 0;
}
@@ -1841,9 +1843,11 @@ int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr)
case 4:
__put_user_asmx(op.val, op.ea, err, "stwcx.", cr);
break;
+#ifdef __powerpc64__
case 8:
__put_user_asmx(op.val, op.ea, err, "stdcx.", cr);
break;
+#endif
default:
return 0;
}