.. | .. |
---|
15 | 15 | #define INSN_CODE_SEG_OPND_SZ(params) (params & 0xf) |
---|
16 | 16 | #define INSN_CODE_SEG_PARAMS(oper_sz, addr_sz) (oper_sz | (addr_sz << 4)) |
---|
17 | 17 | |
---|
| 18 | +bool insn_has_rep_prefix(struct insn *insn); |
---|
18 | 19 | void __user *insn_get_addr_ref(struct insn *insn, struct pt_regs *regs); |
---|
19 | 20 | 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); |
---|
20 | 22 | unsigned long insn_get_seg_base(struct pt_regs *regs, int seg_reg_idx); |
---|
21 | 23 | 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); |
---|
22 | 31 | |
---|
23 | 32 | #endif /* _ASM_X86_INSN_EVAL_H */ |
---|