mask repeat prefix out of insn prefix
[fkvm-libfkvm.git] / disasm.h
blob9249a5157961f5463c71d68ba6c90dd5be3af34a
1 #ifndef DISASM_H
2 #define DISASM_H
3 #include <libdis.h>
5 static inline int
6 get_repeat_prefix(x86_insn_t *insn)
8 return (insn->prefix & 0x00F);
11 int
12 kvm_reg_from_x86_reg(int x86_reg_id);
14 int
15 cr_num_from_x86_reg(int x86_reg_id);
17 struct kvm_segment*
18 kvm_seg_from_x86_op(struct kvm_sregs *sregs, x86_op_t *op);
20 uint64_t
21 get_source_data(struct kvm_regs *regs, x86_op_t *op);
23 uint64_t
24 get_memi_address(struct kvm_regs *regs, struct kvm_sregs *sregs,
25 x86_op_t *op, size_t size);
27 unsigned int
28 get_x86_insn(const uint64_t insn_addr, x86_insn_t *insn);
30 void
31 libdisasm_init(size_t reg_size);
33 void
34 libdisasm_cleanup();
36 #endif