Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / arch / powerpc / include / asm / uprobes.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #ifndef _ASM_UPROBES_H
3 #define _ASM_UPROBES_H
4 /*
5  * User-space Probes (UProbes) for powerpc
6  *
7  * Copyright IBM Corporation, 2007-2012
8  *
9  * Adapted from the x86 port by Ananth N Mavinakayanahalli <ananth@in.ibm.com>
10  */
11
12 #include <linux/notifier.h>
13 #include <asm/probes.h>
14
15 typedef ppc_opcode_t uprobe_opcode_t;
16
17 #define MAX_UINSN_BYTES         4
18 #define UPROBE_XOL_SLOT_BYTES   (MAX_UINSN_BYTES)
19
20 /* The following alias is needed for reference from arch-agnostic code */
21 #define UPROBE_SWBP_INSN        BREAKPOINT_INSTRUCTION
22 #define UPROBE_SWBP_INSN_SIZE   4 /* swbp insn size in bytes */
23
24 struct arch_uprobe {
25         union {
26                 u32     insn;
27                 u32     ixol;
28         };
29 };
30
31 struct arch_uprobe_task {
32         unsigned long   saved_trap_nr;
33 };
34
35 #endif  /* _ASM_UPROBES_H */