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