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 36