summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/cpusetimpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-08 11:14:27 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-04-15 08:37:12 +0200
commit0712d172d0bce40f3a9190af511249256ddac5f1 (patch)
treeedfe262b0e46134e3704641cac50ff9d147e9e2a /cpukit/score/include/rtems/score/cpusetimpl.h
parentscore: Simplify thread control initialization (diff)
downloadrtems-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.h18
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
/**