Subject: Re: Repeatable crashes
To: None <port-sh3@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-sh3
Date: 03/08/2005 23:16:59
In article <20050308021025.GH14713@snark.ptc.spbu.ru>
uwe@ptc.spbu.ru wrote:

> > Does your kernel have a recent MMU fix?
> > http://mail-index.netbsd.org/source-changes/2004/12/30/0019.html
> 
> The problem seems to go away after I *reverted* those changes!  We
> were taking an exception with exceptions blocked, which caused the
> reset.  Any suggestions on debugging this further?

Umm.

It obviously shows that an exception (maybe TLB miss) happens
during _cpu_exception_suspend(), which causes reboot immediately.

I don't know if such TLB miss allowed during updating TLB
in sh3_tlb_*() functions, but anyway it can not be blocked
and maybe the problem on dreamcast was caused by interrupt
during sh4_tlb_*() functions, which can be blocked.

How about to use _cpu_intr_suspend()/_cpu_intr_resume(s)
instead of _cpu_exception_*()?
(or it's better to remove them from mmu_sh3.c?)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp