Changeset 42d6ed8 in rtems


Ignore:
Timestamp:
Nov 9, 2010, 9:14:10 AM (10 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, 5, master
Children:
91234a4
Parents:
2e5a893
Message:

2010-11-09 Sebastian Huber <sebastian.huber@…>

  • score/src/watchdoginsert.c: Removed superfluous cast and use appropriate API function. This special case handling is obsolete since 2006 with the introduction of compiler memory barriers in the interrupt routines. Removed obsolete comments.
Location:
cpukit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r2e5a893 r42d6ed8  
     12010-11-09      Sebastian Huber <sebastian.huber@embedded-brains.de>
     2
     3        * score/src/watchdoginsert.c: Removed superfluous cast and use
     4        appropriate API function.  This special case handling is obsolete
     5        since 2006 with the introduction of compiler memory barriers in the
     6        interrupt routines.  Removed obsolete comments.
     7
    182010-11-04      Joel Sherrill <joel.sherrill@oarcorp.com>
    29
  • cpukit/score/src/watchdoginsert.c

    r2e5a893 r42d6ed8  
    6060  delta_interval = the_watchdog->initial;
    6161
    62   /*
    63    * We CANT use _Watchdog_First() here, because a TICK interrupt
    64    * could modify the chain during the _ISR_Flash() below. Hence,
    65    * the header is pointing to volatile data. The _Watchdog_First()
    66    * INLINE routine (but not the macro - note the subtle difference)
    67    * casts away the 'volatile'...
    68    *
    69    * Also, this is only necessary because we call no other routine
    70    * from this piece of code, hence the compiler thinks it's safe to
    71    * cache *header!!
    72    *
    73    *  Till Straumann, 7/2003 (gcc-3.2.2 -O4 on powerpc)
    74    *
    75    */
    76   for ( after = (Watchdog_Control *) ((volatile Chain_Control *)header)->first ;
     62  for ( after = _Watchdog_First( header ) ;
    7763        ;
    7864        after = _Watchdog_Next( after ) ) {
     
    8773
    8874     delta_interval -= after->delta_interval;
    89 
    90      /*
    91       *  If you experience problems comment out the _ISR_Flash line.
    92       *  3.2.0 was the first release with this critical section redesigned.
    93       *  Under certain circumstances, the PREVIOUS critical section algorithm
    94       *  used around this flash point allowed interrupts to execute
    95       *  which violated the design assumptions.  The critical section
    96       *  mechanism used here WAS redesigned to address this.
    97       */
    9875
    9976     _ISR_Flash( level );
Note: See TracChangeset for help on using the changeset viewer.