summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-28 18:28:24 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-28 18:28:24 +0000
commit89ee0b6936efb5371ec54c2bb37a0dbd492d0a98 (patch)
treefa9676c30496a4b846101bf8175b0e4ccfae2473 /cpukit
parent2001-11-28 Joel Sherrill <joel@OARcorp.com>, (diff)
downloadrtems-89ee0b6936efb5371ec54c2bb37a0dbd492d0a98.tar.bz2
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.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/score/ChangeLog9
-rw-r--r--cpukit/score/include/rtems/score/isr.h18
-rw-r--r--cpukit/score/inline/rtems/score/isr.inl26
-rw-r--r--cpukit/score/macros/rtems/score/isr.inl9
4 files changed, 27 insertions, 35 deletions
diff --git a/cpukit/score/ChangeLog b/cpukit/score/ChangeLog
index 8e74f602c0..890e7f7c63 100644
--- a/cpukit/score/ChangeLog
+++ b/cpukit/score/ChangeLog
@@ -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,
diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h
index 84052339f1..276e9dada5 100644
--- a/cpukit/score/include/rtems/score/isr.h
+++ b/cpukit/score/include/rtems/score/isr.h
@@ -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
diff --git a/cpukit/score/inline/rtems/score/isr.inl b/cpukit/score/inline/rtems/score/isr.inl
index 5b6e3918b9..61ff05952a 100644
--- a/cpukit/score/inline/rtems/score/isr.inl
+++ b/cpukit/score/inline/rtems/score/isr.inl
@@ -18,32 +18,6 @@
/*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
*
* DESCRIPTION:
diff --git a/cpukit/score/macros/rtems/score/isr.inl b/cpukit/score/macros/rtems/score/isr.inl
index b4c5eea4a1..b75d6b002d 100644
--- a/cpukit/score/macros/rtems/score/isr.inl
+++ b/cpukit/score/macros/rtems/score/isr.inl
@@ -18,15 +18,6 @@
/*PAGE
*
- * _ISR_Is_in_progress
- *
- */
-
-#define _ISR_Is_in_progress() \
- (_ISR_Nest_level != 0)
-
-/*PAGE
- *
* _ISR_Is_vector_number_valid
*
*/