On Mon, 2016-12-26 at 00:49 +0900, Masami Hiramatsu wrote:
On Fri, 23 Dec 2016 17:37:43 -0800 Ricardo Neri ricardo.neri-calderon@linux.intel.com wrote:
+static int __identify_insn(struct insn *insn) +{
- /* by getting modrm we also get the opcode */
- insn_get_modrm(insn);
- if (insn->opcode.bytes[0] != 0xf)
return -EINVAL;
- if (insn->opcode.bytes[1] == 0x1) {
switch (X86_MODRM_REG(insn->modrm.value)) {
case 0:
return UMIP_SGDT;
case 1:
return UMIP_SIDT;
case 4:
return UMIP_SMSW;
default:
return -EINVAL;
}
- } else if (insn->opcode.bytes[1] == 0x0) {
if (X86_MODRM_REG(insn->modrm.value) == 0)
return UMIP_SLDT;
else if (X86_MODRM_REG(insn->modrm.value) == 1)
return UMIP_STR;
else
return -EINVAL;
- }
gcc detected an error here, you may need return "-EINVAL".
I will make this change. I removed this EINVAL at the last minute as it didn't look right. It was indeed right.
Thanks and BR, Ricardo
Thanks,