[PATCH 1/3] score: Move context validation declarations

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jul 20 06:53:57 UTC 2018


The context validation support functions _CPU_Context_validate() and
_CPU_Context_volatile_clobber() are used only by one test program
(spcontext01).  Move the function declarations to the CPU port
implementation header file.
---
 cpukit/score/cpu/arm/include/rtems/score/cpu.h     |  4 ---
 cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h |  4 +++
 cpukit/score/cpu/bfin/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/bfin/include/rtems/score/cpuimpl.h   | 12 +++++++++
 .../score/cpu/epiphany/include/rtems/score/cpu.h   | 12 ---------
 .../cpu/epiphany/include/rtems/score/cpuimpl.h     | 12 +++++++++
 cpukit/score/cpu/i386/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/i386/include/rtems/score/cpuimpl.h   | 12 +++++++++
 cpukit/score/cpu/lm32/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/lm32/include/rtems/score/cpuimpl.h   | 12 +++++++++
 cpukit/score/cpu/m32c/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/m32c/include/rtems/score/cpuimpl.h   | 12 +++++++++
 cpukit/score/cpu/m68k/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/m68k/include/rtems/score/cpuimpl.h   | 12 +++++++++
 cpukit/score/cpu/mips/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/mips/include/rtems/score/cpuimpl.h   | 12 +++++++++
 cpukit/score/cpu/moxie/include/rtems/score/cpu.h   | 12 ---------
 .../score/cpu/moxie/include/rtems/score/cpuimpl.h  | 12 +++++++++
 cpukit/score/cpu/nios2/include/rtems/score/cpu.h   |  4 ---
 .../score/cpu/nios2/include/rtems/score/cpuimpl.h  |  4 +++
 cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h  | 31 ----------------------
 .../score/cpu/no_cpu/include/rtems/score/cpuimpl.h | 31 ++++++++++++++++++++++
 cpukit/score/cpu/or1k/include/rtems/score/cpu.h    |  4 ---
 .../score/cpu/or1k/include/rtems/score/cpuimpl.h   |  4 +++
 cpukit/score/cpu/powerpc/include/rtems/score/cpu.h |  4 ---
 .../cpu/powerpc/include/rtems/score/cpuimpl.h      |  4 +++
 cpukit/score/cpu/riscv/include/rtems/score/cpu.h   |  4 ---
 .../score/cpu/riscv/include/rtems/score/cpuimpl.h  |  4 +++
 cpukit/score/cpu/sh/include/rtems/score/cpu.h      | 12 ---------
 cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h  | 12 +++++++++
 cpukit/score/cpu/sparc/include/rtems/score/cpu.h   |  4 ---
 .../score/cpu/sparc/include/rtems/score/cpuimpl.h  |  4 +++
 cpukit/score/cpu/sparc64/include/rtems/score/cpu.h | 12 ---------
 .../cpu/sparc64/include/rtems/score/cpuimpl.h      | 12 +++++++++
 cpukit/score/cpu/v850/include/rtems/score/cpu.h    | 12 ---------
 .../score/cpu/v850/include/rtems/score/cpuimpl.h   | 12 +++++++++
 cpukit/score/cpu/x86_64/include/rtems/score/cpu.h  | 16 -----------
 .../score/cpu/x86_64/include/rtems/score/cpuimpl.h | 12 +++++++++
 testsuites/sptests/spcontext01/init.c              |  4 ++-
 39 files changed, 202 insertions(+), 204 deletions(-)

diff --git a/cpukit/score/cpu/arm/include/rtems/score/cpu.h b/cpukit/score/cpu/arm/include/rtems/score/cpu.h
index 4260e98221..ef2bbf6bfb 100644
--- a/cpukit/score/cpu/arm/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/arm/include/rtems/score/cpu.h
@@ -493,10 +493,6 @@ void _CPU_Context_restore( Context_Control *new_context )
   #define _CPU_Start_multitasking _ARMV7M_Start_multitasking
 #endif
 
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-void _CPU_Context_validate( uintptr_t pattern );
-
 #ifdef RTEMS_SMP
   uint32_t _CPU_SMP_Initialize( void );
 
diff --git a/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h
index 0885c2ef39..edc452530f 100644
--- a/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/arm/include/rtems/score/cpuimpl.h
@@ -102,6 +102,10 @@ static inline struct Per_CPU_Control *_ARM_Get_current_per_CPU_control( void )
 
 #endif /* ARM_MULTILIB_ARCH_V4 */
 
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/bfin/include/rtems/score/cpu.h b/cpukit/score/cpu/bfin/include/rtems/score/cpu.h
index c19a077bd3..bca3c81418 100644
--- a/cpukit/score/cpu/bfin/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/bfin/include/rtems/score/cpu.h
@@ -819,18 +819,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /** @} */
 
 /* FIXME */
diff --git a/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h b/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h
index 9167c09eab..95cc54909b 100644
--- a/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h
@@ -769,18 +769,6 @@ static inline unsigned int CPU_swap_u32(
 #define CPU_swap_u16( value ) \
   (((value&0xff) << 8) | ((value >> 8)&0xff))
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 typedef uint32_t CPU_Counter_ticks;
 
 uint32_t _CPU_Counter_frequency( void );
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpu.h b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
index 3f780dbcab..563a088f2e 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
@@ -674,18 +674,6 @@ void _CPU_Context_restore_fp(
   } while (0)
 #endif
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
 
 typedef uint32_t CPU_Counter_ticks;
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/lm32/include/rtems/score/cpu.h b/cpukit/score/cpu/lm32/include/rtems/score/cpu.h
index d5fd9cea85..01c22b23a9 100644
--- a/cpukit/score/cpu/lm32/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/lm32/include/rtems/score/cpu.h
@@ -854,18 +854,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /** @} */
 
 /* FIXME */
diff --git a/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/m32c/include/rtems/score/cpu.h b/cpukit/score/cpu/m32c/include/rtems/score/cpu.h
index 74794fe6fe..122bc42986 100644
--- a/cpukit/score/cpu/m32c/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/m32c/include/rtems/score/cpu.h
@@ -803,18 +803,6 @@ void _CPU_Context_restore(
   Context_Control *new_context
 ) RTEMS_NO_RETURN;
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /* FIXME */
 typedef CPU_Interrupt_frame CPU_Exception_frame;
 
diff --git a/cpukit/score/cpu/m32c/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/m32c/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/m32c/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/m32c/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/m68k/include/rtems/score/cpu.h b/cpukit/score/cpu/m68k/include/rtems/score/cpu.h
index 9915f36434..8b44347642 100644
--- a/cpukit/score/cpu/m68k/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/m68k/include/rtems/score/cpu.h
@@ -635,18 +635,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /**
  *  This method prints the CPU exception frame.
  *
diff --git a/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/m68k/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/mips/include/rtems/score/cpu.h b/cpukit/score/cpu/mips/include/rtems/score/cpu.h
index df9f2b71b0..bedb79c53a 100644
--- a/cpukit/score/cpu/mips/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/mips/include/rtems/score/cpu.h
@@ -871,18 +871,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
 
 /*  The following routine swaps the endian format of an unsigned int.
diff --git a/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/mips/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h
index 4b6891f495..ea9595da22 100644
--- a/cpukit/score/cpu/moxie/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/moxie/include/rtems/score/cpu.h
@@ -685,18 +685,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /**
  * @brief The set of registers that specifies the complete processor state.
  *
diff --git a/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/moxie/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/nios2/include/rtems/score/cpu.h b/cpukit/score/cpu/nios2/include/rtems/score/cpu.h
index ae1c027def..0a1b957dc4 100644
--- a/cpukit/score/cpu/nios2/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/nios2/include/rtems/score/cpu.h
@@ -324,10 +324,6 @@ void _CPU_Context_restore(
   Context_Control *new_context
 ) RTEMS_NO_RETURN;
 
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-void _CPU_Context_validate( uintptr_t pattern );
-
 void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
 
 static inline uint32_t CPU_swap_u32( uint32_t value )
diff --git a/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h
index 789f2badd9..19afb254fd 100644
--- a/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/nios2/include/rtems/score/cpuimpl.h
@@ -25,6 +25,10 @@
 extern "C" {
 #endif
 
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h
index 2cbad57843..7327dff610 100644
--- a/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/no_cpu/include/rtems/score/cpu.h
@@ -1145,37 +1145,6 @@ void _CPU_Context_restore_fp(
 );
 
 /**
- * @ingroup CPUContext
- *
- * @brief Clobbers all volatile registers with values derived from the pattern
- * parameter.
- *
- * This function is used only in test sptests/spcontext01.
- *
- * @param[in] pattern Pattern used to generate distinct register values.
- *
- * @see _CPU_Context_validate().
- */
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-/**
- * @ingroup CPUContext
- *
- * @brief Initializes and validates the CPU context with values derived from
- * the pattern parameter.
- *
- * This function will not return if the CPU context remains consistent.  In
- * case this function returns the CPU port is broken.
- *
- * This function is used only in test sptests/spcontext01.
- *
- * @param[in] pattern Pattern used to generate distinct register values.
- *
- * @see _CPU_Context_volatile_clobber().
- */
-void _CPU_Context_validate( uintptr_t pattern );
-
-/**
  * @brief The set of registers that specifies the complete processor state.
  *
  * The CPU exception frame may be available in fatal error conditions like for
diff --git a/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h
index 85214d7f6c..1e970cb11d 100644
--- a/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h
@@ -73,6 +73,37 @@ register struct Per_CPU_Control *_CPU_Per_CPU_current asm( "rX" );
  */
 #define _CPU_Get_thread_executing() ( _CPU_Per_CPU_current->executing )
 
+/**
+ * @ingroup CPUContext
+ *
+ * @brief Clobbers all volatile registers with values derived from the pattern
+ * parameter.
+ *
+ * This function is used only in test sptests/spcontext01.
+ *
+ * @param[in] pattern Pattern used to generate distinct register values.
+ *
+ * @see _CPU_Context_validate().
+ */
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+/**
+ * @ingroup CPUContext
+ *
+ * @brief Initializes and validates the CPU context with values derived from
+ * the pattern parameter.
+ *
+ * This function will not return if the CPU context remains consistent.  In
+ * case this function returns the CPU port is broken.
+ *
+ * This function is used only in test sptests/spcontext01.
+ *
+ * @param[in] pattern Pattern used to generate distinct register values.
+ *
+ * @see _CPU_Context_volatile_clobber().
+ */
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
index bd1b6bc1a0..85c5b9d7cc 100644
--- a/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/or1k/include/rtems/score/cpu.h
@@ -759,10 +759,6 @@ void _CPU_Context_restore_fp(
  *
  */
 
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-void _CPU_Context_validate( uintptr_t pattern );
-
 static inline unsigned int CPU_swap_u32(
   unsigned int value
 )
diff --git a/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
index 789f2badd9..19afb254fd 100644
--- a/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/or1k/include/rtems/score/cpuimpl.h
@@ -25,6 +25,10 @@
 extern "C" {
 #endif
 
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h
index 8a17af287c..1b766f83cf 100644
--- a/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/powerpc/include/rtems/score/cpu.h
@@ -996,10 +996,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-void _CPU_Context_validate( uintptr_t pattern );
-
 #ifdef RTEMS_SMP
   uint32_t _CPU_SMP_Initialize( void );
 
diff --git a/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h
index 792a8111ad..6dd8196130 100644
--- a/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h
@@ -238,6 +238,10 @@ static inline struct Per_CPU_Control *_PPC_Get_current_per_CPU_control( void )
 
 #endif /* RTEMS_SMP */
 
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/riscv/include/rtems/score/cpu.h b/cpukit/score/cpu/riscv/include/rtems/score/cpu.h
index 9cd5bd36cb..8ca223cda4 100644
--- a/cpukit/score/cpu/riscv/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/riscv/include/rtems/score/cpu.h
@@ -447,10 +447,6 @@ static inline uint32_t CPU_swap_u32(
 #define CPU_swap_u16( value ) \
   (((value&0xff) << 8) | ((value >> 8)&0xff))
 
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-void _CPU_Context_validate( uintptr_t pattern );
-
 typedef uint32_t CPU_Counter_ticks;
 
 uint32_t _CPU_Counter_frequency( void );
diff --git a/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
index 6a1ada265f..8bc7778496 100644
--- a/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
@@ -313,6 +313,10 @@ static inline struct Per_CPU_Control *_RISCV_Get_current_per_CPU_control( void )
 
 #endif /* RTEMS_SMP */
 
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/sh/include/rtems/score/cpu.h b/cpukit/score/cpu/sh/include/rtems/score/cpu.h
index 3952abeae5..4822c280aa 100644
--- a/cpukit/score/cpu/sh/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sh/include/rtems/score/cpu.h
@@ -661,18 +661,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /* FIXME */
 typedef CPU_Interrupt_frame CPU_Exception_frame;
 
diff --git a/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sh/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
index 9b32f76338..9aaa46052f 100644
--- a/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/include/rtems/score/cpu.h
@@ -1068,10 +1068,6 @@ void _CPU_Context_restore(
   } while ( 0 )
 #endif
 
-void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-void _CPU_Context_validate( uintptr_t pattern );
-
 typedef struct {
   uint32_t trap;
   CPU_Interrupt_frame *isf;
diff --git a/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h
index 4f2311e755..7b47b1fb75 100644
--- a/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sparc/include/rtems/score/cpuimpl.h
@@ -146,6 +146,10 @@ register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__( "g6" );
 
 #define _CPU_Get_thread_executing() ( _SPARC_Per_CPU_current->executing )
 
+void _CPU_Context_volatile_clobber( uintptr_t pattern );
+
+void _CPU_Context_validate( uintptr_t pattern );
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h b/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h
index 3172802046..e1773ee4cd 100644
--- a/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc64/include/rtems/score/cpu.h
@@ -946,18 +946,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /* FIXME */
 typedef CPU_Interrupt_frame CPU_Exception_frame;
 
diff --git a/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/sparc64/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/v850/include/rtems/score/cpu.h b/cpukit/score/cpu/v850/include/rtems/score/cpu.h
index f19efa9bec..8efc8ba1c6 100644
--- a/cpukit/score/cpu/v850/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/v850/include/rtems/score/cpu.h
@@ -759,18 +759,6 @@ void _CPU_Context_restore_fp(
 );
 #endif
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 /** @} */
 
 /* FIXME */
diff --git a/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h
index 789f2badd9..ee188bebce 100644
--- a/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/v850/include/rtems/score/cpuimpl.h
@@ -25,6 +25,18 @@
 extern "C" {
 #endif
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
index 012ef5069b..a0f690fc47 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
@@ -249,22 +249,6 @@ void _CPU_Context_restore_fp(
   Context_Control_fp **fp_context_ptr
 );
 
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern );
-
-static inline void _CPU_Context_validate( uintptr_t pattern );
-
-static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-static inline void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
 typedef struct {
   uint32_t processor_state_register;
   uint32_t integer_registers [1];
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
index 67fe712a32..a16a3d040b 100644
--- a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
@@ -42,6 +42,18 @@ static inline void outport_byte(uint16_t port, uint8_t val)
   __asm__ volatile ( "outb %0, %1" : : "a" (val), "Nd" (port) );
 }
 
+RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
+{
+  /* TODO */
+}
+
+RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
+{
+  while (1) {
+    /* TODO */
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/testsuites/sptests/spcontext01/init.c b/testsuites/sptests/spcontext01/init.c
index 7f874751f6..cf03dafef1 100644
--- a/testsuites/sptests/spcontext01/init.c
+++ b/testsuites/sptests/spcontext01/init.c
@@ -16,7 +16,9 @@
   #include "config.h"
 #endif
 
-#include "tmacros.h"
+#include <rtems/score/cpuimpl.h>
+
+#include <tmacros.h>
 
 const char rtems_test_name[] = "SPCONTEXT 1";
 
-- 
2.13.7



More information about the devel mailing list