static void __kprobes thumb32_singlestep(probes_opcode_t opcode,
		struct arch_probes_insn *asi,
		struct pt_regs *regs)
{
	regs->ARM_pc += 4;
	asi->insn_handler(opcode, asi, regs);
	regs->ARM_cpsr = it_advance(regs->ARM_cpsr);
}
Example #2
0
static void __kprobes
singlestep_skip(struct kprobe *p, struct pt_regs *regs)
{
#ifdef CONFIG_THUMB2_KERNEL
	regs->ARM_cpsr = it_advance(regs->ARM_cpsr);
	if (is_wide_instruction(p->opcode))
		regs->ARM_pc += 4;
	else
		regs->ARM_pc += 2;
#else
	regs->ARM_pc += 4;
#endif
}