summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-14 10:12:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-29 11:06:07 +0200
commitbaf8f4dabc12bc9ff64354e832a06dd5aa03e484 (patch)
treea0f742b9eaff5dfeb03d0a74f9b51eeb7e9aa100 /c
parentsmp: Make CPU_ALLOCATE_INTERRUPT_STACK optional (diff)
downloadrtems-baf8f4dabc12bc9ff64354e832a06dd5aa03e484.tar.bz2
smp: Simplify main CPU initialization
Call _SMP_Handler_initialize() later and move bsp_smp_initialize() into _SMP_Handler_initialize(). Change bsp_smp_initialize() prototype to match integer types of calling context.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/i386/shared/smp/smp-imps.c4
-rw-r--r--c/src/lib/libbsp/shared/smp/smp_stub.c4
-rw-r--r--c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c14
3 files changed, 8 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/i386/shared/smp/smp-imps.c b/c/src/lib/libbsp/i386/shared/smp/smp-imps.c
index 60bb0e613a..7ea17e594d 100644
--- a/c/src/lib/libbsp/i386/shared/smp/smp-imps.c
+++ b/c/src/lib/libbsp/i386/shared/smp/smp-imps.c
@@ -807,9 +807,7 @@ void bsp_smp_secondary_cpu_initialize(int cpu)
}
#include <rtems/bspsmp.h>
-int bsp_smp_initialize(
- int maximum
-)
+uint32_t bsp_smp_initialize( uint32_t configured_cpu_count )
{
int cores;
/* XXX need to deal with finding too many cores */
diff --git a/c/src/lib/libbsp/shared/smp/smp_stub.c b/c/src/lib/libbsp/shared/smp/smp_stub.c
index c5d57f4b99..f95cad4610 100644
--- a/c/src/lib/libbsp/shared/smp/smp_stub.c
+++ b/c/src/lib/libbsp/shared/smp/smp_stub.c
@@ -19,9 +19,7 @@ void bsp_smp_secondary_cpu_initialize(int cpu)
{
}
-int bsp_smp_initialize(
- int maximum
-)
+uint32_t bsp_smp_initialize( uint32_t configured_cpu_count )
{
/* return the number of CPUs */
return 1;
diff --git a/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c b/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
index a9f4a0eebe..b479ffcdc4 100644
--- a/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
+++ b/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
@@ -57,12 +57,10 @@ void *bsp_ap_entry;
static void bsp_smp_delay( int );
-int bsp_smp_initialize(
- int maximum
-)
+uint32_t bsp_smp_initialize( uint32_t configured_cpu_count )
{
- int cpu;
- int found_cpus = 0;
+ uint32_t cpu;
+ uint32_t found_cpus = 0;
sparc_leon3_set_cctrl( 0x80000F );
found_cpus =
@@ -71,13 +69,13 @@ int bsp_smp_initialize(
printk( "Found %d CPUs\n", found_cpus );
#endif
- if ( found_cpus > rtems_configuration_get_maximum_processors() ) {
+ if ( found_cpus > configured_cpu_count ) {
printk(
"%d CPUs IS MORE THAN CONFIGURED -- ONLY USING %d\n",
found_cpus,
- rtems_configuration_get_maximum_processors()
+ configured_cpu_count
);
- found_cpus = rtems_configuration_get_maximum_processors();
+ found_cpus = configured_cpu_count;
}
if ( found_cpus == 1 )