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:
Joel Sherrill
2001-11-28 18:28:24 +00:00
parent f5e7b4c36a
commit 89ee0b6936
8 changed files with 54 additions and 70 deletions

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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