diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 67caebae32..c59da97b73 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,8 @@ +2007-11-07 Till Straumann + + * score/include/rtems/score/isr.h: added RTEMS_COMPILER_MEMORY_BARRIER + around _CPU_ISR_Set_level(). + 2007-11-07 Joel Sherrill * score/inline/rtems/score/object.inl: During test coverage analysis, diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h index 1359e91fd8..362ef05489 100644 --- a/cpukit/score/include/rtems/score/isr.h +++ b/cpukit/score/include/rtems/score/isr.h @@ -159,7 +159,12 @@ void _ISR_Handler_initialization ( void ); * routine exits. */ #define _ISR_Set_level( _new_level ) \ - _CPU_ISR_Set_level( _new_level ) + do { \ + RTEMS_COMPILER_MEMORY_BARRIER(); \ + _CPU_ISR_Set_level( _new_level ); \ + RTEMS_COMPILER_MEMORY_BARRIER(); \ + } while (0) + /** * This routine is the interrupt dispatcher. ALL interrupts