Re: [hatari-devel] 68030 MMU emulation: TEMPLMON, ROMSPEED

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Am Mon, 5 Nov 2012 20:45:53 +0100
schrieb Andreas Grabher <andreas.grabher@xxxxxxxxxxxx>:

> 
> Am 05.11.2012 um 19:07 schrieb Uwe Seimet:
> 
> > MMU: page fault (logical addr = 00DBCEEA)
> > Longjumping /home/us/hatari/hatari/src/cpu/cpummu030.c in 1490
> > Gotcha! 2 /home/us/hatari/hatari/src/cpu/newcpu.c in 3354
> > Exception_mmu 00e1370a 00e13708 00dbceea
> > MMU: page fault (logical addr = 00DB8000)
> > Longjumping /home/us/hatari/hatari/src/cpu/cpummu030.c in 1490
> > Gotcha! 2 /home/us/hatari/hatari/src/cpu/cpummu030.c in 1843
> > Gotcha! 2 /home/us/hatari/hatari/src/cpu/cpummu030.c in 1843
> > Gotcha! 2 /home/us/hatari/hatari/src/cpu/newcpu.c in 3354
> > Exception_mmu 00e1370a 00e13708 00db7ffe
> > try stack underflow...
> > 
> 
> It seems to me, that we have a problem with THROW_AGAIN. It is called
> from cpummu030.c, line 1850 inside mmu030_put_long_unaligned. I think
> this happens: mmu030_put_word generated a page fault, it is thrown
> and catched in line 1843. It continues until reaching THROW_AGAIN in
> line 1850 and then jumps back to line 1843. The second call of
> THROW_AGAIN seems to work an jumps to newcpu.c. Because we did throw
> 3 times with only two TRYs this will cause an underflow in the end
> when reaching ENDTRY. Something must be wrong with THROW_AGAIN. I
> hope to be able to find this problem. I'll take a look at it as soon
> as possible.

I think I've found the problem: In Hatari, we've missed this bug fix
from Previous:

http://previous.svn.sourceforge.net/viewvc/previous/trunk/src/cpu/cpummu.c?r1=101&r2=102

I've fixed now the code (in a slightly different way to avoid bad array
accesses when s_try_stack_size is 0), so that the try-stack underflow
problem should be gone.

 Cheers,
  Thomas



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/