[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] tcg_abort()
From: |
Laurent Desnogues |
Subject: |
Re: [Qemu-devel] tcg_abort() |
Date: |
Sat, 26 Sep 2009 00:48:57 +0200 |
On Wed, Sep 16, 2009 at 6:16 PM, Laurent Desnogues
<address@hidden> wrote:
> On Wed, Sep 16, 2009 at 5:46 PM, Gary Thomas <address@hidden> wrote:
> [...]
>>
>> /qemu-git-2009_09_16/tcg/arm/tcg-target.c:773: tcg fatal error
>>
>>> - how to reproduce the issue
>>
>> This one's harder - I'm running an x86 gnome application on an ARM
>> system. I'm not sure exactly what it was doing when the abort happened.
>>
>> Questions:
>> * The function in tcp-target.c seems complete, but it has
>> #if 1
>> tcg_abort();
>> #endif
>> which implies it's not complete or maybe just untested?
>> * How can I gather more information about what was going on
>> at the time to aid in fixing this?
>
> Your problem is probably due to generated code being too far from
> the helper functions (the helper functions can be thought of as a
> library).
>
> Could please try to replace the tcg_abort() on line 773 with these
> two lines?
>
> tcg_out_movi32(s, cond, TCG_REG_R8, val);
> tcg_out32(s, (cond << 28) | 0x012fff30 | TCG_REG_R8); /* blx r8 */
>
> I didn't test it, so you'll be my guinea pig :-)
Turned out this was wrong, it should have been:
tcg_out_movi32(s, cond, TCG_REG_R8, addr);
tcg_out32(s, (cond << 28) | 0x012fff30 | TCG_REG_R8); /* blx r8 */
Laurent