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