cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

decode-insn.h (825B)


      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 */