source: rtems/cpukit/score/Makefile.am @ 5bd75823

5
Last change on this file since 5bd75823 was 7097962, checked in by Sebastian Huber <sebastian.huber@…>, on 08/29/18 at 07:43:44

score: Add thread pin/unpin support

Add support to temporarily pin a thread to its current processor. This
may be used to access per-processor data structures in critical sections
with enabled thread dispatching, e.g. a pinned thread is allowed to
block.

Update #3508.

  • Property mode set to 100644
File size: 8.1 KB
Line 
1include $(top_srcdir)/automake/multilib.am
2include $(top_srcdir)/automake/compile.am
3
4_SUBDIRS = cpu
5
6## include
7
8if HAS_MP
9# We only build multiprocessing related files if HAS_MP was defined
10endif
11
12if HAS_SMP
13endif
14
15## src
16
17noinst_LIBRARIES = libscore.a
18libscore_a_SOURCES =
19libscore_a_CPPFLAGS = $(AM_CPPFLAGS)
20
21# We only build multiprocessing related files if HAS_MP was defined
22if HAS_MP
23libscore_a_SOURCES += src/mpci.c src/objectmp.c src/threadmp.c
24endif
25
26if HAS_SMP
27libscore_a_SOURCES += src/percpustatewait.c
28libscore_a_SOURCES += src/profilingsmplock.c
29libscore_a_SOURCES += src/schedulerdefaultpinunpin.c
30libscore_a_SOURCES += src/scheduleredfsmp.c
31libscore_a_SOURCES += src/schedulerpriorityaffinitysmp.c
32libscore_a_SOURCES += src/schedulerprioritysmp.c
33libscore_a_SOURCES += src/schedulersimplesmp.c
34libscore_a_SOURCES += src/schedulerstrongapa.c
35libscore_a_SOURCES += src/smp.c
36libscore_a_SOURCES += src/smplock.c
37libscore_a_SOURCES += src/smpmulticastaction.c
38libscore_a_SOURCES += src/schedulerdefaultaskforhelp.c
39libscore_a_SOURCES += src/schedulerdefaultsetaffinity.c
40libscore_a_SOURCES += src/schedulersmp.c
41libscore_a_SOURCES += src/schedulersmpstartidle.c
42libscore_a_SOURCES += src/threadunpin.c
43endif
44
45## CORE_APIMUTEX_C_FILES
46libscore_a_SOURCES += src/allocatormutex.c
47libscore_a_SOURCES += src/apimutexisowner.c
48libscore_a_SOURCES += src/apimutexlock.c
49libscore_a_SOURCES += src/apimutexunlock.c
50
51## CORE_BARRIER_C_FILES
52libscore_a_SOURCES += src/corebarrier.c src/corebarrierrelease.c \
53    src/corebarrierwait.c
54
55## CORE_MESSAGE_QUEUE_C_FILES
56libscore_a_SOURCES += src/coremsg.c src/coremsgbroadcast.c \
57    src/coremsgclose.c src/coremsgflush.c src/coremsgflushwait.c \
58    src/coremsginsert.c src/coremsgseize.c \
59    src/coremsgsubmit.c
60
61## CORE_MUTEX_C_FILES
62libscore_a_SOURCES += src/coremutexseize.c
63
64## CORE_PERCPU_C_FILES
65libscore_a_SOURCES += src/percpu.c
66libscore_a_SOURCES += src/percpuasm.c
67
68## CORE_RWLOCK_C_FILES
69libscore_a_SOURCES += src/corerwlock.c src/corerwlockobtainread.c \
70    src/corerwlockobtainwrite.c src/corerwlockrelease.c
71
72## CORE_SEMAPHORE_C_FILES
73libscore_a_SOURCES += src/coresem.c
74
75## HEAP_C_FILES
76libscore_a_SOURCES += src/heap.c src/heapallocate.c src/heapextend.c \
77    src/heapfree.c src/heapsizeofuserarea.c src/heapwalk.c src/heapgetinfo.c \
78    src/heapgetfreeinfo.c src/heapresizeblock.c src/heapiterate.c \
79    src/heapgreedy.c src/heapnoextend.c
80
81## OBJECT_C_FILES
82libscore_a_SOURCES += src/objectallocate.c src/objectclose.c \
83    src/objectextendinformation.c src/objectfree.c \
84    src/objectgetnext.c src/objectinitializeinformation.c \
85    src/objectnametoid.c src/objectnametoidstring.c \
86    src/objectshrinkinformation.c src/objectgetnoprotection.c \
87    src/objectidtoname.c src/objectgetnameasstring.c src/objectsetname.c \
88    src/objectgetinfo.c src/objectgetinfoid.c src/objectapimaximumclass.c \
89    src/objectnamespaceremove.c \
90    src/objectactivecount.c
91libscore_a_SOURCES += src/objectgetlocal.c
92
93## SCHEDULER_C_FILES
94libscore_a_SOURCES += src/log2table.c
95libscore_a_SOURCES += src/scheduler.c
96libscore_a_SOURCES += src/schedulergetaffinity.c
97libscore_a_SOURCES += src/schedulersetaffinity.c
98libscore_a_SOURCES += src/schedulerdefaultmappriority.c
99libscore_a_SOURCES += src/schedulerdefaultnodedestroy.c
100libscore_a_SOURCES += src/schedulerdefaultnodeinit.c
101libscore_a_SOURCES += src/schedulerdefaultreleasejob.c
102libscore_a_SOURCES += src/schedulerdefaultschedule.c
103libscore_a_SOURCES += src/schedulerdefaultstartidle.c
104libscore_a_SOURCES += src/schedulerdefaulttick.c
105
106## SCHEDULERPRIORITY_C_FILES
107libscore_a_SOURCES += src/schedulerpriority.c \
108    src/schedulerpriorityblock.c \
109    src/schedulerprioritychangepriority.c \
110    src/schedulerpriorityschedule.c \
111    src/schedulerpriorityunblock.c \
112    src/schedulerpriorityyield.c
113
114## SCHEDULERSIMPLE_C_FILES
115libscore_a_SOURCES += src/schedulersimple.c \
116    src/schedulersimpleblock.c \
117    src/schedulersimplechangepriority.c \
118    src/schedulersimpleschedule.c \
119    src/schedulersimpleunblock.c \
120    src/schedulersimpleyield.c
121
122## SCHEDULEREDF_C_FILES
123libscore_a_SOURCES += src/scheduleredf.c \
124    src/scheduleredfnodeinit.c \
125    src/scheduleredfblock.c \
126    src/scheduleredfchangepriority.c \
127    src/scheduleredfreleasejob.c \
128    src/scheduleredfschedule.c \
129    src/scheduleredfunblock.c \
130    src/scheduleredfyield.c
131
132## SCHEDULERCBS_C_FILES
133libscore_a_SOURCES += src/schedulercbs.c \
134    src/schedulercbsnodeinit.c \
135    src/schedulercbsattachthread.c \
136    src/schedulercbscleanup.c \
137    src/schedulercbscreateserver.c \
138    src/schedulercbsdestroyserver.c \
139    src/schedulercbsdetachthread.c \
140    src/schedulercbsgetapprovedbudget.c \
141    src/schedulercbsgetexecutiontime.c \
142    src/schedulercbsgetparameters.c \
143    src/schedulercbsgetremainingbudget.c \
144    src/schedulercbsgetserverid.c \
145    src/schedulercbssetparameters.c \
146    src/schedulercbsreleasejob.c \
147    src/schedulercbsunblock.c
148
149## PROTECTED_HEAP_C_FILES
150libscore_a_SOURCES += src/pheapallocate.c \
151    src/pheapextend.c src/pheapfree.c src/pheapgetsize.c \
152    src/pheapgetblocksize.c src/pheapgetfreeinfo.c src/pheapgetinfo.c \
153    src/pheapinit.c src/pheapresizeblock.c src/pheapwalk.c src/pheapiterate.c
154
155## FREECHAIN_C_FILES
156libscore_a_SOURCES += src/freechain.c
157
158## RBTREE_C_FILES
159libscore_a_SOURCES += \
160    src/rbtreeextract.c \
161    src/rbtreeinsert.c src/rbtreeiterate.c src/rbtreenext.c
162libscore_a_SOURCES += src/rbtreepostorder.c
163libscore_a_SOURCES += src/rbtreereplace.c
164
165## THREAD_C_FILES
166libscore_a_SOURCES += src/thread.c src/threadchangepriority.c \
167    src/threadclearstate.c src/threadcreateidle.c \
168    src/threaddispatch.c \
169    src/threadget.c src/threadhandler.c src/threadinitialize.c \
170    src/threadloadenv.c \
171    src/threadrestart.c \
172    src/threadsetstate.c \
173    src/threadstackallocate.c src/threadstackfree.c src/threadstart.c \
174    src/threadstartmultitasking.c src/iterateoverthreads.c
175libscore_a_SOURCES += src/threadentryadaptoridle.c
176libscore_a_SOURCES += src/threadentryadaptornumeric.c
177libscore_a_SOURCES += src/threadentryadaptorpointer.c
178libscore_a_SOURCES += src/threadgetcputimeused.c
179libscore_a_SOURCES += src/threaditerate.c
180libscore_a_SOURCES += src/threadname.c
181libscore_a_SOURCES += src/threadscheduler.c
182libscore_a_SOURCES += src/threadtimeout.c
183libscore_a_SOURCES += src/threadwaitgetid.c
184libscore_a_SOURCES += src/threadyield.c
185
186## THREADQ_C_FILES
187libscore_a_SOURCES += src/threadq.c \
188    src/threadqenqueue.c \
189    src/threadqextractwithproxy.c src/threadqfirst.c \
190    src/threadqflush.c
191libscore_a_SOURCES += src/threadqops.c
192libscore_a_SOURCES += src/threadqtimeout.c
193
194## TIMESPEC_C_FILES
195libscore_a_SOURCES += src/timespecaddto.c src/timespecfromticks.c \
196    src/timespecisvalid.c src/timespeclessthan.c \
197    src/timespecsubtract.c src/timespectoticks.c src/timespecdivide.c \
198    src/timespecdividebyinteger.c src/timespecgetasnanoseconds.c
199
200## TOD_C_FILES
201libscore_a_SOURCES += src/coretod.c src/coretodset.c \
202    src/coretodtickspersec.c \
203    src/coretodadjust.c
204
205## WATCHDOG_C_FILES
206libscore_a_SOURCES += src/watchdoginsert.c
207libscore_a_SOURCES += src/watchdogremove.c
208libscore_a_SOURCES += src/watchdogtick.c
209libscore_a_SOURCES += src/watchdogtickssinceboot.c
210
211## USEREXT_C_FILES
212libscore_a_SOURCES += src/userextaddset.c \
213    src/userext.c src/userextremoveset.c src/userextiterate.c
214
215## STD_C_FILES
216libscore_a_SOURCES += src/chain.c \
217    src/chainnodecount.c \
218    src/debugisthreaddispatchingallowed.c \
219    src/interr.c src/isr.c src/wkspace.c src/wkstringduplicate.c
220libscore_a_SOURCES += src/ioprintf.c
221libscore_a_SOURCES += src/iovprintf.c
222libscore_a_SOURCES += src/isrisinprogress.c
223libscore_a_SOURCES += src/condition.c
224libscore_a_SOURCES += src/futex.c
225libscore_a_SOURCES += src/profilingisrentryexit.c
226libscore_a_SOURCES += src/mutex.c
227libscore_a_SOURCES += src/once.c
228libscore_a_SOURCES += src/sched.c
229libscore_a_SOURCES += src/semaphore.c
230libscore_a_SOURCES += src/smpbarrierwait.c
231libscore_a_SOURCES += src/kern_tc.c
232libscore_a_SOURCES += src/libatomic.c
233libscore_a_SOURCES += src/processormaskcopy.c
234
235
236# This file is in the build tree
237include_rtems_scoredir = $(includedir)/rtems/score
238include_rtems_score_HEADERS = ../../include/rtems/score/cpuopts.h
239
240include $(top_srcdir)/automake/subdirs.am
241include $(top_srcdir)/automake/local.am
Note: See TracBrowser for help on using the repository browser.