qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] tcg/tcg.c:1892: tcg fatal error


From: Igor Kovalenko
Subject: Re: [Qemu-devel] tcg/tcg.c:1892: tcg fatal error
Date: Fri, 22 Apr 2011 18:14:06 +0400

On Fri, Apr 22, 2011 at 2:39 AM, Laurent Desnogues
<address@hidden> wrote:
> On Thu, Apr 21, 2011 at 9:45 PM, Igor Kovalenko
> <address@hidden> wrote:
>> On Thu, Apr 21, 2011 at 7:44 PM, Laurent Desnogues
>> <address@hidden> wrote:
>>> On Thu, Apr 21, 2011 at 4:57 PM, Artyom Tarasenko <address@hidden> wrote:
>>>> On Tue, Apr 12, 2011 at 4:14 AM, Igor Kovalenko
>>>> <address@hidden> wrote:
>>>>>>> Do you have public test case?
>>>>>>> It is possible to code this delay slot write test but real issue may
>>>>>>> be corruption elsewhere.
>>>>
>>>> The test case is trivial: it's just the two instructions, branch and wrpr.
>>>>
>>>>> In theory there could be multiple issues including compiler induced ones.
>>>>> I'd prefer to see some kind of reproducible testcase.
>>>>
>>>> Ok, attached a 40 byte long test (the first 32 bytes are not used and
>>>> needed only because the bios entry point is 0x20).
>>>>
>>>> $ git pull && make && sparc64-softmmu/qemu-system-sparc64 -bios
>>>> test-wrpr.bin -nographic
>>>> Already up-to-date.
>>>> make[1]: Nothing to be done for `all'.
>>>> /mnt/terra/projects/vanilla/qemu/tcg/tcg.c:1892: tcg fatal error
>>>> Aborted
>>>
>>> The problem seems to be that wrpr is using a non-local
>>> TCG tmp (cpu_tmp0).
>>
>> Just tried the test case with write to %pil - seems like write itself is OK.
>> The issue appears to be with save_state() call since adding save_state
>> to %pil case provokes the same tcg abort.
>
> The problem is that cpu_tmp0, not being a local tmp, doesn't
> need to be saved across helper calls.  This results in the
> TCG "optimizer" getting rid of it even though it's later used.
> Look at the log and you'll see what I mean :-)

I'm not very comfortable with tcg yet. Would it be possible to teach
optimizer working with delay slots? Or do I look in the wrong place.

-- 
Kind regards,
Igor V. Kovalenko



reply via email to

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