Contributors: 7
	  
        
          | Author | 
          Tokens | 
          Token Proportion | 
          Commits | 
          Commit Proportion | 
        
	  
	  
        
        
          | David A. Long | 
          60 | 
          50.85% | 
          5 | 
          31.25% | 
        
        
          | Quentin Barnes | 
          18 | 
          15.25% | 
          1 | 
          6.25% | 
        
        
          | Jon Medhurst (Tixy) | 
          17 | 
          14.41% | 
          3 | 
          18.75% | 
        
        
          | Wang Nan | 
          16 | 
          13.56% | 
          4 | 
          25.00% | 
        
        
          | Abhishek Sagar | 
          4 | 
          3.39% | 
          1 | 
          6.25% | 
        
        
          | Thomas Gleixner | 
          2 | 
          1.69% | 
          1 | 
          6.25% | 
        
        
          | Masami Hiramatsu | 
          1 | 
          0.85% | 
          1 | 
          6.25% | 
        
	  
	  
        
          | Total | 
          118 | 
           | 
          16 | 
           | 
	    
	  
    
 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * arch/arm/include/asm/probes.h
 *
 * Original contents copied from arch/arm/include/asm/kprobes.h
 * which contains the following notice...
 *
 * Copyright (C) 2006, 2007 Motorola Inc.
 */
#ifndef _ASM_PROBES_H
#define _ASM_PROBES_H
#ifndef __ASSEMBLY__
typedef u32 probes_opcode_t;
struct arch_probes_insn;
typedef void (probes_insn_handler_t)(probes_opcode_t,
				     struct arch_probes_insn *,
				     struct pt_regs *);
typedef unsigned long (probes_check_cc)(unsigned long);
typedef void (probes_insn_singlestep_t)(probes_opcode_t,
					struct arch_probes_insn *,
					struct pt_regs *);
typedef void (probes_insn_fn_t)(void);
/* Architecture specific copy of original instruction. */
struct arch_probes_insn {
	probes_opcode_t			*insn;
	probes_insn_handler_t		*insn_handler;
	probes_check_cc			*insn_check_cc;
	probes_insn_singlestep_t	*insn_singlestep;
	probes_insn_fn_t		*insn_fn;
	int				stack_space;
	unsigned long			register_usage_flags;
	bool				kprobe_direct_exec;
};
#endif /* __ASSEMBLY__ */
/*
 * We assume one instruction can consume at most 64 bytes stack, which is
 * 'push {r0-r15}'. Instructions consume more or unknown stack space like
 * 'str r0, [sp, #-80]' and 'str r0, [sp, r1]' should be prohibit to probe.
 */
#define MAX_STACK_SIZE			64
#endif