Changeset 38ee758 in rtems


Ignore:
Timestamp:
Feb 17, 2014, 8:58:43 AM (5 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
8a6de83
Parents:
514705d
git-author:
Sebastian Huber <sebastian.huber@…> (02/17/14 08:58:43)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/19/14 08:59:39)
Message:

score: Disable ISR in _Internal_error_Occurred()

Disable interrupts as the first step in _Internal_error_Occurred() to
get a defined execution context for the fatal extensions.

Make _ISR_Disable_without_giant() available for non-SMP configurations.

Location:
cpukit/score
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/include/rtems/score/interr.h

    r514705d r38ee758  
    177177 * reached (for example after exit()).
    178178 *
    179  * The first action of this function is to call the fatal handler of the user
     179 * The first action is to disable interrupts.
     180 *
     181 * The second action of this function is to call the fatal handler of the user
    180182 * extensions.  For the initial extensions the following conditions are
    181183 * required
  • cpukit/score/include/rtems/score/isrlevel.h

    r514705d r38ee758  
    137137  } while (0)
    138138
    139 #if defined( RTEMS_SMP )
    140 
    141139#define _ISR_Disable_without_giant( _level ) \
    142140  do { \
     
    144142    RTEMS_COMPILER_MEMORY_BARRIER(); \
    145143  } while (0)
     144
     145#if defined( RTEMS_SMP )
    146146
    147147#define _ISR_Enable_without_giant( _level ) \
  • cpukit/score/src/interr.c

    r514705d r38ee758  
    2020
    2121#include <rtems/score/interr.h>
     22#include <rtems/score/isrlevel.h>
    2223#include <rtems/score/sysstate.h>
    2324#include <rtems/score/userextimpl.h>
     
    3334)
    3435{
     36  ISR_Level level;
     37
     38  _ISR_Disable_without_giant( level );
     39  (void) level;
     40
    3541  _User_extensions_Fatal( the_source, is_internal, the_error );
    3642
Note: See TracChangeset for help on using the changeset viewer.