[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] linux-user exception handling
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] linux-user exception handling |
Date: |
Wed, 27 Aug 2008 20:14:07 +0300 |
On 8/27/08, Vince Weaver <address@hidden> wrote:
> On Mon, 25 Aug 2008, Blue Swirl wrote:
>
> >
> > No, register window handling and other exceptions are handled in
> > linux-user/main.c.
> >
>
> You are right. It can be frustrating tracing through the code trying to
> find out what is being called when.
>
> In any case, I think I've found a bug with register-window handling.
> When using sparc32plus, the "wim" value isn't being updated on a
> save_window() call. Thus when later a "ta 3" (flush register windows) call
> happens, the wrong windows get written out to memory.
>
> I've attached some sample code that shows this problem.
>
> The patch below fixes this for me, but it should be looked over carefully
> because the register window code in qemu is deep magic.
>
> This fix allows the spec2k gcc.scilab and fma3d benchmarks to progress
> further.
How is that possible, because V9 class CPUs do not have "wim"?