[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
A few BSPs have buggy ISR processing.
- Date: 11 Feb 2003 15:09:39 +0300
- From: osv at javad.ru (Sergei Organov)
- Subject: A few BSPs have buggy ISR processing.
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.