From 42f2fdfd4e18a783e8be4f26f83ce86c7a1fedb0 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 20 Jul 2018 07:56:43 +0200 Subject: score: Move context validation declarations 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. --- .../score/cpu/no_cpu/include/rtems/score/cpuimpl.h | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'cpukit/score/cpu/no_cpu/include/rtems/score/cpuimpl.h') 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 -- cgit v1.2.3