From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Cc: Blue Swirl <blauwirbel@gmail.com>, Jakub Jermar <jakub@jermar.eu>
Subject: Re: [Qemu-devel] [sparc64] qemu crashes after the "OpenBIOS for Sparc64" banner is printed
Date: Fri, 29 Aug 2008 20:22:46 +0100 [thread overview]
Message-ID: <200808292022.46951.paul@codesourcery.com> (raw)
In-Reply-To: <f43fc5580808291137k2af05ce9i7026876669c00272@mail.gmail.com>
> Surprisingly it was moving of do_interrupt to helper.c that caused the
> bug. Moving it back to op_helper.c allows Sparc64 to boot. I'm still
> trying to understand the real cause of the bug and to find if there is
> some other way of fixing this. This kind of voodoo makes me nervous.
do_interrupt calls change_pstate, which relies on global register state.
Global register state is only valid when called directly from translated code
or other code that includes exec.h.
You should never call code in op_helper.c from outside that file (or
cpu-exec.h). The easy way to enforce this is to put teh declarations for
functions defined in op_helper.h in exec.h, not helper.h or cpu.h. Failure to
follow this rule results in bugs like the one you've encountered.
helper.h is included multiple times, so should really just contain DEF_HELPER
statements.
Paul
next prev parent reply other threads:[~2008-08-29 19:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-28 12:55 [Qemu-devel] [sparc64] qemu crashes after the "OpenBIOS for Sparc64" banner is printed Jakub Jermar
2008-08-28 15:57 ` Blue Swirl
2008-08-28 16:08 ` Jakub Jermar
2008-08-28 16:30 ` Blue Swirl
2008-08-28 16:59 ` Jakub Jermar
2008-08-28 17:16 ` Blue Swirl
2008-08-28 19:05 ` Blue Swirl
2008-08-29 18:37 ` Blue Swirl
2008-08-29 19:22 ` Paul Brook [this message]
2008-08-29 19:54 ` Blue Swirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200808292022.46951.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=blauwirbel@gmail.com \
--cc=jakub@jermar.eu \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).