From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 91109 invoked by alias); 28 Jun 2019 14:15:34 -0000 Mailing-List: contact newlib-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-cvs-owner@sourceware.org Received: (qmail 90963 invoked by uid 9078); 28 Jun 2019 14:15:33 -0000 Date: Fri, 28 Jun 2019 14:15:00 -0000 Message-ID: <20190628141533.90961.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Corinna Vinschen To: cygwin-cvs@sourceware.org, newlib-cvs@sourceware.org Subject: [newlib-cygwin] sched: Move Cygwin cpuset definitions into Cygwin-specific header X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: aa55d22cb55d67d7f77ee9d58f9016c42c3ee495 X-Git-Newrev: 383e19ca552234fa9af47e80cb00d843a96de9e3 X-SW-Source: 2019-q2/txt/msg00029.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=383e19ca552234fa9af47e80cb00d843a96de9e3 commit 383e19ca552234fa9af47e80cb00d843a96de9e3 Author: Corinna Vinschen Date: Wed Jun 26 15:08:57 2019 +0200 sched: Move Cygwin cpuset definitions into Cygwin-specific header This avoids build breakage on RTEMS. Signed-off-by: Corinna Vinschen Diff: --- newlib/libc/include/sched.h | 18 ------------------ winsup/cygwin/include/sys/_pthreadtypes.h | 5 +++-- 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 fc44209..79b775e 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 3063e83..e951fee 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 +/* sys/_pthreadtypes.h This file is part of Cygwin. @@ -10,6 +9,8 @@ details. */ #ifndef _SYS__PTHREADTYPES_H_ #define _SYS__PTHREADTYPES_H_ +#include + #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 0000000..a83163d --- /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_ */