2 * arch/arm64/kernel/probes/simulate-insn.h
4 * Copyright (C) 2013 Linaro Limited
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.
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.
16 #ifndef _ARM_KERNEL_KPROBES_SIMULATE_INSN_H
17 #define _ARM_KERNEL_KPROBES_SIMULATE_INSN_H
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
);
28 #endif /* _ARM_KERNEL_KPROBES_SIMULATE_INSN_H */