1 /* SPDX-License-Identifier: GPL-2.0+ */ 1 2 3 #ifndef _RISCV_KERNEL_PROBES_SIMULATE_INSN_H 4 #define _RISCV_KERNEL_PROBES_SIMULATE_INSN_H 5 6 #include <asm/insn.h> 7 8 #define RISCV_INSN_REJECTED(name, code) 9 do { 10 if (riscv_insn_is_##name(code) 11 return INSN_REJECTED; 12 } 13 } while (0) 14 15 #define RISCV_INSN_SET_SIMULATE(name, code) 16 do { 17 if (riscv_insn_is_##name(code) 18 api->handler = simulat 19 return INSN_GOOD_NO_SL 20 } 21 } while (0) 22 23 bool simulate_auipc(u32 opcode, unsigned long 24 bool simulate_branch(u32 opcode, unsigned long 25 bool simulate_jal(u32 opcode, unsigned long ad 26 bool simulate_jalr(u32 opcode, unsigned long a 27 bool simulate_c_j(u32 opcode, unsigned long ad 28 bool simulate_c_jr(u32 opcode, unsigned long a 29 bool simulate_c_jalr(u32 opcode, unsigned long 30 bool simulate_c_bnez(u32 opcode, unsigned long 31 bool simulate_c_beqz(u32 opcode, unsigned long 32 33 #endif /* _RISCV_KERNEL_PROBES_SIMULATE_INSN_H 34
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.