xref: /linux/arch/arm64/kernel/probes/simulate-insn.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*1802d0beSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
239a67d49SSandeepa Prabhu /*
339a67d49SSandeepa Prabhu  * arch/arm64/kernel/probes/simulate-insn.h
439a67d49SSandeepa Prabhu  *
539a67d49SSandeepa Prabhu  * Copyright (C) 2013 Linaro Limited
639a67d49SSandeepa Prabhu  */
739a67d49SSandeepa Prabhu 
839a67d49SSandeepa Prabhu #ifndef _ARM_KERNEL_KPROBES_SIMULATE_INSN_H
939a67d49SSandeepa Prabhu #define _ARM_KERNEL_KPROBES_SIMULATE_INSN_H
1039a67d49SSandeepa Prabhu 
1139a67d49SSandeepa Prabhu void simulate_adr_adrp(u32 opcode, long addr, struct pt_regs *regs);
1239a67d49SSandeepa Prabhu void simulate_b_bl(u32 opcode, long addr, struct pt_regs *regs);
1339a67d49SSandeepa Prabhu void simulate_b_cond(u32 opcode, long addr, struct pt_regs *regs);
1439a67d49SSandeepa Prabhu void simulate_br_blr_ret(u32 opcode, long addr, struct pt_regs *regs);
1539a67d49SSandeepa Prabhu void simulate_cbz_cbnz(u32 opcode, long addr, struct pt_regs *regs);
1639a67d49SSandeepa Prabhu void simulate_tbz_tbnz(u32 opcode, long addr, struct pt_regs *regs);
1739a67d49SSandeepa Prabhu void simulate_ldr_literal(u32 opcode, long addr, struct pt_regs *regs);
1839a67d49SSandeepa Prabhu void simulate_ldrsw_literal(u32 opcode, long addr, struct pt_regs *regs);
1939a67d49SSandeepa Prabhu 
2039a67d49SSandeepa Prabhu #endif /* _ARM_KERNEL_KPROBES_SIMULATE_INSN_H */
21