score: Move _CPU_Get_current_per_CPU_control()

Move _CPU_Get_current_per_CPU_control() from <rtems/score/cpu.h> to
<rtems/score/cpuimpl.h>.
This commit is contained in:
Sebastian Huber
2016-11-09 15:16:03 +01:00
parent 05ca53ddf6
commit 58bced64b9
4 changed files with 28 additions and 28 deletions

View File

@@ -1419,24 +1419,6 @@ CPU_Counter_ticks _CPU_Counter_difference(
CPU_Counter_ticks first
);
/**
* @brief Special register pointing to the per-CPU control of the current
* processor.
*
* This is optional. Not every CPU port needs this. It is only an optional
* optimization variant.
*/
register struct Per_CPU_Control *_CPU_Per_CPU_current asm( "rX" );
/**
* @brief Optional method to obtain the per-CPU control of the current processor.
*
* This is optional. Not every CPU port needs this. It is only an optional
* optimization variant. In case this macro is undefined, the default
* implementation using the current processor index will be used.
*/
#define _CPU_Get_current_per_CPU_control() ( _CPU_Per_CPU_current )
#ifdef RTEMS_SMP
/**
* @brief Performs CPU specific SMP initialization in the context of the boot

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2016 embedded brains GmbH.
* Copyright (c) 2015, 2016 embedded brains GmbH
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -23,6 +23,24 @@
extern "C" {
#endif
/**
* @brief Special register pointing to the per-CPU control of the current
* processor.
*
* This is optional. Not every CPU port needs this. It is only an optional
* optimization variant.
*/
register struct Per_CPU_Control *_CPU_Per_CPU_current asm( "rX" );
/**
* @brief Optional method to obtain the per-CPU control of the current processor.
*
* This is optional. Not every CPU port needs this. It is only an optional
* optimization variant. In case this macro is undefined, the default
* implementation using the current processor index will be used.
*/
#define _CPU_Get_current_per_CPU_control() ( _CPU_Per_CPU_current )
/**
* @brief Optional method to get the executing thread.
*

View File

@@ -1185,14 +1185,6 @@ void _CPU_Context_restore(
Context_Control *new_context
) RTEMS_NO_RETURN;
/**
* @brief The pointer to the current per-CPU control is available via register
* g6.
*/
register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__( "g6" );
#define _CPU_Get_current_per_CPU_control() _SPARC_Per_CPU_current
#if defined(RTEMS_SMP)
uint32_t _CPU_SMP_Initialize( void );

View File

@@ -5,7 +5,7 @@
*/
/*
* Copyright (c) 2016 embedded brains GmbH.
* Copyright (c) 2015, 2016 embedded brains GmbH
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
@@ -23,6 +23,14 @@
extern "C" {
#endif
/**
* @brief The pointer to the current per-CPU control is available via register
* g6.
*/
register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__( "g6" );
#define _CPU_Get_current_per_CPU_control() _SPARC_Per_CPU_current
#define _CPU_Get_thread_executing() ( _SPARC_Per_CPU_current->executing )
#ifdef __cplusplus