On Sat, Jun 14, 2008 at 4:26 PM, Andi Kleen <[EMAIL PROTECTED]> wrote: > "Mohammed Gamal" <[EMAIL PROTECTED]> writes: >> ByteOp | DstReg | SrcMem | Mov | MemAbs, DstReg | SrcMem | Mov | >> MemAbs, >> @@ -1560,6 +1560,9 @@ special_insn: >> if (rc != 0) >> goto done; >> break; >> + case 0x90: /* nop */ >> + if(! (c->rex_prefix & 1) ) >> + break; >> case 0x9c: /* pushf */ >> c->src.val = (unsigned long) ctxt->eflags; >> emulate_push(ctxt); > > Is falling through to pushf really correct? And not sure what the if checks. > > iirc it should be just > > case 0x90: /* nop */ > break; > > BTW there are lots more nop encodings. > > -Andi >
Thanks for pointing this out. 0x90 is also the opcode for xchg r8,rAX instruction. The code should rather fall to the yet-to-be added xchg instructions. A patch will be underway ;) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
