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

kprobes.h (1136B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copied from arch/arm64/include/asm/kprobes.h
      4 *
      5 * Copyright (C) 2013 Linaro Limited
      6 * Copyright (C) 2017 SiFive
      7 */
      8
      9#ifndef _ASM_RISCV_KPROBES_H
     10#define _ASM_RISCV_KPROBES_H
     11
     12#include <asm-generic/kprobes.h>
     13
     14#ifdef CONFIG_KPROBES
     15#include <linux/types.h>
     16#include <linux/ptrace.h>
     17#include <linux/percpu.h>
     18
     19#define __ARCH_WANT_KPROBES_INSN_SLOT
     20#define MAX_INSN_SIZE			2
     21
     22#define flush_insn_slot(p)		do { } while (0)
     23#define kretprobe_blacklist_size	0
     24
     25#include <asm/probes.h>
     26
     27struct prev_kprobe {
     28	struct kprobe *kp;
     29	unsigned int status;
     30};
     31
     32/* per-cpu kprobe control block */
     33struct kprobe_ctlblk {
     34	unsigned int kprobe_status;
     35	unsigned long saved_status;
     36	struct prev_kprobe prev_kprobe;
     37};
     38
     39void arch_remove_kprobe(struct kprobe *p);
     40int kprobe_fault_handler(struct pt_regs *regs, unsigned int trapnr);
     41bool kprobe_breakpoint_handler(struct pt_regs *regs);
     42bool kprobe_single_step_handler(struct pt_regs *regs);
     43void __kretprobe_trampoline(void);
     44void __kprobes *trampoline_probe_handler(struct pt_regs *regs);
     45
     46#endif /* CONFIG_KPROBES */
     47#endif /* _ASM_RISCV_KPROBES_H */