diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-08 11:14:27 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-15 08:37:12 +0200 |
commit | 0712d172d0bce40f3a9190af511249256ddac5f1 (patch) | |
tree | edfe262b0e46134e3704641cac50ff9d147e9e2a /cpukit/score/include/rtems/score/cpusetimpl.h | |
parent | score: Simplify thread control initialization (diff) | |
download | rtems-0712d172d0bce40f3a9190af511249256ddac5f1.tar.bz2 |
score: Task get/set affinity
Make rtems_task_get_affinity() and rtems_task_set_affinity() available
on non-SMP configurations. Allow larger CPU sets.
Diffstat (limited to 'cpukit/score/include/rtems/score/cpusetimpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/cpusetimpl.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/cpusetimpl.h b/cpukit/score/include/rtems/score/cpusetimpl.h index 06fe3f5a8e..8ae240847b 100644 --- a/cpukit/score/include/rtems/score/cpusetimpl.h +++ b/cpukit/score/include/rtems/score/cpusetimpl.h @@ -20,6 +20,9 @@ #define _RTEMS_SCORE_CPUSETIMPL_H #include <rtems/score/cpuset.h> +#include <rtems/score/smp.h> + +#include <limits.h> #ifdef __cplusplus extern "C" { @@ -58,6 +61,21 @@ void _CPU_set_Show_default( const char *description ); */ const CPU_set_Control *_CPU_set_Default(void); +RTEMS_INLINE_ROUTINE size_t _CPU_set_Maximum_CPU_count( + size_t cpusetsize +) +{ + return cpusetsize * CHAR_BIT; +} + +RTEMS_INLINE_ROUTINE bool _CPU_set_Is_large_enough( + size_t cpusetsize +) +{ + return _CPU_set_Maximum_CPU_count( cpusetsize ) + >= _SMP_Get_processor_count(); +} + #endif /** |