1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2014-2016 Pratyush Anand <panand@redhat.com>
4  */
5 
6 #ifndef _ASM_UPROBES_H
7 #define _ASM_UPROBES_H
8 
9 #include <asm/debug-monitors.h>
10 #include <asm/insn.h>
11 #include <asm/probes.h>
12 
13 #define MAX_UINSN_BYTES		AARCH64_INSN_SIZE
14 
15 #define UPROBE_SWBP_INSN	BRK64_OPCODE_UPROBES
16 #define UPROBE_SWBP_INSN_SIZE	AARCH64_INSN_SIZE
17 #define UPROBE_XOL_SLOT_BYTES	MAX_UINSN_BYTES
18 
19 typedef u32 uprobe_opcode_t;
20 
21 struct arch_uprobe_task {
22 };
23 
24 struct arch_uprobe {
25 	union {
26 		u8 insn[MAX_UINSN_BYTES];
27 		u8 ixol[MAX_UINSN_BYTES];
28 	};
29 	struct arch_probe_insn api;
30 	bool simulate;
31 };
32 
33 #endif
34