1 /* 2 * arch/arm64/kernel/probes/simulate-insn.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 16 #ifndef _ARM_KERNEL_KPROBES_SIMULATE_INSN_H 17 #define _ARM_KERNEL_KPROBES_SIMULATE_INSN_H 18 19 void simulate_adr_adrp(u32 opcode, long addr, struct pt_regs *regs); 20 void simulate_b_bl(u32 opcode, long addr, struct pt_regs *regs); 21 void simulate_b_cond(u32 opcode, long addr, struct pt_regs *regs); 22 void simulate_br_blr_ret(u32 opcode, long addr, struct pt_regs *regs); 23 void simulate_cbz_cbnz(u32 opcode, long addr, struct pt_regs *regs); 24 void simulate_tbz_tbnz(u32 opcode, long addr, struct pt_regs *regs); 25 void simulate_ldr_literal(u32 opcode, long addr, struct pt_regs *regs); 26 void simulate_ldrsw_literal(u32 opcode, long addr, struct pt_regs *regs); 27 28 #endif /* _ARM_KERNEL_KPROBES_SIMULATE_INSN_H */ 29