diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-17 14:25:29 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-19 09:59:40 +0100 |
commit | 4627fcdab1f0ef0bdf068688c210385889290493 (patch) | |
tree | 5bf5161574a164f8c9795efecb7e53840c09c398 /cpukit/score/cpu | |
parent | score: Remove ASM guard (diff) | |
download | rtems-4627fcdab1f0ef0bdf068688c210385889290493.tar.bz2 |
score: Rename bsp_smp_initialize()
Rename bsp_smp_initialize() into _CPU_SMP_Initialize() since every CPU
port must supply this function.
Diffstat (limited to 'cpukit/score/cpu')
-rw-r--r-- | cpukit/score/cpu/arm/rtems/score/cpu.h | 2 | ||||
-rw-r--r-- | cpukit/score/cpu/i386/rtems/score/cpu.h | 2 | ||||
-rw-r--r-- | cpukit/score/cpu/no_cpu/rtems/score/cpu.h | 18 | ||||
-rw-r--r-- | cpukit/score/cpu/powerpc/rtems/score/cpu.h | 2 | ||||
-rw-r--r-- | cpukit/score/cpu/sparc/rtems/score/cpu.h | 2 |
5 files changed, 26 insertions, 0 deletions
diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h index a0c6b41a58..a58fa9e0c5 100644 --- a/cpukit/score/cpu/arm/rtems/score/cpu.h +++ b/cpukit/score/cpu/arm/rtems/score/cpu.h @@ -467,6 +467,8 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern ); void _CPU_Context_validate( uintptr_t pattern ); #ifdef RTEMS_SMP + uint32_t _CPU_SMP_Initialize( uint32_t configured_cpu_count ); + RTEMS_COMPILER_PURE_ATTRIBUTE static inline uint32_t _CPU_SMP_Get_current_processor( void ) { diff --git a/cpukit/score/cpu/i386/rtems/score/cpu.h b/cpukit/score/cpu/i386/rtems/score/cpu.h index 4fe254c171..3c37006078 100644 --- a/cpukit/score/cpu/i386/rtems/score/cpu.h +++ b/cpukit/score/cpu/i386/rtems/score/cpu.h @@ -462,6 +462,8 @@ uint32_t _CPU_ISR_Get_level( void ); _CPU_Context_restore( (_the_context) ); #if defined(RTEMS_SMP) + uint32_t _CPU_SMP_Initialize( uint32_t configured_cpu_count ); + RTEMS_COMPILER_PURE_ATTRIBUTE uint32_t _CPU_SMP_Get_current_processor( void ); void _CPU_SMP_Send_interrupt( uint32_t target_processor_index ); diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h index 9fdc7fc5a2..e250639aa3 100644 --- a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h +++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h @@ -1462,6 +1462,24 @@ CPU_Counter_ticks _CPU_Counter_difference( #ifdef RTEMS_SMP /** + * @brief Performs CPU specific SMP initialization in the context of the main + * processor. + * + * This function is invoked on the main processor by RTEMS during + * initialization. All interrupt stacks are allocated at this point in case + * the CPU port allocates the interrupt stacks. + * + * The CPU port should start secondary processors now. + * + * @param[in] configured_cpu_count The count of processors requested by the + * application configuration. + * + * @return The count of processors available for the application in the system. + * This value is less than or equal to the configured count of processors. + */ + uint32_t _CPU_SMP_Initialize( uint32_t configured_cpu_count ); + + /** * @brief Returns the index of the current processor. * * An architecture specific method must be used to obtain the index of the diff --git a/cpukit/score/cpu/powerpc/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/rtems/score/cpu.h index f4aa9c4f1a..5e9e5f9949 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/cpu.h +++ b/cpukit/score/cpu/powerpc/rtems/score/cpu.h @@ -1034,6 +1034,8 @@ void _CPU_Context_volatile_clobber( uintptr_t pattern ); void _CPU_Context_validate( uintptr_t pattern ); #ifdef RTEMS_SMP + uint32_t _CPU_SMP_Initialize( uint32_t configured_cpu_count ); + RTEMS_COMPILER_PURE_ATTRIBUTE static inline uint32_t _CPU_SMP_Get_current_processor( void ) { diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h index 6246b9158e..75b6542f52 100644 --- a/cpukit/score/cpu/sparc/rtems/score/cpu.h +++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h @@ -1161,6 +1161,8 @@ void _CPU_Context_restore( ) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; #if defined(RTEMS_SMP) + uint32_t _CPU_SMP_Initialize( uint32_t configured_cpu_count ); + RTEMS_COMPILER_PURE_ATTRIBUTE uint32_t _CPU_SMP_Get_current_processor( void ); void _CPU_SMP_Send_interrupt( uint32_t target_processor_index ); |