Changeset 32eba74 in rtems
- Timestamp:
- Aug 1, 2011, 7:21:47 PM (9 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 858e013f
- Parents:
- e3d64d4
- Location:
- cpukit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/ChangeLog
re3d64d4 r32eba74 1 2011-08-01 Jennifer Averett <Jennifer.Averett@OARcorp.com> 2 3 * score/include/rtems/score/isr.h: Cleaned up comments. 4 1 5 2011-08-01 Jennifer Averett <Jennifer.Averett@OARcorp.com> 2 6 -
cpukit/score/include/rtems/score/isr.h
re3d64d4 r32eba74 91 91 92 92 /** 93 * @brief Disable Interrupts 94 * 93 95 * This routine disables all interrupts so that a critical section 94 * of code can be executing without being interrupted. Upon return, 95 * the argument _level will contain the previous interrupt mask level. 96 * of code can be executing without being interrupted. 97 * 98 * @return The argument @a _level will contain the previous interrupt 99 * mask level. 96 100 */ 97 101 #define _ISR_Disable( _level ) \ … … 102 106 103 107 /** 108 * @brief Enable Interrupts 109 * 104 110 * This routine enables interrupts to the previous interrupt mask 105 111 * LEVEL. It is used at the end of a critical section of code to 106 112 * enable interrupts so they can be processed again. 113 * 114 * @param[in] level contains the interrupt level mask level 115 * previously returned by @ref _ISR_Disable_on_core. 107 116 */ 108 117 #define _ISR_Enable( _level ) \ … … 113 122 114 123 /** 124 * @brief Temporarily Enable Interrupts 125 * 115 126 * This routine temporarily enables interrupts to the previous 116 127 * interrupt mask level and then disables all interrupts so that 117 128 * the caller can continue into the second part of a critical 118 * section. This routine is used to temporarily enable interrupts 129 * section. 130 * 131 * This routine is used to temporarily enable interrupts 119 132 * during a long critical section. It is used in long sections of 120 133 * critical code when a point is reached at which interrupts can … … 123 136 * must be selected with care to ensure that the critical section 124 137 * properly protects itself. 138 * 139 * @param[in] level contains the interrupt level mask level 140 * previously returned by @ref _ISR_Disable_on_core. 125 141 */ 126 142 #define _ISR_Flash( _level ) \ … … 132 148 133 149 /** 150 * @brief Install Interrupt Handler Vector 151 * 134 152 * This routine installs new_handler as the interrupt service routine 135 153 * for the specified vector. The previous interrupt service routine is 136 154 * returned as old_handler. 155 * 156 * @param[in] _vector is the vector number 157 * @param[in] _new_handler is ISR handler to install 158 * @param[in] _old_handler is a pointer to a variable which will be set 159 * to the old handler 160 * 161 * @return *_old_handler will be set to the old ISR handler 137 162 */ 138 163 #define _ISR_Install_vector( _vector, _new_handler, _old_handler ) \ … … 140 165 141 166 /** 167 * @brief Return Current Interrupt Level 168 * 142 169 * This routine returns the current interrupt level. 170 * 171 * @return This method returns the current level. 143 172 */ 144 173 #define _ISR_Get_level() \ … … 146 175 147 176 /** 177 * @brief Set Current Interrupt Level 178 * 148 179 * This routine sets the current interrupt level to that specified 149 * by new_level. The new interrupt level is effective when the180 * by @a _new_level. The new interrupt level is effective when the 150 181 * routine exits. 182 * 183 * @param[in] _new_level contains the desired interrupt level. 151 184 */ 152 185 #define _ISR_Set_level( _new_level ) \ … … 155 188 _CPU_ISR_Set_level( _new_level ); \ 156 189 RTEMS_COMPILER_MEMORY_BARRIER(); \ 157 } while (0) 158 159 160 /** 190 } while (0) 191 192 /** 193 * @brief ISR Handler or Dispatcher 194 * 161 195 * This routine is the interrupt dispatcher. ALL interrupts 162 196 * are vectored to this routine so that minimal context can be saved … … 173 207 174 208 /** 209 * @brief ISR Wrapper for Thread Dispatcher 210 * 175 211 * This routine provides a wrapper so that the routine 176 212 * @ref _Thread_Dispatch can be invoked when a reschedule is necessary … … 181 217 * of registers which are not preserved across routine invocations. 182 218 * 183 * @note Implemented in assembly language.219 * @note Typically mplemented in assembly language. 184 220 */ 185 221 void _ISR_Dispatch( void ); 186 222 187 223 /** 224 * @brief Is an ISR in Progress 225 * 188 226 * This function returns true if the processor is currently servicing 189 227 * and interrupt and false otherwise. A return value of true indicates 190 * that the caller is an interrupt service routine, NOT a thread. The 228 * that the caller is an interrupt service routine, NOT a thread. 229 * 230 * @return This methods returns true when called from an ISR. 191 231 */ 192 232 #if (CPU_PROVIDES_ISR_IS_IN_PROGRESS == TRUE) 193 bool _ISR_Is_in_progress( void );233 bool _ISR_Is_in_progress( void ); 194 234 #else 195 #define _ISR_Is_in_progress() \196 (_ISR_Nest_level != 0)235 #define _ISR_Is_in_progress() \ 236 (_ISR_Nest_level != 0) 197 237 #endif 198 238
Note: See TracChangeset
for help on using the changeset viewer.