From mboxrd@z Thu Jan 1 00:00:00 1970 From: Masami Hiramatsu Subject: Re: [v2 5/7] x86: Add emulation code for UMIP instructions Date: Mon, 26 Dec 2016 00:49:47 +0900 Message-ID: <20161226004947.9503af5719927f7c042ca140@kernel.org> References: <20161224013745.108716-1-ricardo.neri-calderon@linux.intel.com> <20161224013745.108716-6-ricardo.neri-calderon@linux.intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20161224013745.108716-6-ricardo.neri-calderon@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Ricardo Neri Cc: Ingo Molnar , Thomas Gleixner , Borislav Petkov , Andy Lutomirski , Peter Zijlstra , linux-kernel@vger.kernel.org, x86@kernel.org, linux-msdos@vger.kernel.org, wine-devel@winehq.org, Andrew Morton , "H . Peter Anvin" , Brian Gerst , Chen Yucong , Chris Metcalf , Dave Hansen , Fenghua Yu , Huang Rui , Jiri Slaby , Jonathan Corbet , "Michael S . Tsirkin" , Paul Gortmaker , "Ravi V . Shankar" On Fri, 23 Dec 2016 17:37:43 -0800 Ricardo Neri 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". Thanks, -- Masami Hiramatsu