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>
|
2001-11-20 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
||||||
|
|||||||
@@ -220,6 +220,24 @@ void _ISR_Handler( void );
|
|||||||
|
|
||||||
void _ISR_Dispatch( 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>
|
#include <rtems/score/isr.inl>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -16,32 +16,6 @@
|
|||||||
#ifndef __ISR_inl
|
#ifndef __ISR_inl
|
||||||
#define __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
|
/*PAGE
|
||||||
*
|
*
|
||||||
* _ISR_Is_vector_number_valid
|
* _ISR_Is_vector_number_valid
|
||||||
|
|||||||
@@ -16,15 +16,6 @@
|
|||||||
#ifndef __ISR_inl
|
#ifndef __ISR_inl
|
||||||
#define __ISR_inl
|
#define __ISR_inl
|
||||||
|
|
||||||
/*PAGE
|
|
||||||
*
|
|
||||||
* _ISR_Is_in_progress
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define _ISR_Is_in_progress() \
|
|
||||||
(_ISR_Nest_level != 0)
|
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
*
|
*
|
||||||
* _ISR_Is_vector_number_valid
|
* _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>
|
2001-11-20 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
|
||||||
|
|||||||
@@ -220,6 +220,24 @@ void _ISR_Handler( void );
|
|||||||
|
|
||||||
void _ISR_Dispatch( 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>
|
#include <rtems/score/isr.inl>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -16,32 +16,6 @@
|
|||||||
#ifndef __ISR_inl
|
#ifndef __ISR_inl
|
||||||
#define __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
|
/*PAGE
|
||||||
*
|
*
|
||||||
* _ISR_Is_vector_number_valid
|
* _ISR_Is_vector_number_valid
|
||||||
|
|||||||
@@ -16,15 +16,6 @@
|
|||||||
#ifndef __ISR_inl
|
#ifndef __ISR_inl
|
||||||
#define __ISR_inl
|
#define __ISR_inl
|
||||||
|
|
||||||
/*PAGE
|
|
||||||
*
|
|
||||||
* _ISR_Is_in_progress
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define _ISR_Is_in_progress() \
|
|
||||||
(_ISR_Nest_level != 0)
|
|
||||||
|
|
||||||
/*PAGE
|
/*PAGE
|
||||||
*
|
*
|
||||||
* _ISR_Is_vector_number_valid
|
* _ISR_Is_vector_number_valid
|
||||||
|
|||||||
Reference in New Issue
Block a user