diff options
Diffstat (limited to 'arch/x86/include/asm/insn.h')
| -rw-r--r-- | arch/x86/include/asm/insn.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/include/asm/insn.h b/arch/x86/include/asm/insn.h index 88c765e1641..74df3f1eddf 100644 --- a/arch/x86/include/asm/insn.h +++ b/arch/x86/include/asm/insn.h | |||
| @@ -137,6 +137,13 @@ static inline int insn_is_avx(struct insn *insn) | |||
| 137 | return (insn->vex_prefix.value != 0); | 137 | return (insn->vex_prefix.value != 0); |
| 138 | } | 138 | } |
| 139 | 139 | ||
| 140 | /* Ensure this instruction is decoded completely */ | ||
| 141 | static inline int insn_complete(struct insn *insn) | ||
| 142 | { | ||
| 143 | return insn->opcode.got && insn->modrm.got && insn->sib.got && | ||
| 144 | insn->displacement.got && insn->immediate.got; | ||
| 145 | } | ||
| 146 | |||
| 140 | static inline insn_byte_t insn_vex_m_bits(struct insn *insn) | 147 | static inline insn_byte_t insn_vex_m_bits(struct insn *insn) |
| 141 | { | 148 | { |
| 142 | if (insn->vex_prefix.nbytes == 2) /* 2 bytes VEX */ | 149 | if (insn->vex_prefix.nbytes == 2) /* 2 bytes VEX */ |
