Subject: Re: MMU problems (Was: JavaStation w/ OBP3 - some progress)
To: None <port-sparc@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: port-sparc
Date: 04/10/2001 10:41:37
On Fri, Apr 06, 2001 at 05:48:41 +0400, Valeriy E. Ushakov wrote:

> The kernel crashes after jump to startmap_done (it lands in the
> middle of the Forth code as dump seems to suggest).  Guess MMU needs
> different approach.
> 
> Sometimes it triggers watchdog reset, sometimes it prints
> "CP Disabled" and falls into OBP prompt.  Below is a sample trace.
> Any ideas?
> 
> 
> ! right before we do the remap
> 
> ok %pc dis      
> 7184     sta         %l4, [%o1]20
> 7188     sethi       f0007000, %g1	! startmap_done:
> 718c     or          %g1, 198, %g1
> 7190     jmp         %g1, %g0, %g0
> 7194     sethi       0, %g0
> 
> ok f0007000 map?
> Virtual  : f000.7000 
> Context  : @ 0.03ff.f000  003f.eec1 # 0 
> Region   : @ 0.03fe.efc0  003f.eeb1 
> Segment  : @ 0.03fe.eb00  003f.eea1 
> Page     : @ 0.03fe.ea1c  003f.c1fe Cached Modified Referenced Access : rwx---
> Physical : 0.03fc.1000  
> 
> ok step					! do the remap
> 7188     sethi       f0007000, %g1
> 
> ok f0007000 map?
> Virtual  : f000.7000 
> Context  : @ 0.03ff.f000  003f.eec1 # 0 
> Region   : @ 0.03fe.efc0  003f.ee81 
> Segment  : @ 0.03fe.e800  003f.ee71 
> Page     : @ 0.03fe.e71c  0000.07fe Cached Modified Referenced Access : rwx---
> Physical : 0.0000.7000  
> 
> ok 7000 map?
> Virtual  : 0000.7000 
> Context  : @ 0.03ff.f000  003f.eec1 # 0 
> Region   : @ 0.03fe.ec00  003f.ee81 
> Segment  : @ 0.03fe.e800  003f.ee71 
> Page     : @ 0.03fe.e71c  0000.07fe Cached Modified Referenced Access : rwx---
> Physical : 0.0000.7000  
> 
> ok step
> 
> Watchdog Reset
> 
> %PSR 0400.1fc4
> %TBR f000.0020
> %PC  f000.0020
> %nPC f000.0024
> 
> [... reboot ...]
> [... kernel is loaded and then...]
> CP Disabled
> ok %pc
> ok .s
> f0007198				! the 1f local label in startmap_done
> ok %pc .
> 
> Watchdog Reset
> 
> %PSR 0400.1fc4
> %TBR f000.0020
> %PC  f000.0020
> %nPC f000.0024

ping.

I might add that tables are ok.  That's what map? shows and I verified
it by peeking at physical memory that holds MMU tables.  I guess the
problem is with cache or something.  I understand that JS uses Swift
MMU.  Where from here?  Flushing cache?  Disabling branch folding?
I'm really not very familiar with this stuff, so any clues are much
appreciated.

This is odd, as JS1/OBP2 booted fine and I think it has the same
hardware.  I've lent mine OBP2 box to a friend, I'll try to get it
back and check what happens on that one.

Thanks.

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/            |       Ist zu Grunde gehen