summaryrefslogtreecommitdiff
path: root/arch/mips/include
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2014-11-25 18:54:14 +0300
committerMarkos Chandras <markos.chandras@imgtec.com>2015-02-17 18:37:31 +0300
commit5f9f41c474befb4ebbc40b27f65bb7d649241581 (patch)
tree26108ad80ca556ac12466aac3f03fc29d0a8a4ca /arch/mips/include
parentb5ad2c21934951bbf6aadd8adbdd9889baad0ac0 (diff)
downloadlinux-5f9f41c474befb4ebbc40b27f65bb7d649241581.tar.xz
MIPS: kernel: Prepare the JR instruction for emulation on MIPS R6
The MIPS R6 JR instruction is an alias to the JALR one, so it may need emulation for non-R6 userlands. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Diffstat (limited to 'arch/mips/include')
-rw-r--r--arch/mips/include/asm/branch.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/include/asm/branch.h b/arch/mips/include/asm/branch.h
index de781cf54bc7..2894ea58454d 100644
--- a/arch/mips/include/asm/branch.h
+++ b/arch/mips/include/asm/branch.h
@@ -13,6 +13,9 @@
#include <asm/ptrace.h>
#include <asm/inst.h>
+static int mipsr2_emulation = 0;
+#define NO_R6EMU (cpu_has_mips_r6 && !mipsr2_emulation)
+
extern int __isa_exception_epc(struct pt_regs *regs);
extern int __compute_return_epc(struct pt_regs *regs);
extern int __compute_return_epc_for_insn(struct pt_regs *regs,