Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/*
2 * arch/arm64/include/asm/probes.h
3 *
4 * Copyright (C) 2013 Linaro Limited
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 */
15#ifndef _ARM_PROBES_H
16#define _ARM_PROBES_H
17
18#include <asm/opcodes.h>
19
20struct kprobe;
21struct arch_specific_insn;
22
23typedef u32 kprobe_opcode_t;
24typedef void (kprobes_handler_t) (u32 opcode, long addr, struct pt_regs *);
25
26/* architecture specific copy of original instruction */
27struct arch_specific_insn {
28 kprobe_opcode_t *insn;
29 pstate_check_t *pstate_cc;
30 kprobes_handler_t *handler;
31 /* restore address after step xol */
32 unsigned long restore;
33};
34
35#endif