[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] linux-user exception handling
From: |
Vince Weaver |
Subject: |
[Qemu-devel] linux-user exception handling |
Date: |
Mon, 25 Aug 2008 16:26:06 -0400 (EDT) |
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;
- [Qemu-devel] linux-user exception handling,
Vince Weaver <=
- Re: [Qemu-devel] linux-user exception handling, Blue Swirl, 2008/08/25
- Re: [Qemu-devel] linux-user exception handling, Vince Weaver, 2008/08/27
- Re: [Qemu-devel] linux-user exception handling, Blue Swirl, 2008/08/27
- Re: [Qemu-devel] linux-user exception handling, Vince Weaver, 2008/08/27
- Re: [Qemu-devel] linux-user exception handling, Blue Swirl, 2008/08/27
- Re: [Qemu-devel] linux-user exception handling, Vince Weaver, 2008/08/27
- Re: [Qemu-devel] linux-user exception handling, Blue Swirl, 2008/08/27