summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/i386/rtems/score/cpu.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-10 15:48:05 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-14 08:37:04 +0200
commit53e008b6fda8ccd1cdcf0f000bbccf1d3788206b (patch)
tree09adbf721ce5e3356ed61e4ee59a767994810873 /cpukit/score/cpu/i386/rtems/score/cpu.h
parentscore: Add _Per_CPU_Get_snapshot() (diff)
downloadrtems-53e008b6fda8ccd1cdcf0f000bbccf1d3788206b.tar.bz2
score: SMP initialization changes
Add and use _CPU_SMP_Start_processor(). Add and use _CPU_SMP_Finalize_initialization(). This makes most _CPU_SMP_Initialize() functions a bit simpler since we can calculate the minimum value of the count of processors requested by the application configuration and the count of physically or virtually available processors in the high-level code. The CPU port has now the ability to signal a processor start failure. With the support for clustered/partitioned scheduling the presence of particular processors can be configured to be optional or mandatory. There will be a fatal error only in case mandatory processors are not present. The CPU port may use a timeout to monitor the start of a processor.
Diffstat (limited to '')
-rw-r--r--cpukit/score/cpu/i386/rtems/score/cpu.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/cpukit/score/cpu/i386/rtems/score/cpu.h b/cpukit/score/cpu/i386/rtems/score/cpu.h
index 296ad8ba47..be22d9e217 100644
--- a/cpukit/score/cpu/i386/rtems/score/cpu.h
+++ b/cpukit/score/cpu/i386/rtems/score/cpu.h
@@ -462,7 +462,11 @@ 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 );
+ uint32_t _CPU_SMP_Initialize( void );
+
+ bool _CPU_SMP_Start_processor( uint32_t cpu_index );
+
+ void _CPU_SMP_Finalize_initialization( uint32_t cpu_count );
uint32_t _CPU_SMP_Get_current_processor( void );