diff options
Diffstat (limited to 'cpukit/score/include/rtems/score/percpu.h')
-rw-r--r-- | cpukit/score/include/rtems/score/percpu.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/percpu.h b/cpukit/score/include/rtems/score/percpu.h index 9a6b1698fb..e491ffa002 100644 --- a/cpukit/score/include/rtems/score/percpu.h +++ b/cpukit/score/include/rtems/score/percpu.h @@ -316,6 +316,12 @@ typedef struct { * @see _Per_CPU_State_change(). */ Per_CPU_State state; + + /** + * @brief Indicates if the processor has been successfully started via + * _CPU_SMP_Start_processor(). + */ + bool started; #endif Per_CPU_Stats Stats; @@ -462,6 +468,19 @@ static inline uint32_t _Per_CPU_Get_index( const Per_CPU_Control *per_cpu ) return ( uint32_t ) ( per_cpu_envelope - &_Per_CPU_Information[ 0 ] ); } +static inline bool _Per_CPU_Is_processor_started( + const Per_CPU_Control *per_cpu +) +{ +#if defined( RTEMS_SMP ) + return per_cpu->started; +#else + (void) per_cpu; + + return true; +#endif +} + #if defined( RTEMS_SMP ) static inline void _Per_CPU_Send_interrupt( const Per_CPU_Control *per_cpu ) |