]> git.karo-electronics.de Git - karo-tx-linux.git/commit
MIPS Kprobes: Refactor branch emulation
authorManeesh Soni <manesoni@cisco.com>
Tue, 8 Nov 2011 11:37:11 +0000 (17:07 +0530)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 17 Nov 2011 23:14:15 +0000 (23:14 +0000)
commitce4eca28fbb4b289678420181019dc50e19ee9c6
tree172c2aede972a1422a15fb7950efaaaf81359b27
parentf5fe893adc136ad42dfdb8bc5dbdb1cd0cfa2479
MIPS Kprobes: Refactor branch emulation

This patch refactors MIPS branch emulation code so as to allow skipping
delay slot instruction in case of branch likely instructions when branch is
not taken. This is useful for keeping the code common for use cases like
kprobes where one would like to handle the branch instructions keeping the
delay slot instuction also in picture for branch likely instructions. Also
allow emulation when instruction to be decoded is not at pt_regs->cp0_epc
as in case of kprobes where pt_regs->cp0_epc points to the breakpoint
instruction.

The patch also exports the function for modules.

Signed-off-by: Maneesh Soni <manesoni@cisco.com>
Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Cc: David Daney <david.daney@cavium.com>
Cc: ananth@in.ibm.com
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2913/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/branch.h
arch/mips/kernel/branch.c
arch/mips/math-emu/cp1emu.c