summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-17 14:25:29 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-02-19 09:59:40 +0100
commit4627fcdab1f0ef0bdf068688c210385889290493 (patch)
tree5bf5161574a164f8c9795efecb7e53840c09c398 /cpukit/score/cpu
parentscore: Remove ASM guard (diff)
downloadrtems-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 '')
-rw-r--r--cpukit/score/cpu/arm/rtems/score/cpu.h2
-rw-r--r--cpukit/score/cpu/i386/rtems/score/cpu.h2
-rw-r--r--cpukit/score/cpu/no_cpu/rtems/score/cpu.h18
-rw-r--r--cpukit/score/cpu/powerpc/rtems/score/cpu.h2
-rw-r--r--cpukit/score/cpu/sparc/rtems/score/cpu.h2
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 );