* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).