linux/arch/arm64/kernel/probes/decode-insn.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * arch/arm64/kernel/probes/decode-insn.h
   4 *
   5 * Copyright (C) 2013 Linaro Limited.
   6 */
   7
   8#ifndef _ARM_KERNEL_KPROBES_ARM64_H
   9#define _ARM_KERNEL_KPROBES_ARM64_H
  10
  11#include <asm/kprobes.h>
  12
  13/*
  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.
  17 */
  18#define MAX_ATOMIC_CONTEXT_SIZE (128 / sizeof(kprobe_opcode_t))
  19
  20enum probe_insn {
  21        INSN_REJECTED,
  22        INSN_GOOD_NO_SLOT,
  23        INSN_GOOD,
  24};
  25
  26#ifdef CONFIG_KPROBES
  27enum probe_insn __kprobes
  28arm_kprobe_decode_insn(kprobe_opcode_t *addr, struct arch_specific_insn *asi);
  29#endif
  30enum probe_insn __kprobes
  31arm_probe_decode_insn(probe_opcode_t insn, struct arch_probe_insn *asi);
  32
  33#endif /* _ARM_KERNEL_KPROBES_ARM64_H */
  34