diff options
author | Jon Medhurst <tixy@yxit.co.uk> | 2011-07-07 14:58:29 -0400 |
---|---|---|
committer | Tixy <tixy@medhuaa1.miniserver.com> | 2011-07-13 13:32:41 -0400 |
commit | aea490299f7f0412f884a4895bc96211d8d8dbaf (patch) | |
tree | ef4ad811403f718f4923213ac53e9fb793dafc11 /arch/arm/kernel/kprobes.h | |
parent | 6c8df3300f60cae54aeb2a6dda8efe7ffe16a322 (diff) |
ARM: kprobes: Make str_pc_offset a constant on ARMv7
The str_pc_offset value is architecturally defined on ARMv7 onwards so
we can make it a compile time constant. This means on Thumb kernels the
runtime checking code isn't needed, which saves us from having to fix it
to work for Thumb.
Signed-off-by: Jon Medhurst <tixy@yxit.co.uk>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/kernel/kprobes.h')
-rw-r--r-- | arch/arm/kernel/kprobes.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/kernel/kprobes.h b/arch/arm/kernel/kprobes.h index 43f630d7f03d..406bb2da7fea 100644 --- a/arch/arm/kernel/kprobes.h +++ b/arch/arm/kernel/kprobes.h | |||
@@ -36,7 +36,21 @@ void __init arm_kprobe_decode_init(void); | |||
36 | 36 | ||
37 | extern kprobe_check_cc * const kprobe_condition_checks[16]; | 37 | extern kprobe_check_cc * const kprobe_condition_checks[16]; |
38 | 38 | ||
39 | |||
40 | #if __LINUX_ARM_ARCH__ >= 7 | ||
41 | |||
42 | /* str_pc_offset is architecturally defined from ARMv7 onwards */ | ||
43 | #define str_pc_offset 8 | ||
44 | #define find_str_pc_offset() | ||
45 | |||
46 | #else /* __LINUX_ARM_ARCH__ < 7 */ | ||
47 | |||
48 | /* We need a run-time check to determine str_pc_offset */ | ||
39 | extern int str_pc_offset; | 49 | extern int str_pc_offset; |
50 | void __init find_str_pc_offset(void); | ||
51 | |||
52 | #endif | ||
53 | |||
40 | 54 | ||
41 | /* | 55 | /* |
42 | * Test if load/store instructions writeback the address register. | 56 | * Test if load/store instructions writeback the address register. |