Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * arch/arm64/include/asm/kprobes.h
4 *
5 * Copyright (C) 2013 Linaro Limited
6 */
7
8#ifndef _ARM_KPROBES_H
9#define _ARM_KPROBES_H
10
11#include <asm-generic/kprobes.h>
12
13#ifdef CONFIG_KPROBES
14#include <linux/types.h>
15#include <linux/ptrace.h>
16#include <linux/percpu.h>
17
18#define __ARCH_WANT_KPROBES_INSN_SLOT
19#define MAX_INSN_SIZE 2
20
21#define flush_insn_slot(p) do { } while (0)
22#define kretprobe_blacklist_size 0
23
24#include <asm/probes.h>
25
26struct prev_kprobe {
27 struct kprobe *kp;
28 unsigned int status;
29};
30
31/* per-cpu kprobe control block */
32struct kprobe_ctlblk {
33 unsigned int kprobe_status;
34 unsigned long saved_irqflag;
35 struct prev_kprobe prev_kprobe;
36};
37
38void arch_remove_kprobe(struct kprobe *);
39int kprobe_fault_handler(struct pt_regs *regs, unsigned int fsr);
40int kprobe_exceptions_notify(struct notifier_block *self,
41 unsigned long val, void *data);
42void __kretprobe_trampoline(void);
43void __kprobes *trampoline_probe_handler(struct pt_regs *regs);
44
45#endif /* CONFIG_KPROBES */
46#endif /* _ARM_KPROBES_H */