[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH] [ARM] Fix C-flag for ASR <reg> when shift==0,
Aurelien Jarno <=