qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] [ARM] Fix C-flag for ASR <reg> when shift==0


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] [ARM] Fix C-flag for ASR <reg> when shift==0
Date: Mon, 02 Apr 2007 12:04:17 +0200
User-agent: IceDove 1.5.0.9 (X11/20061220)

Matthew Howkins a écrit :
> There is a bug in the ARM emulation of data-processing instructions with
> ASR <reg> when the shift==0. The current QEMU CVS incorrectly modifies
> the C-flag, when it should be preserved.
> 
> The attached patch corrects this.
> 

This patch is consistent with the reference manual, I think it should be
applied. Has it been lost?

> ------------------------------------------------------------------------
> 
> Index: target-arm/op.c
> ===================================================================
> RCS file: /sources/qemu/qemu/target-arm/op.c,v
> retrieving revision 1.21
> diff -u -r1.21 op.c
> --- target-arm/op.c   26 Jun 2006 19:55:19 -0000      1.21
> +++ target-arm/op.c   11 Feb 2007 16:08:22 -0000
> @@ -667,7 +667,7 @@
>      if (shift >= 32) {
>          env->CF = (T1 >> 31) & 1;
>          T1 = (int32_t)T1 >> 31;
> -    } else {
> +    } else if (shift != 0) {
>          env->CF = (T1 >> (shift - 1)) & 1;
>          T1 = (int32_t)T1 >> shift;
>      }
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Qemu-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/qemu-devel


-- 
  .''`.  Aurelien Jarno             | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   address@hidden         | address@hidden
   `-    people.debian.org/~aurel32 | www.aurel32.net




reply via email to

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