Re: [hatari-devel] MMU support

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


Hi,

I took a very quick look at this in Hatari by enabling the MMU state console in my program. I had previously only done this on a real Falcon. 

It's now clear why the program crashes on exit - the stored CRP value is zero. This is the value it will try to put back on exit.

I'll need to look more closely to find out exactly how that can happen but the same value was nonzero on the real machine last time I tried this (and the code hasn't been touched since).

If it's interesting, the CRP value is stored like this, on startup:

lea sys_tt0,a0 pmove.l tt0,(a0) lea sys_tt1,a0 pmove.l tt1,(a0) lea sys_tc,a0 pmove.l tc,(a0) lea sys_crp,a0 pmove.d crp,(a0) ; lea sys_srp,a0 ; pmove.d srp,(a0)
...
sys_crp: ds.l 2 ; 64bit

...and this value is not touched again until exit. The other values stored for TT0/1 etc are valid. The only interesting difference is the '.d' 64bit move encoding...

I'll try to find out more later, to make sure it's not a coincidental bug of my own!

D.


On 12 August 2013 18:04, Andreas Grabher <andreas.grabher@xxxxxxxxxxxx> wrote:
It would be interesting to see the values for CRP and SRP. The exception comes from mmu030_decode_rp in mmu030.c
At the moment i can't see a problem in the MMU code after looking at the data sheet of the 68030 (see appended files). I'll check with the actual values.




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