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