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

core.h (1473B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * arch/arm/kernel/kprobes.h
      4 *
      5 * Copyright (C) 2011 Jon Medhurst <tixy@yxit.co.uk>.
      6 *
      7 * Some contents moved here from arch/arm/include/asm/kprobes.h which is
      8 * Copyright (C) 2006, 2007 Motorola Inc.
      9 */
     10
     11#ifndef _ARM_KERNEL_KPROBES_H
     12#define _ARM_KERNEL_KPROBES_H
     13
     14#include <asm/kprobes.h>
     15#include "../decode.h"
     16
     17/*
     18 * These undefined instructions must be unique and
     19 * reserved solely for kprobes' use.
     20 */
     21#define KPROBE_ARM_BREAKPOINT_INSTRUCTION	0x07f001f8
     22#define KPROBE_THUMB16_BREAKPOINT_INSTRUCTION	0xde18
     23#define KPROBE_THUMB32_BREAKPOINT_INSTRUCTION	0xf7f0a018
     24
     25extern void kprobes_remove_breakpoint(void *addr, unsigned int insn);
     26
     27enum probes_insn __kprobes
     28kprobe_decode_ldmstm(kprobe_opcode_t insn, struct arch_probes_insn *asi,
     29		const struct decode_header *h);
     30
     31typedef enum probes_insn (kprobe_decode_insn_t)(probes_opcode_t,
     32						struct arch_probes_insn *,
     33						bool,
     34						const union decode_action *,
     35						const struct decode_checker *[]);
     36
     37#ifdef CONFIG_THUMB2_KERNEL
     38
     39extern const union decode_action kprobes_t32_actions[];
     40extern const union decode_action kprobes_t16_actions[];
     41extern const struct decode_checker *kprobes_t32_checkers[];
     42extern const struct decode_checker *kprobes_t16_checkers[];
     43#else /* !CONFIG_THUMB2_KERNEL */
     44
     45extern const union decode_action kprobes_arm_actions[];
     46extern const struct decode_checker *kprobes_arm_checkers[];
     47
     48#endif
     49
     50#endif /* _ARM_KERNEL_KPROBES_H */