From: Vince Weaver <vince@csl.cornell.edu>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] linux-user exception handling
Date: Mon, 25 Aug 2008 16:26:06 -0400 (EDT) [thread overview]
Message-ID: <20080825162105.T45325@stanley.csl.cornell.edu> (raw)
Hello
so I'm tracking down a problem on sparc32plus-linux-user.
SPARC has register windows, and when it tried to save another register
context, but all available ones are full, it causes a TT_SPILL exception.
In theory the OS would handle this and move some of the registers to RAM
somewhere.
In any case, this doesn't seem to be working properly. I've traced
through the code, and I find in cpu-exec.c where userspace exceptions are
handled.
The code involved in listed below.
Am I correct in reading that user-mode exceptions are only implemented for
x86? If so that makes me sad, because it means that pretty much any SPARC
program that has more than 8 nested function calls won't work until a lot
more code is implemented.
Vince
} else if (env->user_mode_only) {
/* if user mode only, we simulate a fake exception
which will be handled outside the cpu execution
loop */
#if defined(TARGET_I386)
do_interrupt_user(env->exception_index,
env->exception_is_int,
env->error_code,
env->exception_next_eip);
/* successfully delivered */
env->old_exception = -1;
#endif
ret = env->exception_index;
break;
next reply other threads:[~2008-08-25 20:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-25 20:26 Vince Weaver [this message]
2008-08-25 20:34 ` [Qemu-devel] linux-user exception handling Blue Swirl
2008-08-27 16:58 ` Vince Weaver
2008-08-27 17:14 ` Blue Swirl
2008-08-27 17:30 ` Vince Weaver
2008-08-27 18:19 ` Blue Swirl
2008-08-27 19:02 ` Vince Weaver
2008-08-27 19:26 ` 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=20080825162105.T45325@stanley.csl.cornell.edu \
--to=vince@csl.cornell.edu \
--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).