summaryrefslogtreecommitdiffstats
path: root/cpukit/score
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
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
-rw-r--r--cpukit/score/include/rtems/bspsmp.h18
-rw-r--r--cpukit/score/src/percpu.c3
-rw-r--r--cpukit/score/src/smp.c2
8 files changed, 28 insertions, 21 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 );
diff --git a/cpukit/score/include/rtems/bspsmp.h b/cpukit/score/include/rtems/bspsmp.h
index d634a363f0..9cdb6dc879 100644
--- a/cpukit/score/include/rtems/bspsmp.h
+++ b/cpukit/score/include/rtems/bspsmp.h
@@ -52,24 +52,6 @@ extern "C" {
#ifndef ASM
/**
- * @brief Performs BSP 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 BSP may 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 bsp_smp_initialize( uint32_t configured_cpu_count );
-
-/**
* @brief Generate an interprocessor broadcast interrupt.
*
* This method is invoked when RTEMS wants to let all of the other
diff --git a/cpukit/score/src/percpu.c b/cpukit/score/src/percpu.c
index 201c53be5a..aa95aa9c8d 100644
--- a/cpukit/score/src/percpu.c
+++ b/cpukit/score/src/percpu.c
@@ -29,7 +29,6 @@
#if defined(RTEMS_SMP)
#include <rtems/score/smp.h>
- #include <rtems/bspsmp.h>
void _SMP_Handler_initialize(void)
{
@@ -39,7 +38,7 @@
/*
* Discover and initialize the secondary cores in an SMP system.
*/
- max_cpus = bsp_smp_initialize( max_cpus );
+ max_cpus = _CPU_SMP_Initialize( max_cpus );
_SMP_Processor_count = max_cpus;
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c
index c03c148625..612c6e9044 100644
--- a/cpukit/score/src/smp.c
+++ b/cpukit/score/src/smp.c
@@ -138,7 +138,7 @@ void _SMP_Request_other_cores_to_shutdown( void )
/*
* Do not use _SMP_Get_processor_count() since this value might be not
* initialized yet. For example due to a fatal error in the middle of
- * bsp_smp_initialize().
+ * _CPU_SMP_Initialize().
*/
uint32_t ncpus = rtems_configuration_get_maximum_processors();