qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] arm/translate.c: Fix adc_CC/sbc_CC implementati


From: Laurent Desnogues
Subject: Re: [Qemu-devel] [PATCH] arm/translate.c: Fix adc_CC/sbc_CC implementation
Date: Mon, 25 Feb 2013 18:15:30 +0100

On Mon, Feb 25, 2013 at 3:43 PM, Richard Henderson <address@hidden> wrote:
> On 2013-02-25 00:04, Peter Crosthwaite wrote:
>>
>> commits 49b4c31efcce45ab714f286f14fa5d5173f9069d and
>> 2de68a4900ef6eb67380b0c128abfe1976bc66e8 reworked the implementation of
>> adc_CC
>> and sub_CC. The new implementations (on the TCG_TARGET_HAS_add2_i32 code
>> path)
>> are incorrect. The new logic is:
>>
>> CF:NF = 0:A +/- 0:CF
>> CF:NF = CF:A +/- 0:B
>>
>> The lower 32 bits of the intermediate result stored in NF needs to be
>> passes
>> into the second addition in place of A (s/CF:A/CF:NF):
>>
>> CF:NF = 0:A +/- 0:CF
>> CF:NF = CF:NF +/- 0:B
>>
>> This patch fixes the issue.
>>
>> Signed-off-by: Peter Crosthwaite<address@hidden>
>> ---
>>   target-arm/translate.c |    4 ++--
>>   1 files changed, 2 insertions(+), 2 deletions(-)
>
>
> Reviewed-by: Richard Henderson <address@hidden>
>
> Sorry for the breakage.  Blue, please apply asap.

I'm afraid this fix is not enough as I still can't get my Linux image
to boot after applying it.

Running this, my image boots:
git checkout 49b4c31efcce45ab714f286f14fa5d5173f9069d target-arm

Looking at the new sbc_cc, it seems that if t0=t1 and CF=1,
then CF will be cleared while the old code in the helper did
set it.


Laurent

PS: My image is the vexpress found here:
http://releases.linaro.org/images/linaro-n/alip/11.08



reply via email to

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