qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: Re: SH4: Implement FD bit


From: Vladimir Prus
Subject: [Qemu-devel] Re: Re: SH4: Implement FD bit
Date: Wed, 10 Dec 2008 14:04:27 +0300
User-agent: KNode/0.10.9

Aurelien Jarno wrote:

> On Tue, Dec 09, 2008 at 07:36:19PM +0300, Vladimir Prus wrote:
>> Aurelien Jarno wrote:
>> 
>> >> 
>> >> SH4 manual say that if a floating point instruction is executed while
>> >> FD bit in the status register is 1, an exception should be raised. QEMU
>> >> presently does not do that, so the kernel does not initialize FP state
>> >> for any thread, nor does it save/restore FP state. The most apparent
>> >> consequence is that while recent gcc/libc expect double-precision mode
>> >> to be set by kernel, they run in single-precision mode, and all FP code
>> >> produces wrong values.
>> >> 
>> >> This patch fixes this. It also fixes a couple of places where PC was
>> >> not updated before handling an exception, although both those places
>> >> deal with invalid instruction and don't lead to any user-visible bugs.
>> >> 
>> >> - Volodya
>> > 
>> > Thanks, applied.
>> 
>> Thanks, but it looks like one bit of the patch somehow did not
>> make it into SVN. Specifically, this:
>> 
>> @@ -504,6 +523,13 @@ static void _decode_opc(DisasContext * ctx)
>>               }
>>         }
>>  
>> +    /* The 0xfffd instruction is underfined, so we don't want to
>> +       raise fpu disable exception on it.  */
>> +    if (((ctx->opcode & 0xf000) == 0xf000)
>> +       && (ctx->opcode != 0xfffd))
>> +      {
>> +       CHECK_FPU_ENABLED
>> +      }
>> 
>> Is present in my post, and is not present in:
>> 
>>         http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5937
>> 
>> Maybe some merge issue?
> 
> Yes I haven't seen that one hunk of the patch has been rejected, so I
> missed this part. I have just tried to merge it by hand, but it is not
> possible to apply it. It looks like the patch was not done against the
> current SVN.
> 
> Care to resend it against the current SVN?

Attached is the remaining bit of the patch, against fresh SVN.

Thanks,
Volodya


Attachment: fd_remaining.diff
Description: Text Data


reply via email to

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