diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-05-14 10:12:52 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-05-29 11:06:07 +0200 |
commit | baf8f4dabc12bc9ff64354e832a06dd5aa03e484 (patch) | |
tree | a0f742b9eaff5dfeb03d0a74f9b51eeb7e9aa100 /c | |
parent | smp: Make CPU_ALLOCATE_INTERRUPT_STACK optional (diff) | |
download | rtems-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.c | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/shared/smp/smp_stub.c | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c | 14 |
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 ) |