insn_byte_t
insn_byte_t p;
extern insn_attr_t inat_get_opcode_attribute(insn_byte_t opcode);
extern int inat_get_last_prefix_id(insn_byte_t last_pfx);
extern insn_attr_t inat_get_escape_attribute(insn_byte_t opcode,
extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
extern insn_attr_t inat_get_avx_attribute(insn_byte_t opcode,
insn_byte_t vex_m,
insn_byte_t vex_pp);
extern insn_attr_t inat_get_xop_attribute(insn_byte_t opcode,
insn_byte_t map_select);
const insn_byte_t *kaddr; /* kernel address of insn to analyze */
const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */
const insn_byte_t *next_byte;
insn_byte_t bytes[4];
static inline insn_byte_t insn_rex2_m_bit(struct insn *insn)
static inline insn_byte_t insn_vex_m_bits(struct insn *insn)
static inline insn_byte_t insn_vex_p_bits(struct insn *insn)
static inline insn_byte_t insn_vex_w_bit(struct insn *insn)
static inline insn_byte_t insn_xop_map_bits(struct insn *insn)
static inline insn_byte_t insn_xop_p_bits(struct insn *insn)
insn_byte_t v)
insn_byte_t bytes[4];
insn_byte_t v)
insn_byte_t prefix;
insn_byte_t opcode = insn->opcode.bytes[0];
insn_byte_t p;
insn_byte_t p;
insn_attr_t inat_get_opcode_attribute(insn_byte_t opcode)
int inat_get_last_prefix_id(insn_byte_t last_pfx)
insn_attr_t inat_get_escape_attribute(insn_byte_t opcode, int lpfx_id,
insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id,
insn_attr_t inat_get_avx_attribute(insn_byte_t opcode, insn_byte_t vex_m,
insn_byte_t vex_p)
insn_attr_t inat_get_xop_attribute(insn_byte_t opcode, insn_byte_t map_select)
insn_byte_t p;
insn_byte_t p;
insn_byte_t b, lb;
b = peek_next(insn_byte_t, insn);
b = peek_next(insn_byte_t, insn);
b = peek_next(insn_byte_t, insn);
b = peek_nbyte_next(insn_byte_t, insn, 1);
b = peek_next(insn_byte_t, insn);
insn_byte_t b2 = peek_nbyte_next(insn_byte_t, insn, 1);
b2 = peek_nbyte_next(insn_byte_t, insn, 2);
b2 = peek_nbyte_next(insn_byte_t, insn, 3);
b2 = peek_nbyte_next(insn_byte_t, insn, 2);
insn_byte_t op;
op = get_next(insn_byte_t, insn);
insn_byte_t m, p;
op = get_next(insn_byte_t, insn);
insn_byte_t pfx_id, mod;
mod = get_next(insn_byte_t, insn);
insn_byte_t modrm;
get_next(insn_byte_t, insn), 1);
insn_byte_t mod, rm, base;
static const insn_byte_t xen_prefix[] = { __XEN_EMULATE_PREFIX };
static const insn_byte_t kvm_prefix[] = { __KVM_EMULATE_PREFIX };
const insn_byte_t *prefix, size_t len)
if (peek_nbyte_next(insn_byte_t, insn, i) != prefix[i])
extern insn_attr_t inat_get_opcode_attribute(insn_byte_t opcode);
extern int inat_get_last_prefix_id(insn_byte_t last_pfx);
extern insn_attr_t inat_get_escape_attribute(insn_byte_t opcode,
extern insn_attr_t inat_get_group_attribute(insn_byte_t modrm,
extern insn_attr_t inat_get_avx_attribute(insn_byte_t opcode,
insn_byte_t vex_m,
insn_byte_t vex_pp);
extern insn_attr_t inat_get_xop_attribute(insn_byte_t opcode,
insn_byte_t map_select);
const insn_byte_t *kaddr; /* kernel address of insn to analyze */
const insn_byte_t *end_kaddr; /* kernel address of last insn in buffer */
const insn_byte_t *next_byte;
insn_byte_t bytes[4];
static inline insn_byte_t insn_rex2_m_bit(struct insn *insn)
static inline insn_byte_t insn_vex_m_bits(struct insn *insn)
static inline insn_byte_t insn_vex_p_bits(struct insn *insn)
static inline insn_byte_t insn_vex_w_bit(struct insn *insn)
static inline insn_byte_t insn_xop_map_bits(struct insn *insn)
static inline insn_byte_t insn_xop_p_bits(struct insn *insn)
insn_byte_t v)
insn_byte_t bytes[4];
insn_byte_t v)
insn_attr_t inat_get_opcode_attribute(insn_byte_t opcode)
int inat_get_last_prefix_id(insn_byte_t last_pfx)
insn_attr_t inat_get_escape_attribute(insn_byte_t opcode, int lpfx_id,
insn_attr_t inat_get_group_attribute(insn_byte_t modrm, int lpfx_id,
insn_attr_t inat_get_avx_attribute(insn_byte_t opcode, insn_byte_t vex_m,
insn_byte_t vex_p)
insn_attr_t inat_get_xop_attribute(insn_byte_t opcode, insn_byte_t map_select)
insn_byte_t b, lb;
b = peek_next(insn_byte_t, insn);
b = peek_next(insn_byte_t, insn);
b = peek_next(insn_byte_t, insn);
b = peek_nbyte_next(insn_byte_t, insn, 1);
b = peek_next(insn_byte_t, insn);
insn_byte_t b2 = peek_nbyte_next(insn_byte_t, insn, 1);
b2 = peek_nbyte_next(insn_byte_t, insn, 2);
b2 = peek_nbyte_next(insn_byte_t, insn, 3);
b2 = peek_nbyte_next(insn_byte_t, insn, 2);
insn_byte_t op;
op = get_next(insn_byte_t, insn);
insn_byte_t m, p;
op = get_next(insn_byte_t, insn);
insn_byte_t pfx_id, mod;
mod = get_next(insn_byte_t, insn);
insn_byte_t modrm;
get_next(insn_byte_t, insn), 1);
insn_byte_t mod, rm, base;
static const insn_byte_t xen_prefix[] = { __XEN_EMULATE_PREFIX };
static const insn_byte_t kvm_prefix[] = { __KVM_EMULATE_PREFIX };
const insn_byte_t *prefix, size_t len)
if (peek_nbyte_next(insn_byte_t, insn, i) != prefix[i])