1 /*
2  * Copyright (C) 2014-2016 Pratyush Anand <panand@redhat.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 
9 #ifndef _ASM_UPROBES_H
10 #define _ASM_UPROBES_H
11 
12 #include <asm/debug-monitors.h>
13 #include <asm/insn.h>
14 #include <asm/probes.h>
15 
16 #define MAX_UINSN_BYTES		AARCH64_INSN_SIZE
17 
18 #define UPROBE_SWBP_INSN	BRK64_OPCODE_UPROBES
19 #define UPROBE_SWBP_INSN_SIZE	AARCH64_INSN_SIZE
20 #define UPROBE_XOL_SLOT_BYTES	MAX_UINSN_BYTES
21 
22 typedef u32 uprobe_opcode_t;
23 
24 struct arch_uprobe_task {
25 };
26 
27 struct arch_uprobe {
28 	union {
29 		u8 insn[MAX_UINSN_BYTES];
30 		u8 ixol[MAX_UINSN_BYTES];
31 	};
32 	struct arch_probe_insn api;
33 	bool simulate;
34 };
35 
36 #endif
37