qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] improve emulation correctness


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH] improve emulation correctness
Date: Fri, 2 May 2014 11:04:50 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Apr 24, 2014 at 12:35:24PM +0400, poletaev wrote:

The commit message is vague so I guess the maintainers skipped your
email.  I have CCed Paolo, Richard, and Andreas who may be able to
review and apply your patch.

Please make the commit message more specific:

target-i386: don't touch undefined OF flag in RCL instruction

That way the relevant people can easily identify it on the mailing list
and will review your patch.

> There is a set of test, that checks QEMU CPU for similar behavior with real
> hardware (http://roberto.greyhats.it/projects/pills.html). Test
> reg/pill2579.c can detect, that program is execute in emulated environment.
> It is related with behavior of rcl instruction. If the number of shifted
> bits more than 1, OF of eflags become undefined. Real CPUs does not change
> OF, if it is undefined. QEMU do it anyway.
> 
> Emulated program can execute that test and after that can understand
> environment not real.

It will always be possible to tell the environment is virtual.  There
are too many quirks that are very hard to hide - timing, firmware, etc.

But I checked the Intel Software Developer's Manual and your patch
matches how they document the effect of the RCL instruction.  Whether
*all* Intel, AMD, VIA, etc x86 CPUs leave the OF flag alone, I'm not
sure but I think this patch won't hurt.

> Signed-off-by: Dmitry Poletaev <address@hidden>
> 
>  
> 
> diff --git a/target-i386/shift_helper_template.h
> b/target-i386/shift_helper_template.h
> 
> index cf91a2d..d5bd321 100644
> 
> --- a/target-i386/shift_helper_template.h

This patch email is broken.  Please use git-send-email(1) to send
properly formatted patches.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]