decode-insn.h (cc9b94029e9ef51787af908e9856b1eed314bc00) decode-insn.h (c2249707ee53b5dd696f0fae8543a754684ea04a)
1/*
2 * arch/arm64/kernel/probes/decode-insn.h
3 *
4 * Copyright (C) 2013 Linaro Limited.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.

--- 9 unchanged lines hidden (view full) ---

18
19/*
20 * ARM strongly recommends a limit of 128 bytes between LoadExcl and
21 * StoreExcl instructions in a single thread of execution. So keep the
22 * max atomic context size as 32.
23 */
24#define MAX_ATOMIC_CONTEXT_SIZE (128 / sizeof(kprobe_opcode_t))
25
1/*
2 * arch/arm64/kernel/probes/decode-insn.h
3 *
4 * Copyright (C) 2013 Linaro Limited.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.

--- 9 unchanged lines hidden (view full) ---

18
19/*
20 * ARM strongly recommends a limit of 128 bytes between LoadExcl and
21 * StoreExcl instructions in a single thread of execution. So keep the
22 * max atomic context size as 32.
23 */
24#define MAX_ATOMIC_CONTEXT_SIZE (128 / sizeof(kprobe_opcode_t))
25
26enum kprobe_insn {
26enum probe_insn {
27 INSN_REJECTED,
28 INSN_GOOD_NO_SLOT,
29 INSN_GOOD,
30};
31
27 INSN_REJECTED,
28 INSN_GOOD_NO_SLOT,
29 INSN_GOOD,
30};
31
32enum kprobe_insn __kprobes
32#ifdef CONFIG_KPROBES
33enum probe_insn __kprobes
33arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi);
34arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi);
35#endif
36enum probe_insn __kprobes
37arm_probe_decode_insn(probe_opcode_t insn, struct arch_probe_insn *asi);
34
35#endif /* _ARM_KERNEL_KPROBES_ARM64_H */
38
39#endif /* _ARM_KERNEL_KPROBES_ARM64_H */