^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0+ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #ifndef __CSKY_KERNEL_KPROBES_DECODE_INSN_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #define __CSKY_KERNEL_KPROBES_DECODE_INSN_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <asm/sections.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <asm/kprobes.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) enum probe_insn {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) INSN_REJECTED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) INSN_GOOD_NO_SLOT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) INSN_GOOD,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #define is_insn32(insn) ((insn & 0xc000) == 0xc000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) enum probe_insn __kprobes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) csky_probe_decode_insn(probe_opcode_t *addr, struct arch_probe_insn *asi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #endif /* __CSKY_KERNEL_KPROBES_DECODE_INSN_H */