A few BSPs have buggy ISR processing.
Sergei Organov
osv at javad.ru
Tue Feb 11 12:09:39 UTC 2003
While looking at ISR processing code in different BSPs I've noticed that a few
BSPs have bugs in the code. All the observations are made in the latest
20030128 snapshot. The BSPs affected are:
sh/sh7032
sh/sh7045
sh/sh7750
c4x
a29k
The first 4 have the same bug:
- if(( _Context_Switch_necessary) || (! _ISR_Signals_to_thread_executing))
+ if(( _Context_Switch_necessary) || (_ISR_Signals_to_thread_executing))
Here are the relevant lines:
rtems-ss-20030128/c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c:305: if(( _Context_Switch_necessary) || (! _ISR_Signals_to_thread_executing))
rtems-ss-20030128/c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c:308: if(( _Context_Switch_necessary) || (! _ISR_Signals_to_thread_executing))
rtems-ss-20030128/c/src/lib/libcpu/sh/sh7750/score/cpu_asm.c:305: if(( _Context_Switch_necessary) || (! _ISR_Signals_to_thread_executing))
rtems-ss-20030128/cpukit/score/cpu/c4x/irq.c:77: if (_Context_Switch_necessary || !_ISR_Signals_to_thread_executing ) {
The a29k fails to reset _ISR_Signals_to_thread_executing to FALSE here:
rtems-ss-20030128/cpukit/score/cpu/a29k/cpu.c:274: (_Context_Switch_necessary || _ISR_Signals_to_thread_executing ))
--
Sergei.
More information about the users
mailing list