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 (1158B)


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