diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-07-23 00:09:07 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-07-23 00:09:07 +0200 |
commit | 3ad55155b222f2a901405dea20ff7c68828ecd92 (patch) | |
tree | 53b24c981387b037084a333dc5ae23be8e82ef4a /arch/arm/kernel/ptrace.c | |
parent | Merge branches 'btc', 'dma', 'entry', 'fixes', 'linker-layout', 'misc', 'mmci... (diff) | |
parent | ARM: Fix build errors caused by adding generic macros (diff) | |
download | linux-3ad55155b222f2a901405dea20ff7c68828ecd92.tar.xz linux-3ad55155b222f2a901405dea20ff7c68828ecd92.zip |
Merge branch 'devel-stable' into for-next
Conflicts:
arch/arm/kernel/entry-armv.S
Diffstat (limited to 'arch/arm/kernel/ptrace.c')
-rw-r--r-- | arch/arm/kernel/ptrace.c | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index 97260060bf26..897ade059f58 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c @@ -228,34 +228,12 @@ static struct undef_hook thumb_break_hook = { .fn = break_trap, }; -static int thumb2_break_trap(struct pt_regs *regs, unsigned int instr) -{ - unsigned int instr2; - void __user *pc; - - /* Check the second half of the instruction. */ - pc = (void __user *)(instruction_pointer(regs) + 2); - - if (processor_mode(regs) == SVC_MODE) { - instr2 = *(u16 *) pc; - } else { - get_user(instr2, (u16 __user *)pc); - } - - if (instr2 == 0xa000) { - ptrace_break(current, regs); - return 0; - } else { - return 1; - } -} - static struct undef_hook thumb2_break_hook = { - .instr_mask = 0xffff, - .instr_val = 0xf7f0, + .instr_mask = 0xffffffff, + .instr_val = 0xf7f0a000, .cpsr_mask = PSR_T_BIT, .cpsr_val = PSR_T_BIT, - .fn = thumb2_break_trap, + .fn = break_trap, }; static int __init ptrace_break_init(void) |