xref: /kernel/linux/linux-5.10/arch/arm64/include/asm/probes.h (revision 8c2ecf20)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-5.10/arch/arm64/include/asm/
18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * arch/arm64/include/asm/probes.h
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2013 Linaro Limited
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci#ifndef _ARM_PROBES_H
88c2ecf20Sopenharmony_ci#define _ARM_PROBES_H
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#include <asm/insn.h>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_citypedef u32 probe_opcode_t;
138c2ecf20Sopenharmony_citypedef void (probes_handler_t) (u32 opcode, long addr, struct pt_regs *);
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci/* architecture specific copy of original instruction */
168c2ecf20Sopenharmony_cistruct arch_probe_insn {
178c2ecf20Sopenharmony_ci	probe_opcode_t *insn;
188c2ecf20Sopenharmony_ci	pstate_check_t *pstate_cc;
198c2ecf20Sopenharmony_ci	probes_handler_t *handler;
208c2ecf20Sopenharmony_ci	/* restore address after step xol */
218c2ecf20Sopenharmony_ci	unsigned long restore;
228c2ecf20Sopenharmony_ci};
238c2ecf20Sopenharmony_ci#ifdef CONFIG_KPROBES
248c2ecf20Sopenharmony_citypedef u32 kprobe_opcode_t;
258c2ecf20Sopenharmony_cistruct arch_specific_insn {
268c2ecf20Sopenharmony_ci	struct arch_probe_insn api;
278c2ecf20Sopenharmony_ci};
288c2ecf20Sopenharmony_ci#endif
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#endif
31

Indexes created Thu Nov 07 10:32:03 CST 2024