File Index
Files and directories
Sign in
FILE

uprobes.h

File preview with syntax highlighting.

linux-6.19.14/arch/loongarch/include/asm/uprobes.h C
 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.