Interrupt Problems (again).

Nick Thomas nick.thomas at pixsan.com
Mon Feb 15 11:19:00 UTC 2010


> 
> I haven't been using RTEMS that long, so I don't have much advice for
> you, but I did have one thought to share.
> 
> Perhaps something strange is going on with a CPU dependent
> implementation of _ISR_Is_in_progress. Try this:
>  > cd ${RTEMS}/cpukit/score/cpu/powerpc/rtems
>  > grep -r CPU_PROVIDES_ISR_IS_IN_PROGRESS *
> 
> If you get back something that says TRUE, that gives you something else
> to look for. score relies on _ISR_Nest_level to determine whether or
> not an interrupt is happening, but I suppose a mismatch between
> _ISR_Nest_level and the result of rtems_interrupt_is_in_progress()
> could be caused by a port that provides an alternate implementation of
> _ISR_Is_in_progress.

Hi, thanks for the reply.
I found two files where CPU_PROVIDES_ISR_IS_IN_PROGRESS is defined:
/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h
/cpukit/score/cpu/powerpc/rtems/old_exceptions/cpu.h

The new-exceptions version defines it as FALSE, and the old-exceptions
version defines it as TRUE !!!!

So, not very conclusive as I am not sure which one is used in my RTEMS
build.


Regards

Nick


> 
> AFAIK there aren't any ports that actually use this option in the
> current release...
> 
> -Gedare




More information about the users mailing list