Subject: Re: Stability of 2.0_RCx?
To: None <port-dreamcast@netbsd.org>
From: Christian Groessler <chris@groessler.org>
List: port-dreamcast
Date: 12/13/2004 23:20:36
> From: Marcus Comstedt [mailto:marcus@misao.mc.pp.se] On
>
> Usually a "spontaneous reboot" is the result of an exception happening
> when already running in an interrupt or exception handler.  Interrupts
> and exceptions don't "nest" on the SuperH, so while the handler is
> running there is just a mask bit in the status register that defers
> interrupts and causes exceptions to reboot the system.

So the problem (reboot problem) is that an exception or interrupt is
happening while an exception/interrupt handler is running?

I should look into this stuff in my SH4 manual. I only read the cpu
opcodes and the register layout when I read it previously. Not the
difficult things like exceptions and paging etc... :-)

When an external interrupt happens it probably has to be acknowledged
before it can occur again? Otherwise interrupts occuring too fast would
always cause a reboot.

I can see 2 possible reasons for the reboot problem:

	- exception inside an exception handler (e.g. wrong memory access
	  address; page swapped out)

	- enabling hw interrupts again before this above mask bit in the
	  status register is reset

For me the "page swapped out" case seems most difficult to sort out.

regards,
chris