18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2014-2016 Pratyush Anand <panand@redhat.com> 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef _ASM_UPROBES_H 78c2ecf20Sopenharmony_ci#define _ASM_UPROBES_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <asm/debug-monitors.h> 108c2ecf20Sopenharmony_ci#include <asm/insn.h> 118c2ecf20Sopenharmony_ci#include <asm/probes.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci#define MAX_UINSN_BYTES AARCH64_INSN_SIZE 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#define UPROBE_SWBP_INSN BRK64_OPCODE_UPROBES 168c2ecf20Sopenharmony_ci#define UPROBE_SWBP_INSN_SIZE AARCH64_INSN_SIZE 178c2ecf20Sopenharmony_ci#define UPROBE_XOL_SLOT_BYTES MAX_UINSN_BYTES 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_citypedef u32 uprobe_opcode_t; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cistruct arch_uprobe_task { 228c2ecf20Sopenharmony_ci}; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cistruct arch_uprobe { 258c2ecf20Sopenharmony_ci union { 268c2ecf20Sopenharmony_ci u8 insn[MAX_UINSN_BYTES]; 278c2ecf20Sopenharmony_ci u8 ixol[MAX_UINSN_BYTES]; 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci struct arch_probe_insn api; 308c2ecf20Sopenharmony_ci bool simulate; 318c2ecf20Sopenharmony_ci}; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci#endif 34