1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 29842ceaeSPratyush Anand /* 39842ceaeSPratyush Anand * Copyright (C) 2014-2016 Pratyush Anand <panand@redhat.com> 49842ceaeSPratyush Anand */ 59842ceaeSPratyush Anand 69842ceaeSPratyush Anand #ifndef _ASM_UPROBES_H 79842ceaeSPratyush Anand #define _ASM_UPROBES_H 89842ceaeSPratyush Anand 99842ceaeSPratyush Anand #include <asm/debug-monitors.h> 109842ceaeSPratyush Anand #include <asm/insn.h> 119842ceaeSPratyush Anand #include <asm/probes.h> 129842ceaeSPratyush Anand 139842ceaeSPratyush Anand #define MAX_UINSN_BYTES AARCH64_INSN_SIZE 149842ceaeSPratyush Anand 1560f07e22Sjunhua huang #define UPROBE_SWBP_INSN cpu_to_le32(BRK64_OPCODE_UPROBES) 169842ceaeSPratyush Anand #define UPROBE_SWBP_INSN_SIZE AARCH64_INSN_SIZE 179842ceaeSPratyush Anand #define UPROBE_XOL_SLOT_BYTES MAX_UINSN_BYTES 189842ceaeSPratyush Anand 19*ef08c0faSjunhua huang typedef __le32 uprobe_opcode_t; 209842ceaeSPratyush Anand 219842ceaeSPratyush Anand struct arch_uprobe_task { 229842ceaeSPratyush Anand }; 239842ceaeSPratyush Anand 249842ceaeSPratyush Anand struct arch_uprobe { 259842ceaeSPratyush Anand union { 269842ceaeSPratyush Anand u8 insn[MAX_UINSN_BYTES]; 279842ceaeSPratyush Anand u8 ixol[MAX_UINSN_BYTES]; 289842ceaeSPratyush Anand }; 299842ceaeSPratyush Anand struct arch_probe_insn api; 309842ceaeSPratyush Anand bool simulate; 319842ceaeSPratyush Anand }; 329842ceaeSPratyush Anand 339842ceaeSPratyush Anand #endif 34