diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2019-06-26 15:08:57 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2019-06-27 20:19:31 +0200 |
commit | 383e19ca552234fa9af47e80cb00d843a96de9e3 (patch) | |
tree | dd89f98d719451ae2dce8cf494dbb9646143c46d | |
parent | aa55d22cb55d67d7f77ee9d58f9016c42c3ee495 (diff) | |
download | cygnal-383e19ca552234fa9af47e80cb00d843a96de9e3.tar.gz cygnal-383e19ca552234fa9af47e80cb00d843a96de9e3.tar.bz2 cygnal-383e19ca552234fa9af47e80cb00d843a96de9e3.zip |
sched: Move Cygwin cpuset definitions into Cygwin-specific header
This avoids build breakage on RTEMS.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r-- | newlib/libc/include/sched.h | 18 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/_pthreadtypes.h | 5 | ||||
-rw-r--r-- | winsup/cygwin/include/sys/cpuset.h | 25 |
3 files changed, 28 insertions, 20 deletions
diff --git a/newlib/libc/include/sched.h b/newlib/libc/include/sched.h index fc44209d6..79b775e22 100644 --- a/newlib/libc/include/sched.h +++ b/newlib/libc/include/sched.h @@ -93,24 +93,6 @@ int sched_yield( void ); #if __GNU_VISIBLE int sched_getcpu(void); -/* Affinity-related definitions, here until numerous enough to separate out */ -#ifdef __x86_64__ -typedef uint64_t __cpu_mask; -#else -typedef uint32_t __cpu_mask; -#endif -#define __CPU_SETSIZE 1024 // maximum number of logical processors tracked -#define __NCPUBITS (8 * sizeof (__cpu_mask)) // max size of processor group -#define __CPU_GROUPMAX (__CPU_SETSIZE / __NCPUBITS) // maximum group number - -#define __CPUELT(cpu) ((cpu) / __NCPUBITS) -#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) - -typedef struct -{ - __cpu_mask __bits[__CPU_GROUPMAX]; -} cpu_set_t; - int sched_getaffinity (pid_t, size_t, cpu_set_t *); int sched_get_thread_affinity (void *, size_t, cpu_set_t *); int sched_setaffinity (pid_t, size_t, const cpu_set_t *); diff --git a/winsup/cygwin/include/sys/_pthreadtypes.h b/winsup/cygwin/include/sys/_pthreadtypes.h index 3063e8334..e951fee63 100644 --- a/winsup/cygwin/include/sys/_pthreadtypes.h +++ b/winsup/cygwin/include/sys/_pthreadtypes.h @@ -1,5 +1,4 @@ -/* machine/types.h - Written by Robert Collins <rbtcollins@hotmail.com> +/* sys/_pthreadtypes.h This file is part of Cygwin. @@ -10,6 +9,8 @@ details. */ #ifndef _SYS__PTHREADTYPES_H_ #define _SYS__PTHREADTYPES_H_ +#include <sys/cpuset.h> + #if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus) typedef struct __pthread_t {char __dummy;} *pthread_t; diff --git a/winsup/cygwin/include/sys/cpuset.h b/winsup/cygwin/include/sys/cpuset.h new file mode 100644 index 000000000..a83163d01 --- /dev/null +++ b/winsup/cygwin/include/sys/cpuset.h @@ -0,0 +1,25 @@ +/* sys/cpuset.h + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#ifndef _SYS_CPUSET_H_ +#define _SYS_CPUSET_H_ + +typedef __SIZE_TYPE__ __cpu_mask; +#define __CPU_SETSIZE 1024 // maximum number of logical processors tracked +#define __NCPUBITS (8 * sizeof (__cpu_mask)) // max size of processor group +#define __CPU_GROUPMAX (__CPU_SETSIZE / __NCPUBITS) // maximum group number + +#define __CPUELT(cpu) ((cpu) / __NCPUBITS) +#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) + +typedef struct +{ + __cpu_mask __bits[__CPU_GROUPMAX]; +} cpu_set_t; + +#endif /* _SYS_CPUSET_H_ */ |