All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.