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