FILE
uprobes.h
File preview with syntax highlighting.
linux-6.19.14/arch/loongarch/include/asm/uprobes.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2#ifndef __ASM_LOONGARCH_UPROBES_H 3#define __ASM_LOONGARCH_UPROBES_H 4 5#include <asm/inst.h> 6 7typedef u32 uprobe_opcode_t; 8 9#define MAX_UINSN_BYTES 8 10#define UPROBE_XOL_SLOT_BYTES MAX_UINSN_BYTES 11 12#define UPROBE_SWBP_INSN __emit_break(BRK_UPROBE_BP) 13#define UPROBE_SWBP_INSN_SIZE LOONGARCH_INSN_SIZE 14 15#define UPROBE_XOLBP_INSN __emit_break(BRK_UPROBE_XOLBP) 16 17struct arch_uprobe { 18 u32 insn[2]; 19 u32 ixol[2]; 20 bool simulate; 21}; 22 23struct arch_uprobe_task { 24 unsigned long saved_trap_nr; 25}; 26 27#ifdef CONFIG_UPROBES 28bool uprobe_breakpoint_handler(struct pt_regs *regs); 29bool uprobe_singlestep_handler(struct pt_regs *regs); 30#else /* !CONFIG_UPROBES */ 31static inline bool uprobe_breakpoint_handler(struct pt_regs *regs) { return false; } 32static inline bool uprobe_singlestep_handler(struct pt_regs *regs) { return false; } 33#endif /* CONFIG_UPROBES */ 34 35#endif /* __ASM_LOONGARCH_UPROBES_H */
~/
Read-only file preview.