11#ifndef ZEPHYR_INCLUDE_POSIX_SYS_CPUSET_H_
12#define ZEPHYR_INCLUDE_POSIX_SYS_CPUSET_H_
21#if !(defined(_CPU_SET_T_DECLARED) || defined(__cpu_set_t_defined)) || defined(__DOXYGEN__)
35#define _CPU_SET_T_DECLARED
36#define __cpu_set_t_defined
39static inline void __cpu_zero(
cpu_set_t *set)
46static inline int __cpu_count(
const cpu_set_t *set)
51 count += __builtin_popcount(set->
__bits[i]);
68#define __CPU_WORD(cpu) ((size_t)(cpu) / 32)
69#define __CPU_BIT(cpu) (1U << ((size_t)(cpu) % 32))
75#define CPU_ZERO(set) __cpu_zero(set)
81#define CPU_SET(cpu, set) \
82 ((void)(((size_t)(cpu) < CPU_SETSIZE) \
83 ? ((set)->__bits[__CPU_WORD(cpu)] |= __CPU_BIT(cpu)) \
90#define CPU_CLR(cpu, set) \
91 ((void)(((size_t)(cpu) < CPU_SETSIZE) \
92 ? ((set)->__bits[__CPU_WORD(cpu)] &= ~__CPU_BIT(cpu)) \
99#define CPU_ISSET(cpu, set) \
100 (((size_t)(cpu) < CPU_SETSIZE) && (((set)->__bits[__CPU_WORD(cpu)] & __CPU_BIT(cpu)) != 0))
106#define CPU_COUNT(set) __cpu_count(set)
112#define CPU_EQUAL(a, b) __cpu_equal(a, b)
#define CPU_SETSIZE
Number of CPUs a cpu_set_t can name (GNU extension).
Set of CPUs for pthread_getaffinity_np() and pthread_setaffinity_np() (GNU extension).
uint32_t __bits[32/32]
One bit per CPU index.