~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/probes/decode-arm.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /*
  3  * arch/arm/probes/decode-arm.h
  4  *
  5  * Copyright 2013 Linaro Ltd.
  6  * Written by: David A. Long
  7  */
  8 
  9 #ifndef _ARM_KERNEL_PROBES_ARM_H
 10 #define  _ARM_KERNEL_PROBES_ARM_H
 11 
 12 #include "decode.h"
 13 
 14 enum probes_arm_action {
 15         PROBES_PRELOAD_IMM,
 16         PROBES_PRELOAD_REG,
 17         PROBES_BRANCH_IMM,
 18         PROBES_BRANCH_REG,
 19         PROBES_MRS,
 20         PROBES_CLZ,
 21         PROBES_SATURATING_ARITHMETIC,
 22         PROBES_MUL1,
 23         PROBES_MUL2,
 24         PROBES_SWP,
 25         PROBES_LDRSTRD,
 26         PROBES_LOAD,
 27         PROBES_STORE,
 28         PROBES_LOAD_EXTRA,
 29         PROBES_STORE_EXTRA,
 30         PROBES_MOV_IP_SP,
 31         PROBES_DATA_PROCESSING_REG,
 32         PROBES_DATA_PROCESSING_IMM,
 33         PROBES_MOV_HALFWORD,
 34         PROBES_SEV,
 35         PROBES_WFE,
 36         PROBES_SATURATE,
 37         PROBES_REV,
 38         PROBES_MMI,
 39         PROBES_PACK,
 40         PROBES_EXTEND,
 41         PROBES_EXTEND_ADD,
 42         PROBES_MUL_ADD_LONG,
 43         PROBES_MUL_ADD,
 44         PROBES_BITFIELD,
 45         PROBES_BRANCH,
 46         PROBES_LDMSTM,
 47         NUM_PROBES_ARM_ACTIONS
 48 };
 49 
 50 void __kprobes simulate_bbl(probes_opcode_t opcode,
 51         struct arch_probes_insn *asi, struct pt_regs *regs);
 52 void __kprobes simulate_blx1(probes_opcode_t opcode,
 53         struct arch_probes_insn *asi, struct pt_regs *regs);
 54 void __kprobes simulate_blx2bx(probes_opcode_t opcode,
 55         struct arch_probes_insn *asi, struct pt_regs *regs);
 56 void __kprobes simulate_mrs(probes_opcode_t opcode,
 57         struct arch_probes_insn *asi, struct pt_regs *regs);
 58 void __kprobes simulate_mov_ipsp(probes_opcode_t opcode,
 59         struct arch_probes_insn *asi, struct pt_regs *regs);
 60 
 61 extern const union decode_item probes_decode_arm_table[];
 62 
 63 enum probes_insn arm_probes_decode_insn(probes_opcode_t,
 64                 struct arch_probes_insn *, bool emulate,
 65                 const union decode_action *actions,
 66                 const struct decode_checker *checkers[]);
 67 
 68 #endif
 69 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php