/* * arch/arm/kernel/kprobes.h * * Copyright (C) 2011 Jon Medhurst <tixy@yxit.co.uk>. * * Some contents moved here from arch/arm/include/asm/kprobes.h which is * Copyright (C) 2006, 2007 Motorola Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. */ #ifndef _ARM_KERNEL_KPROBES_H #define _ARM_KERNEL_KPROBES_H #include <asm/kprobes.h> #include "../decode.h" /* * These undefined instructions must be unique and * reserved solely for kprobes' use. */ #define KPROBE_ARM_BREAKPOINT_INSTRUCTION 0x07f001f8 #define KPROBE_THUMB16_BREAKPOINT_INSTRUCTION 0xde18 #define KPROBE_THUMB32_BREAKPOINT_INSTRUCTION 0xf7f0a018 extern void kprobes_remove_breakpoint(void *addr, unsigned int insn); enum probes_insn __kprobes kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_probes_insn *asi, const struct decode_header *h); typedef enum probes_insn (kprobe_decode_insn_t)(probes_opcode_t, struct arch_probes_insn *, bool, const union decode_action *, const struct decode_checker *[]); #ifdef CONFIG_THUMB2_KERNEL extern const union decode_action kprobes_t32_actions[]; extern const union decode_action kprobes_t16_actions[]; extern const struct decode_checker *kprobes_t32_checkers[]; extern const struct decode_checker *kprobes_t16_checkers[]; #else /* !CONFIG_THUMB2_KERNEL */ extern const union decode_action kprobes_arm_actions[]; extern const struct decode_checker *kprobes_arm_checkers[]; #endif #endif /* _ARM_KERNEL_KPROBES_H */Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
David A. Long | 53 | 37.32% | 6 | 40.00% |
Wang Nan | 46 | 32.39% | 3 | 20.00% |
Jon Medhurst (Tixy) | 43 | 30.28% | 6 | 40.00% |
Total | 142 | 100.00% | 15 | 100.00% |