| .. | .. |
|---|
| 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 */ |
|---|