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
18typedef u32 probe_opcode_t;
19typedef void (probes_handler_t) (u32 opcode, long addr, struct pt_regs *);
20
21/* architecture specific copy of original instruction */
22struct arch_probe_insn {
23 probe_opcode_t *insn;
24 pstate_check_t *pstate_cc;
25 probes_handler_t *handler;
26 /* restore address after step xol */
27 unsigned long restore;
28};
29#ifdef CONFIG_KPROBES
30typedef u32 kprobe_opcode_t;
31struct arch_specific_insn {
32 struct arch_probe_insn api;
33};
34#endif
35
36#endif