aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/probes.h
diff options
context:
space:
mode:
authorWang Nan <wangnan0@huawei.com>2015-01-05 19:34:47 +0800
committerJon Medhurst <tixy@linaro.org>2015-01-14 12:24:52 +0000
commitbfc9657d752c47d59dc0bab85ebdc19cf60100dd (patch)
tree8fc4941e1571dd9b0d7d91703ce4ff67580984c4 /arch/arm/include/asm/probes.h
parentARM: kprobes: check register usage for probed instruction. (diff)
downloadlinux-dev-bfc9657d752c47d59dc0bab85ebdc19cf60100dd.tar.xz
linux-dev-bfc9657d752c47d59dc0bab85ebdc19cf60100dd.zip
ARM: optprobes: execute instruction during restoring if possible.
This patch removes software emulation or simulation for most of probed instructions. If the instruction doesn't use PC relative addressing, it will be translated into following instructions in the restore code in code template: ldmia {r0 - r14} // restore all instruction except PC <instruction> // direct execute the probed instruction b next_insn // branch to next instruction. Signed-off-by: Wang Nan <wangnan0@huawei.com> Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> Signed-off-by: Jon Medhurst <tixy@linaro.org>
Diffstat (limited to 'arch/arm/include/asm/probes.h')
-rw-r--r--arch/arm/include/asm/probes.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/include/asm/probes.h b/arch/arm/include/asm/probes.h
index b668e60f759c..1e5b9bb92270 100644
--- a/arch/arm/include/asm/probes.h
+++ b/arch/arm/include/asm/probes.h
@@ -42,6 +42,7 @@ struct arch_probes_insn {
probes_insn_fn_t *insn_fn;
int stack_space;
unsigned long register_usage_flags;
+ bool kprobe_direct_exec;
};
#endif /* __ASSEMBLY__ */