Subject: Re: arm32 kernel crashes
To: None <port-arm32@netbsd.org>
From: David Forbes <dmf20@hermes.cam.ac.uk>
List: port-arm32
Date: 12/15/1998 20:12:41
> The code in irq_entry that causes the original fault is in
> footbridge/footbridge_irq.S, in the section concerned with finding the
> highest IPL.
> 
> 	mov 	r9, #(_SPL_LEVELS - 1)
> 	ldr 	r7, Lspl_masks

	teq	r8, #0
	moveq	r9, #0
	beq	Lfound_highest_ipl

> Lfind_highest_ipl:
> 	ldr	r2, [r7, r9, lsl #2]			* Fault here
> 	tst	r8, r2
> 	subeq	r9, r9, #1
> 	beq	Lfind_highest_ipl

Lfound_highest_ipl


I've been fiddling again, and have done the obvious thing here and
inserted the code above to handle the case r8=0.  I'm not sure what r9
should be set to in this case, but it seems to be a bit happier.  I've had
my serial terminal running for 30 mins now with no sign of disfunction.

I don't know if it'll fix the problems other people have had with
interrupts.  

Cheers,

David.