ARM interrupt handling

Jay Monkman jtm at smoothsmoothie.com
Wed Apr 24 18:34:27 UTC 2002


I'm working on an arm 940T based BSP, and an having a problem
with interrupts. It looks like the processor state changes to
IRQ state when an interrupt occurs, but then changes back to
supervisor state. That seems to be causing the stack pointer
to point to the wrong address, since its using the IRQ stack
pointer. Does anybody have any idea what I'm doing wrong that
is preventing the CPU from going back to supervisor state?

Also, in c/src/exec/score/cpu/arm/rtems/score/cpu.h, 
CPU_HAS_HARDWARE_INTERRUPT_STACK is set to FALSE. Is that
correct? Since the ARM has multiple stack pointer registers 
(R13), doesn't that count as a hardware interrupt stack?

Thanks.


-- 
Jay Monkman	    The truth knocks on the door and you say "Go away, I'm 
monkman at jump.net    looking for the truth," and so it goes away. Puzzling.
		     - from _Zen_and_the_Art_of_Motorcycle_Maintenance_



More information about the users mailing list