forked from Imagelibrary/rtems
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
This was tracked as PR91. * include/rtems/score/isr.h, inline/rtems/score/isr.inl, macros/rtems/score/isr.inl: Modified to allow any port to provide its own implementation of the macro _ISR_Is_in_progress. If the port overrides this macro, it must provide a non-inlined function implementation.
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
||||
|
||||
This was tracked as PR91.
|
||||
* include/rtems/score/isr.h, inline/rtems/score/isr.inl,
|
||||
macros/rtems/score/isr.inl: Modified to allow any port to provide
|
||||
its own implementation of the macro _ISR_Is_in_progress. If the
|
||||
port overrides this macro, it must provide a non-inlined function
|
||||
implementation.
|
||||
|
||||
2001-11-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
||||
|
||||
@@ -220,6 +220,24 @@ void _ISR_Handler( void );
|
||||
|
||||
void _ISR_Dispatch( void );
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_in_progress
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This function returns TRUE if the processor is currently servicing
|
||||
* and interrupt and FALSE otherwise. A return value of TRUE indicates
|
||||
* that the caller is an interrupt service routine, NOT a thread. The
|
||||
*/
|
||||
|
||||
#if (CPU_PROVIDES_ISR_IS_IN_PROGRESS == TRUE)
|
||||
boolean _ISR_Is_in_progress( void );
|
||||
#else
|
||||
#define _ISR_Is_in_progress() \
|
||||
(_ISR_Nest_level != 0)
|
||||
#endif
|
||||
|
||||
#include <rtems/score/isr.inl>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -16,32 +16,6 @@
|
||||
#ifndef __ISR_inl
|
||||
#define __ISR_inl
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_in_progress
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This function returns TRUE if the processor is currently servicing
|
||||
* and interrupt and FALSE otherwise. A return value of TRUE indicates
|
||||
* that the caller is an interrupt service routine, NOT a thread. The
|
||||
* directives available to an interrupt service routine are restricted.
|
||||
*/
|
||||
|
||||
#if defined(powerpc)
|
||||
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS
|
||||
#endif
|
||||
|
||||
#ifndef CPU_PROVIDES_ISR_IS_IN_PROGRESS
|
||||
|
||||
RTEMS_INLINE_ROUTINE boolean _ISR_Is_in_progress( void )
|
||||
{
|
||||
return (_ISR_Nest_level != 0);
|
||||
}
|
||||
#else
|
||||
#include <rtems/score/c_isr.inl>
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_vector_number_valid
|
||||
|
||||
@@ -16,15 +16,6 @@
|
||||
#ifndef __ISR_inl
|
||||
#define __ISR_inl
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_in_progress
|
||||
*
|
||||
*/
|
||||
|
||||
#define _ISR_Is_in_progress() \
|
||||
(_ISR_Nest_level != 0)
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_vector_number_valid
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
|
||||
|
||||
This was tracked as PR91.
|
||||
* include/rtems/score/isr.h, inline/rtems/score/isr.inl,
|
||||
macros/rtems/score/isr.inl: Modified to allow any port to provide
|
||||
its own implementation of the macro _ISR_Is_in_progress. If the
|
||||
port overrides this macro, it must provide a non-inlined function
|
||||
implementation.
|
||||
|
||||
2001-11-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
||||
|
||||
@@ -220,6 +220,24 @@ void _ISR_Handler( void );
|
||||
|
||||
void _ISR_Dispatch( void );
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_in_progress
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This function returns TRUE if the processor is currently servicing
|
||||
* and interrupt and FALSE otherwise. A return value of TRUE indicates
|
||||
* that the caller is an interrupt service routine, NOT a thread. The
|
||||
*/
|
||||
|
||||
#if (CPU_PROVIDES_ISR_IS_IN_PROGRESS == TRUE)
|
||||
boolean _ISR_Is_in_progress( void );
|
||||
#else
|
||||
#define _ISR_Is_in_progress() \
|
||||
(_ISR_Nest_level != 0)
|
||||
#endif
|
||||
|
||||
#include <rtems/score/isr.inl>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -16,32 +16,6 @@
|
||||
#ifndef __ISR_inl
|
||||
#define __ISR_inl
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_in_progress
|
||||
*
|
||||
* DESCRIPTION:
|
||||
*
|
||||
* This function returns TRUE if the processor is currently servicing
|
||||
* and interrupt and FALSE otherwise. A return value of TRUE indicates
|
||||
* that the caller is an interrupt service routine, NOT a thread. The
|
||||
* directives available to an interrupt service routine are restricted.
|
||||
*/
|
||||
|
||||
#if defined(powerpc)
|
||||
#define CPU_PROVIDES_ISR_IS_IN_PROGRESS
|
||||
#endif
|
||||
|
||||
#ifndef CPU_PROVIDES_ISR_IS_IN_PROGRESS
|
||||
|
||||
RTEMS_INLINE_ROUTINE boolean _ISR_Is_in_progress( void )
|
||||
{
|
||||
return (_ISR_Nest_level != 0);
|
||||
}
|
||||
#else
|
||||
#include <rtems/score/c_isr.inl>
|
||||
#endif
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_vector_number_valid
|
||||
|
||||
@@ -16,15 +16,6 @@
|
||||
#ifndef __ISR_inl
|
||||
#define __ISR_inl
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_in_progress
|
||||
*
|
||||
*/
|
||||
|
||||
#define _ISR_Is_in_progress() \
|
||||
(_ISR_Nest_level != 0)
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
* _ISR_Is_vector_number_valid
|
||||
|
||||
Reference in New Issue
Block a user