diff options
Diffstat (limited to 'arch/arm/kernel/kprobes-common.c')
-rw-r--r-- | arch/arm/kernel/kprobes-common.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/kernel/kprobes-common.c b/arch/arm/kernel/kprobes-common.c index 32bb0f236684..a5394fb4e4e0 100644 --- a/arch/arm/kernel/kprobes-common.c +++ b/arch/arm/kernel/kprobes-common.c | |||
@@ -59,10 +59,25 @@ void __init test_load_write_pc_interworking(void) | |||
59 | #endif /* !test_load_write_pc_interworking */ | 59 | #endif /* !test_load_write_pc_interworking */ |
60 | 60 | ||
61 | 61 | ||
62 | #ifndef test_alu_write_pc_interworking | ||
63 | |||
64 | bool alu_write_pc_interworks; | ||
65 | |||
66 | void __init test_alu_write_pc_interworking(void) | ||
67 | { | ||
68 | int arch = cpu_architecture(); | ||
69 | BUG_ON(arch == CPU_ARCH_UNKNOWN); | ||
70 | alu_write_pc_interworks = arch >= CPU_ARCH_ARMv7; | ||
71 | } | ||
72 | |||
73 | #endif /* !test_alu_write_pc_interworking */ | ||
74 | |||
75 | |||
62 | void __init arm_kprobe_decode_init(void) | 76 | void __init arm_kprobe_decode_init(void) |
63 | { | 77 | { |
64 | find_str_pc_offset(); | 78 | find_str_pc_offset(); |
65 | test_load_write_pc_interworking(); | 79 | test_load_write_pc_interworking(); |
80 | test_alu_write_pc_interworking(); | ||
66 | } | 81 | } |
67 | 82 | ||
68 | 83 | ||