* [Qemu-devel] tcg_abort()
@ 2009-09-16 15:19 Gary Thomas
2009-09-16 15:31 ` Laurent Desnogues
0 siblings, 1 reply; 9+ messages in thread
From: Gary Thomas @ 2009-09-16 15:19 UTC (permalink / raw)
To: qemu-devel
I've run into some of these in arm/tcg-target.c
Can someone explain why they are there and how I can get past them?
Thanks
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-16 15:19 [Qemu-devel] tcg_abort() Gary Thomas
@ 2009-09-16 15:31 ` Laurent Desnogues
2009-09-16 15:46 ` Gary Thomas
0 siblings, 1 reply; 9+ messages in thread
From: Laurent Desnogues @ 2009-09-16 15:31 UTC (permalink / raw)
To: Gary Thomas; +Cc: qemu-devel
On Wed, Sep 16, 2009 at 5:19 PM, Gary Thomas <gary@mlbassoc.com> wrote:
> I've run into some of these in arm/tcg-target.c
>
> Can someone explain why they are there and how I can get past them?
Not if you don't provide more information such as:
- QEMU version
- abort line
- how to reproduce the issue
Laurent
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-16 15:31 ` Laurent Desnogues
@ 2009-09-16 15:46 ` Gary Thomas
2009-09-16 16:16 ` Laurent Desnogues
0 siblings, 1 reply; 9+ messages in thread
From: Gary Thomas @ 2009-09-16 15:46 UTC (permalink / raw)
To: Laurent Desnogues; +Cc: qemu-devel
On 09/16/2009 09:31 AM, Laurent Desnogues wrote:
> On Wed, Sep 16, 2009 at 5:19 PM, Gary Thomas<gary@mlbassoc.com> wrote:
>> I've run into some of these in arm/tcg-target.c
>>
>> Can someone explain why they are there and how I can get past them?
>
> Not if you don't provide more information such as:
>
> - QEMU version
Today's version from GIT
> - abort line
/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?
Thanks
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-16 15:46 ` Gary Thomas
@ 2009-09-16 16:16 ` Laurent Desnogues
2009-09-16 18:22 ` Gary Thomas
2009-09-25 22:48 ` Laurent Desnogues
0 siblings, 2 replies; 9+ messages in thread
From: Laurent Desnogues @ 2009-09-16 16:16 UTC (permalink / raw)
To: Gary Thomas; +Cc: qemu-devel
On Wed, Sep 16, 2009 at 5:46 PM, Gary Thomas <gary@mlbassoc.com> 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 :-)
Laurent
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-16 16:16 ` Laurent Desnogues
@ 2009-09-16 18:22 ` Gary Thomas
2009-09-16 18:24 ` Laurent Desnogues
2009-09-25 22:48 ` Laurent Desnogues
1 sibling, 1 reply; 9+ messages in thread
From: Gary Thomas @ 2009-09-16 18:22 UTC (permalink / raw)
To: Laurent Desnogues; +Cc: qemu-devel
On 09/16/2009 10:16 AM, Laurent Desnogues wrote:
> On Wed, Sep 16, 2009 at 5:46 PM, Gary Thomas<gary@mlbassoc.com> 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 :-)
This does seem to work - at least I get farther along in the code.
Thanks
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-16 18:22 ` Gary Thomas
@ 2009-09-16 18:24 ` Laurent Desnogues
0 siblings, 0 replies; 9+ messages in thread
From: Laurent Desnogues @ 2009-09-16 18:24 UTC (permalink / raw)
To: Gary Thomas; +Cc: qemu-devel
On Wed, Sep 16, 2009 at 8:22 PM, Gary Thomas <gary@mlbassoc.com> wrote:
[...]
>> 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 :-)
>
> This does seem to work - at least I get farther along in the code.
Nice! Thanks for testing it.
Laurent
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-16 16:16 ` Laurent Desnogues
2009-09-16 18:22 ` Gary Thomas
@ 2009-09-25 22:48 ` Laurent Desnogues
2009-09-28 11:15 ` Paul Brook
1 sibling, 1 reply; 9+ messages in thread
From: Laurent Desnogues @ 2009-09-25 22:48 UTC (permalink / raw)
To: qemu-devel
On Wed, Sep 16, 2009 at 6:16 PM, Laurent Desnogues
<laurent.desnogues@gmail.com> wrote:
> On Wed, Sep 16, 2009 at 5:46 PM, Gary Thomas <gary@mlbassoc.com> 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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-25 22:48 ` Laurent Desnogues
@ 2009-09-28 11:15 ` Paul Brook
2009-09-28 11:24 ` Laurent Desnogues
0 siblings, 1 reply; 9+ messages in thread
From: Paul Brook @ 2009-09-28 11:15 UTC (permalink / raw)
To: qemu-devel; +Cc: Laurent Desnogues
> > Could please try to replace the tcg_abort() on line 773 with these
> > two lines?
>
> 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 */
You can not assume blx is available.
Paul
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] tcg_abort()
2009-09-28 11:15 ` Paul Brook
@ 2009-09-28 11:24 ` Laurent Desnogues
0 siblings, 0 replies; 9+ messages in thread
From: Laurent Desnogues @ 2009-09-28 11:24 UTC (permalink / raw)
To: Paul Brook; +Cc: qemu-devel
On Mon, Sep 28, 2009 at 1:15 PM, Paul Brook <paul@codesourcery.com> wrote:
>> > Could please try to replace the tcg_abort() on line 773 with these
>> > two lines?
>>
>> 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 */
>
> You can not assume blx is available.
Which is why this wasn't proposed as a patch :-)
Laurent
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-09-28 11:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-16 15:19 [Qemu-devel] tcg_abort() Gary Thomas
2009-09-16 15:31 ` Laurent Desnogues
2009-09-16 15:46 ` Gary Thomas
2009-09-16 16:16 ` Laurent Desnogues
2009-09-16 18:22 ` Gary Thomas
2009-09-16 18:24 ` Laurent Desnogues
2009-09-25 22:48 ` Laurent Desnogues
2009-09-28 11:15 ` Paul Brook
2009-09-28 11:24 ` Laurent Desnogues
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.