diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-01 09:38:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-11-01 09:38:20 -0500 |
commit | 4b1c46a383aafc137bc91a0f9698bfc11e062d1b (patch) | |
tree | dd8b793c534b6f83cc16f38ba96d0ff4722a7344 /arch/powerpc/lib/sstep.c | |
parent | 30574b61611ccd29677989097f8c8a5d9a73d873 (diff) | |
parent | 4393c4f6788cee65095dd838cfeca6edefbfeb52 (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Make alignment exception always check exception table
[POWERPC] Disallow kprobes on emulate_step and branch_taken
[POWERPC] Make mmiowb's io_sync preempt safe
[POWERPC] Make high hugepage areas preempt safe
[POWERPC] Make current preempt-safe
[POWERPC] qe_lib: qe_issue_cmd writes wrong value to CECDR
[POWERPC] Use 4kB iommu pages even on 64kB-page systems
[POWERPC] Fix oprofile support for e500 in arch/powerpc
[POWERPC] Fix rmb() for e500-based machines it
[POWERPC] Fix various offb issues
Diffstat (limited to 'arch/powerpc/lib/sstep.c')
-rw-r--r-- | arch/powerpc/lib/sstep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index 9590ba780b98..7e8ded051b5b 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c | |||
@@ -9,6 +9,7 @@ | |||
9 | * 2 of the License, or (at your option) any later version. | 9 | * 2 of the License, or (at your option) any later version. |
10 | */ | 10 | */ |
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/kprobes.h> | ||
12 | #include <linux/ptrace.h> | 13 | #include <linux/ptrace.h> |
13 | #include <asm/sstep.h> | 14 | #include <asm/sstep.h> |
14 | #include <asm/processor.h> | 15 | #include <asm/processor.h> |
@@ -25,7 +26,7 @@ extern char system_call_common[]; | |||
25 | /* | 26 | /* |
26 | * Determine whether a conditional branch instruction would branch. | 27 | * Determine whether a conditional branch instruction would branch. |
27 | */ | 28 | */ |
28 | static int branch_taken(unsigned int instr, struct pt_regs *regs) | 29 | static int __kprobes branch_taken(unsigned int instr, struct pt_regs *regs) |
29 | { | 30 | { |
30 | unsigned int bo = (instr >> 21) & 0x1f; | 31 | unsigned int bo = (instr >> 21) & 0x1f; |
31 | unsigned int bi; | 32 | unsigned int bi; |
@@ -51,7 +52,7 @@ static int branch_taken(unsigned int instr, struct pt_regs *regs) | |||
51 | * or -1 if the instruction is one that should not be stepped, | 52 | * or -1 if the instruction is one that should not be stepped, |
52 | * such as an rfid, or a mtmsrd that would clear MSR_RI. | 53 | * such as an rfid, or a mtmsrd that would clear MSR_RI. |
53 | */ | 54 | */ |
54 | int emulate_step(struct pt_regs *regs, unsigned int instr) | 55 | int __kprobes emulate_step(struct pt_regs *regs, unsigned int instr) |
55 | { | 56 | { |
56 | unsigned int opcode, rd; | 57 | unsigned int opcode, rd; |
57 | unsigned long int imm; | 58 | unsigned long int imm; |