Il 13/02/2013 16:50, Gleb Natapov ha scritto: > Reported-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Gleb Natapov <gleb@xxxxxxxxxx> > > diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c > index 2b11318..a335cc6 100644 > --- a/arch/x86/kvm/emulate.c > +++ b/arch/x86/kvm/emulate.c > @@ -2995,14 +2995,11 @@ static int em_aad(struct x86_emulate_ctxt *ctxt) > > ctxt->dst.val = (ctxt->dst.val & 0xffff0000) | al; > > - ctxt->eflags &= ~(X86_EFLAGS_PF | X86_EFLAGS_SF | X86_EFLAGS_ZF); > - > - if (!al) > - ctxt->eflags |= X86_EFLAGS_ZF; > - if (!(al & 1)) > - ctxt->eflags |= X86_EFLAGS_PF; > - if (al & 0x80) > - ctxt->eflags |= X86_EFLAGS_SF; > + /* Set PF, ZF, SF */ > + ctxt->src.type = OP_IMM; > + ctxt->src.val = 0; > + ctxt->src.bytes = 1; > + fastop(ctxt, em_or); > > return X86EMUL_CONTINUE; > } > -- > Gleb. > Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html