1*38fd1498Szrj /* Copyright (C) 2006-2018 Free Software Foundation, Inc.
2*38fd1498Szrj    Contributed by Jakub Jelinek <jakub@redhat.com>.
3*38fd1498Szrj 
4*38fd1498Szrj    This file is part of the GNU Offloading and Multi Processing Library
5*38fd1498Szrj    (libgomp).
6*38fd1498Szrj 
7*38fd1498Szrj    Libgomp is free software; you can redistribute it and/or modify it
8*38fd1498Szrj    under the terms of the GNU General Public License as published by
9*38fd1498Szrj    the Free Software Foundation; either version 3, or (at your option)
10*38fd1498Szrj    any later version.
11*38fd1498Szrj 
12*38fd1498Szrj    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
13*38fd1498Szrj    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14*38fd1498Szrj    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15*38fd1498Szrj    more details.
16*38fd1498Szrj 
17*38fd1498Szrj    Under Section 7 of GPL version 3, you are granted additional
18*38fd1498Szrj    permissions described in the GCC Runtime Library Exception, version
19*38fd1498Szrj    3.1, as published by the Free Software Foundation.
20*38fd1498Szrj 
21*38fd1498Szrj    You should have received a copy of the GNU General Public License and
22*38fd1498Szrj    a copy of the GCC Runtime Library Exception along with this program;
23*38fd1498Szrj    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24*38fd1498Szrj    <http://www.gnu.org/licenses/>.  */
25*38fd1498Szrj 
26*38fd1498Szrj /* This is a generic stub implementation of a CPU affinity setting.  */
27*38fd1498Szrj 
28*38fd1498Szrj #include "libgomp.h"
29*38fd1498Szrj 
30*38fd1498Szrj void
gomp_init_affinity(void)31*38fd1498Szrj gomp_init_affinity (void)
32*38fd1498Szrj {
33*38fd1498Szrj }
34*38fd1498Szrj 
35*38fd1498Szrj #ifdef LIBGOMP_USE_PTHREADS
36*38fd1498Szrj void
gomp_init_thread_affinity(pthread_attr_t * attr,unsigned int place)37*38fd1498Szrj gomp_init_thread_affinity (pthread_attr_t *attr, unsigned int place)
38*38fd1498Szrj {
39*38fd1498Szrj   (void) attr;
40*38fd1498Szrj   (void) place;
41*38fd1498Szrj }
42*38fd1498Szrj #endif
43*38fd1498Szrj 
44*38fd1498Szrj void **
gomp_affinity_alloc(unsigned long count,bool quiet)45*38fd1498Szrj gomp_affinity_alloc (unsigned long count, bool quiet)
46*38fd1498Szrj {
47*38fd1498Szrj   (void) count;
48*38fd1498Szrj   if (!quiet)
49*38fd1498Szrj     gomp_error ("Affinity not supported on this configuration");
50*38fd1498Szrj   return NULL;
51*38fd1498Szrj }
52*38fd1498Szrj 
53*38fd1498Szrj void
gomp_affinity_init_place(void * p)54*38fd1498Szrj gomp_affinity_init_place (void *p)
55*38fd1498Szrj {
56*38fd1498Szrj   (void) p;
57*38fd1498Szrj }
58*38fd1498Szrj 
59*38fd1498Szrj bool
gomp_affinity_add_cpus(void * p,unsigned long num,unsigned long len,long stride,bool quiet)60*38fd1498Szrj gomp_affinity_add_cpus (void *p, unsigned long num,
61*38fd1498Szrj 			unsigned long len, long stride, bool quiet)
62*38fd1498Szrj {
63*38fd1498Szrj   (void) p;
64*38fd1498Szrj   (void) num;
65*38fd1498Szrj   (void) len;
66*38fd1498Szrj   (void) stride;
67*38fd1498Szrj   (void) quiet;
68*38fd1498Szrj   return false;
69*38fd1498Szrj }
70*38fd1498Szrj 
71*38fd1498Szrj bool
gomp_affinity_remove_cpu(void * p,unsigned long num)72*38fd1498Szrj gomp_affinity_remove_cpu (void *p, unsigned long num)
73*38fd1498Szrj {
74*38fd1498Szrj   (void) p;
75*38fd1498Szrj   (void) num;
76*38fd1498Szrj   return false;
77*38fd1498Szrj }
78*38fd1498Szrj 
79*38fd1498Szrj bool
gomp_affinity_copy_place(void * p,void * q,long stride)80*38fd1498Szrj gomp_affinity_copy_place (void *p, void *q, long stride)
81*38fd1498Szrj {
82*38fd1498Szrj   (void) p;
83*38fd1498Szrj   (void) q;
84*38fd1498Szrj   (void) stride;
85*38fd1498Szrj   return false;
86*38fd1498Szrj }
87*38fd1498Szrj 
88*38fd1498Szrj bool
gomp_affinity_same_place(void * p,void * q)89*38fd1498Szrj gomp_affinity_same_place (void *p, void *q)
90*38fd1498Szrj {
91*38fd1498Szrj   (void) p;
92*38fd1498Szrj   (void) q;
93*38fd1498Szrj   return false;
94*38fd1498Szrj }
95*38fd1498Szrj 
96*38fd1498Szrj bool
gomp_affinity_finalize_place_list(bool quiet)97*38fd1498Szrj gomp_affinity_finalize_place_list (bool quiet)
98*38fd1498Szrj {
99*38fd1498Szrj   (void) quiet;
100*38fd1498Szrj   return false;
101*38fd1498Szrj }
102*38fd1498Szrj 
103*38fd1498Szrj bool
gomp_affinity_init_level(int level,unsigned long count,bool quiet)104*38fd1498Szrj gomp_affinity_init_level (int level, unsigned long count, bool quiet)
105*38fd1498Szrj {
106*38fd1498Szrj   (void) level;
107*38fd1498Szrj   (void) count;
108*38fd1498Szrj   (void) quiet;
109*38fd1498Szrj   if (!quiet)
110*38fd1498Szrj     gomp_error ("Affinity not supported on this configuration");
111*38fd1498Szrj   return NULL;
112*38fd1498Szrj }
113*38fd1498Szrj 
114*38fd1498Szrj void
gomp_affinity_print_place(void * p)115*38fd1498Szrj gomp_affinity_print_place (void *p)
116*38fd1498Szrj {
117*38fd1498Szrj   (void) p;
118*38fd1498Szrj }
119*38fd1498Szrj 
120*38fd1498Szrj int
omp_get_place_num_procs(int place_num)121*38fd1498Szrj omp_get_place_num_procs (int place_num)
122*38fd1498Szrj {
123*38fd1498Szrj   (void) place_num;
124*38fd1498Szrj   return 0;
125*38fd1498Szrj }
126*38fd1498Szrj 
127*38fd1498Szrj void
omp_get_place_proc_ids(int place_num,int * ids)128*38fd1498Szrj omp_get_place_proc_ids (int place_num, int *ids)
129*38fd1498Szrj {
130*38fd1498Szrj   (void) place_num;
131*38fd1498Szrj   (void) ids;
132*38fd1498Szrj }
133*38fd1498Szrj 
134*38fd1498Szrj void
gomp_get_place_proc_ids_8(int place_num,int64_t * ids)135*38fd1498Szrj gomp_get_place_proc_ids_8 (int place_num, int64_t *ids)
136*38fd1498Szrj {
137*38fd1498Szrj   (void) place_num;
138*38fd1498Szrj   (void) ids;
139*38fd1498Szrj }
140*38fd1498Szrj 
141*38fd1498Szrj ialias(omp_get_place_num_procs)
142*38fd1498Szrj ialias(omp_get_place_proc_ids)
143