hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/arch/x86/include/asm/insn-eval.h
....@@ -15,9 +15,18 @@
1515 #define INSN_CODE_SEG_OPND_SZ(params) (params & 0xf)
1616 #define INSN_CODE_SEG_PARAMS(oper_sz, addr_sz) (oper_sz | (addr_sz << 4))
1717
18
+bool insn_has_rep_prefix(struct insn *insn);
1819 void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs);
1920 int insn_get_modrm_rm_off(struct insn *insn, struct pt_regs *regs);
21
+int insn_get_modrm_reg_off(struct insn *insn, struct pt_regs *regs);
2022 unsigned long insn_get_seg_base(struct pt_regs *regs, int seg_reg_idx);
2123 int insn_get_code_seg_params(struct pt_regs *regs);
24
+unsigned long insn_get_effective_ip(struct pt_regs *regs);
25
+int insn_fetch_from_user(struct pt_regs *regs,
26
+ unsigned char buf[MAX_INSN_SIZE]);
27
+int insn_fetch_from_user_inatomic(struct pt_regs *regs,
28
+ unsigned char buf[MAX_INSN_SIZE]);
29
+bool insn_decode_from_regs(struct insn *insn, struct pt_regs *regs,
30
+ unsigned char buf[MAX_INSN_SIZE], int buf_size);
2231
2332 #endif /* _ASM_X86_INSN_EVAL_H */