Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / arch / arm64 / kernel / probes / decode-insn.h
blob0e4195de820619fa5450d87c22d8acaf28053a4d
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3 * arch/arm64/kernel/probes/decode-insn.h
5 * Copyright (C) 2013 Linaro Limited.
6 */
8 #ifndef _ARM_KERNEL_KPROBES_ARM64_H
9 #define _ARM_KERNEL_KPROBES_ARM64_H
11 #include <asm/kprobes.h>
14 * ARM strongly recommends a limit of 128 bytes between LoadExcl and
15 * StoreExcl instructions in a single thread of execution. So keep the
16 * max atomic context size as 32.
18 #define MAX_ATOMIC_CONTEXT_SIZE (128 / sizeof(kprobe_opcode_t))
20 enum probe_insn {
21 INSN_REJECTED,
22 INSN_GOOD_NO_SLOT,
23 INSN_GOOD,
26 #ifdef CONFIG_KPROBES
27 enum probe_insn __kprobes
28 arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi);
29 #endif
30 enum probe_insn __kprobes
31 arm_probe_decode_insn(u32 insn, struct arch_probe_insn *asi);
33 #endif /* _ARM_KERNEL_KPROBES_ARM64_H */