source: rtems/cpukit/score/Makefile.am @ f980561

4.11
Last change on this file since f980561 was f980561, checked in by Sebastian Huber <sebastian.huber@…>, on Mar 10, 2014 at 9:04:09 AM

score: Add per-CPU profiling

Add per-CPU profiling stats API. Implement the thread dispatch disable
level profiling. The interrupt profiling must be implemented in CPU
port specific parts (mostly assembler code). Add a support function
_Profiling_Outer_most_interrupt_entry_and_exit() for this purpose.

  • Property mode set to 100644
File size: 14.1 KB
Line 
1include $(top_srcdir)/automake/multilib.am
2include $(top_srcdir)/automake/compile.am
3
4SUBDIRS = cpu
5
6## include
7
8include_rtemsdir = $(includedir)/rtems
9
10include_rtems_HEADERS = include/rtems/debug.h
11include_rtems_HEADERS += include/rtems/system.h
12include_rtems_HEADERS += include/rtems/seterr.h
13
14include_rtems_scoredir = $(includedir)/rtems/score
15
16include_rtems_score_HEADERS = include/rtems/score/address.h
17include_rtems_score_HEADERS += include/rtems/score/apiext.h
18include_rtems_score_HEADERS += include/rtems/score/apimutex.h
19include_rtems_score_HEADERS += include/rtems/score/assert.h
20include_rtems_score_HEADERS += include/rtems/score/chain.h
21include_rtems_score_HEADERS += include/rtems/score/chainimpl.h
22include_rtems_score_HEADERS += include/rtems/score/context.h
23include_rtems_score_HEADERS += include/rtems/score/copyrt.h
24include_rtems_score_HEADERS += include/rtems/score/corebarrier.h
25include_rtems_score_HEADERS += include/rtems/score/corebarrierimpl.h
26include_rtems_score_HEADERS += include/rtems/score/coremsg.h
27include_rtems_score_HEADERS += include/rtems/score/coremsgimpl.h
28include_rtems_score_HEADERS += include/rtems/score/coremutex.h
29include_rtems_score_HEADERS += include/rtems/score/coremuteximpl.h
30include_rtems_score_HEADERS += include/rtems/score/coresem.h
31include_rtems_score_HEADERS += include/rtems/score/coresemimpl.h
32include_rtems_score_HEADERS += include/rtems/score/cpuset.h
33include_rtems_score_HEADERS += include/rtems/score/cpusetimpl.h
34include_rtems_score_HEADERS += include/rtems/score/heap.h
35include_rtems_score_HEADERS += include/rtems/score/heapimpl.h
36include_rtems_score_HEADERS += include/rtems/score/protectedheap.h
37include_rtems_score_HEADERS += include/rtems/score/interr.h
38include_rtems_score_HEADERS += include/rtems/score/isr.h
39include_rtems_score_HEADERS += include/rtems/score/isrlevel.h
40include_rtems_score_HEADERS += include/rtems/score/isrlock.h
41include_rtems_score_HEADERS += include/rtems/score/freechain.h
42include_rtems_score_HEADERS += include/rtems/score/object.h
43include_rtems_score_HEADERS += include/rtems/score/objectimpl.h
44include_rtems_score_HEADERS += include/rtems/score/percpu.h
45include_rtems_score_HEADERS += include/rtems/score/priority.h
46include_rtems_score_HEADERS += include/rtems/score/prioritybitmap.h
47include_rtems_score_HEADERS += include/rtems/score/prioritybitmapimpl.h
48include_rtems_score_HEADERS += include/rtems/score/profiling.h
49include_rtems_score_HEADERS += include/rtems/score/rbtree.h
50include_rtems_score_HEADERS += include/rtems/score/rbtreeimpl.h
51include_rtems_score_HEADERS += include/rtems/score/scheduler.h
52include_rtems_score_HEADERS += include/rtems/score/schedulerimpl.h
53include_rtems_score_HEADERS += include/rtems/score/schedulercbs.h
54include_rtems_score_HEADERS += include/rtems/score/scheduleredf.h
55include_rtems_score_HEADERS += include/rtems/score/scheduleredfimpl.h
56include_rtems_score_HEADERS += include/rtems/score/schedulerpriority.h
57include_rtems_score_HEADERS += include/rtems/score/schedulerpriorityimpl.h
58include_rtems_score_HEADERS += include/rtems/score/schedulerprioritysmp.h
59include_rtems_score_HEADERS += include/rtems/score/schedulersimple.h
60include_rtems_score_HEADERS += include/rtems/score/schedulersimpleimpl.h
61include_rtems_score_HEADERS += include/rtems/score/schedulersmp.h
62include_rtems_score_HEADERS += include/rtems/score/schedulersmpimpl.h
63include_rtems_score_HEADERS += include/rtems/score/smp.h
64include_rtems_score_HEADERS += include/rtems/score/smpbarrier.h
65include_rtems_score_HEADERS += include/rtems/score/smplock.h
66include_rtems_score_HEADERS += include/rtems/score/smpimpl.h
67include_rtems_score_HEADERS += include/rtems/score/stack.h
68include_rtems_score_HEADERS += include/rtems/score/stackimpl.h
69include_rtems_score_HEADERS += include/rtems/score/states.h
70include_rtems_score_HEADERS += include/rtems/score/statesimpl.h
71include_rtems_score_HEADERS += include/rtems/score/sysstate.h
72include_rtems_score_HEADERS += include/rtems/score/thread.h
73include_rtems_score_HEADERS += include/rtems/score/threadimpl.h
74include_rtems_score_HEADERS += include/rtems/score/threaddispatch.h
75include_rtems_score_HEADERS += include/rtems/score/threadq.h
76include_rtems_score_HEADERS += include/rtems/score/threadqimpl.h
77include_rtems_score_HEADERS += include/rtems/score/threadsync.h
78include_rtems_score_HEADERS += include/rtems/score/timespec.h
79include_rtems_score_HEADERS += include/rtems/score/timestamp.h
80include_rtems_score_HEADERS += include/rtems/score/timestamp64.h
81include_rtems_score_HEADERS += include/rtems/score/tls.h
82include_rtems_score_HEADERS += include/rtems/score/tod.h
83include_rtems_score_HEADERS += include/rtems/score/todimpl.h
84include_rtems_score_HEADERS += include/rtems/score/userext.h
85include_rtems_score_HEADERS += include/rtems/score/userextimpl.h
86include_rtems_score_HEADERS += include/rtems/score/watchdog.h
87include_rtems_score_HEADERS += include/rtems/score/watchdogimpl.h
88include_rtems_score_HEADERS += include/rtems/score/wkspace.h
89include_rtems_score_HEADERS += include/rtems/score/cpuopts.h
90include_rtems_score_HEADERS += include/rtems/score/basedefs.h
91
92if HAS_PTHREADS
93include_rtems_score_HEADERS += include/rtems/score/corespinlock.h
94include_rtems_score_HEADERS += include/rtems/score/corespinlockimpl.h
95include_rtems_score_HEADERS += include/rtems/score/corerwlock.h
96include_rtems_score_HEADERS += include/rtems/score/corerwlockimpl.h
97endif
98
99if HAS_MP
100# We only build multiprocessing related files if HAS_MP was defined
101include_rtems_score_HEADERS += include/rtems/score/mpci.h
102include_rtems_score_HEADERS += include/rtems/score/mpciimpl.h
103include_rtems_score_HEADERS += include/rtems/score/mppkt.h
104include_rtems_score_HEADERS += include/rtems/score/objectmp.h
105include_rtems_score_HEADERS += include/rtems/score/threadmp.h
106endif
107
108if HAS_SMP
109include_rtems_score_HEADERS += include/rtems/score/atomic.h
110include_rtems_score_HEADERS += include/rtems/score/cpustdatomic.h
111include_rtems_score_HEADERS += include/rtems/score/schedulersimplesmp.h
112endif
113
114## src
115
116noinst_LIBRARIES = libscore.a
117libscore_a_SOURCES =
118libscore_a_CPPFLAGS = $(AM_CPPFLAGS)
119
120# We only build multiprocessing related files if HAS_MP was defined
121if HAS_MP
122libscore_a_SOURCES += src/mpci.c src/objectmp.c src/threadmp.c
123endif
124
125if HAS_SMP
126libscore_a_SOURCES += src/schedulerprioritysmp.c
127libscore_a_SOURCES += src/schedulersimplesmp.c
128libscore_a_SOURCES += src/schedulersmpstartidle.c
129libscore_a_SOURCES += src/smp.c
130libscore_a_SOURCES += src/cpuset.c
131libscore_a_SOURCES += src/cpusetprintsupport.c
132endif
133
134## CORE_APIMUTEX_C_FILES
135libscore_a_SOURCES += src/apimutex.c \
136    src/apimutexlock.c src/apimutexunlock.c
137
138## CORE_BARRIER_C_FILES
139libscore_a_SOURCES += src/corebarrier.c src/corebarrierrelease.c \
140    src/corebarrierwait.c
141
142## CORE_MESSAGE_QUEUE_C_FILES
143libscore_a_SOURCES += src/coremsg.c src/coremsgbroadcast.c \
144    src/coremsgclose.c src/coremsgflush.c src/coremsgflushwait.c \
145    src/coremsginsert.c src/coremsgflushsupp.c src/coremsgseize.c \
146    src/coremsgsubmit.c
147
148## CORE_MUTEX_C_FILES
149libscore_a_SOURCES += src/coremutex.c src/coremutexflush.c \
150    src/coremutexseize.c src/coremutexsurrender.c \
151    src/coremutexseizeintr.c
152
153## CORE_PERCPU_C_FILES
154libscore_a_SOURCES += src/percpu.c
155libscore_a_SOURCES += src/percpuasm.c
156
157## CORE_RWLOCK_C_FILES
158if HAS_PTHREADS
159libscore_a_SOURCES += src/corerwlock.c src/corerwlockobtainread.c \
160    src/corerwlockobtainwrite.c src/corerwlockrelease.c src/corerwlocktimeout.c
161endif
162
163## CORE_SEMAPHORE_C_FILES
164libscore_a_SOURCES += src/coresem.c src/coresemflush.c src/coresemseize.c \
165    src/coresemsurrender.c
166
167## CORE_SPINLOCK_C_FILES
168if HAS_PTHREADS
169libscore_a_SOURCES += src/corespinlock.c src/corespinlockrelease.c \
170    src/corespinlockwait.c
171endif
172
173## HEAP_C_FILES
174libscore_a_SOURCES += src/heap.c src/heapallocate.c src/heapextend.c \
175    src/heapfree.c src/heapsizeofuserarea.c src/heapwalk.c src/heapgetinfo.c \
176    src/heapgetfreeinfo.c src/heapresizeblock.c src/heapiterate.c \
177    src/heapgreedy.c src/heapnoextend.c
178
179## OBJECT_C_FILES
180libscore_a_SOURCES += src/objectallocate.c src/objectclose.c \
181    src/objectextendinformation.c src/objectfree.c src/objectget.c \
182    src/objectgetisr.c src/objectgetnext.c src/objectinitializeinformation.c \
183    src/objectnametoid.c src/objectnametoidstring.c \
184    src/objectshrinkinformation.c src/objectgetnoprotection.c \
185    src/objectidtoname.c src/objectgetnameasstring.c src/objectsetname.c \
186    src/objectgetinfo.c src/objectgetinfoid.c src/objectapimaximumclass.c \
187    src/objectnamespaceremove.c \
188    src/objectactivecount.c
189
190## SCHEDULER_C_FILES
191libscore_a_SOURCES += src/prioritybitmap.c
192libscore_a_SOURCES += src/scheduler.c
193libscore_a_SOURCES += src/schedulerdefaultallocatefree.c
194libscore_a_SOURCES += src/schedulerdefaultreleasejob.c
195libscore_a_SOURCES += src/schedulerdefaultstartidle.c
196libscore_a_SOURCES += src/schedulerdefaulttick.c
197libscore_a_SOURCES += src/schedulerdefaultupdate.c
198
199## SCHEDULERPRIORITY_C_FILES
200libscore_a_SOURCES += src/schedulerpriority.c \
201    src/schedulerpriorityallocate.c \
202    src/schedulerpriorityblock.c \
203    src/schedulerpriorityenqueue.c \
204    src/schedulerpriorityenqueuefirst.c \
205    src/schedulerpriorityextract.c \
206    src/schedulerpriorityfree.c \
207    src/schedulerpriorityprioritycompare.c \
208    src/schedulerpriorityschedule.c \
209    src/schedulerpriorityunblock.c \
210    src/schedulerpriorityupdate.c \
211    src/schedulerpriorityyield.c
212
213## SCHEDULERSIMPLE_C_FILES
214libscore_a_SOURCES += src/schedulersimple.c \
215    src/schedulersimpleblock.c \
216    src/schedulersimpleenqueue.c \
217    src/schedulersimpleenqueuefirst.c \
218    src/schedulersimpleextract.c \
219    src/schedulersimplereadyqueueenqueue.c \
220    src/schedulersimplereadyqueueenqueuefirst.c \
221    src/schedulersimpleschedule.c \
222    src/schedulersimpleunblock.c \
223    src/schedulersimpleyield.c
224
225## SCHEDULEREDF_C_FILES
226libscore_a_SOURCES += src/scheduleredf.c \
227    src/scheduleredfallocate.c \
228    src/scheduleredfblock.c \
229    src/scheduleredfenqueue.c \
230    src/scheduleredfenqueuefirst.c \
231    src/scheduleredfextract.c \
232    src/scheduleredffree.c \
233    src/scheduleredfprioritycompare.c \
234    src/scheduleredfreleasejob.c \
235    src/scheduleredfschedule.c \
236    src/scheduleredfunblock.c \
237    src/scheduleredfupdate.c \
238    src/scheduleredfyield.c
239
240## SCHEDULERCBS_C_FILES
241libscore_a_SOURCES += src/schedulercbs.c \
242    src/schedulercbsallocate.c \
243    src/schedulercbsattachthread.c \
244    src/schedulercbscleanup.c \
245    src/schedulercbscreateserver.c \
246    src/schedulercbsdestroyserver.c \
247    src/schedulercbsdetachthread.c \
248    src/schedulercbsgetapprovedbudget.c \
249    src/schedulercbsgetexecutiontime.c \
250    src/schedulercbsgetparameters.c \
251    src/schedulercbsgetremainingbudget.c \
252    src/schedulercbsgetserverid.c \
253    src/schedulercbssetparameters.c \
254    src/schedulercbsreleasejob.c \
255    src/schedulercbsunblock.c
256
257## PROTECTED_HEAP_C_FILES
258libscore_a_SOURCES += src/pheapallocate.c \
259    src/pheapextend.c src/pheapfree.c src/pheapgetsize.c \
260    src/pheapgetblocksize.c src/pheapgetfreeinfo.c src/pheapgetinfo.c \
261    src/pheapinit.c src/pheapresizeblock.c src/pheapwalk.c src/pheapiterate.c
262
263## FREECHAIN_C_FILES
264libscore_a_SOURCES += src/freechain.c
265
266## RBTREE_C_FILES
267libscore_a_SOURCES += src/rbtree.c \
268    src/rbtreeextract.c src/rbtreefind.c \
269    src/rbtreeinsert.c src/rbtreeiterate.c src/rbtreenext.c
270
271## THREAD_C_FILES
272libscore_a_SOURCES += src/thread.c src/threadchangepriority.c \
273    src/threadclearstate.c src/threadclose.c src/threadcreateidle.c \
274    src/threaddelayended.c src/threaddispatch.c \
275    src/threadenabledispatch.c src/threaddisabledispatch.c \
276    src/threadget.c src/threadhandler.c src/threadinitialize.c \
277    src/threadloadenv.c src/threadready.c src/threadreset.c \
278    src/threadrestart.c src/threadsetpriority.c \
279    src/threadsetstate.c src/threadsettransient.c \
280    src/threadstackallocate.c src/threadstackfree.c src/threadstart.c \
281    src/threadstartmultitasking.c src/iterateoverthreads.c \
282    src/threadblockingoperationcancel.c
283
284if HAS_SMP
285libscore_a_SOURCES += src/smpbarrierwait.c
286libscore_a_SOURCES += src/threaddispatchdisablelevel.c
287endif
288
289## THREADQ_C_FILES
290libscore_a_SOURCES += src/threadq.c src/threadqdequeue.c \
291    src/threadqdequeuefifo.c src/threadqdequeuepriority.c \
292    src/threadqenqueue.c src/threadqenqueuefifo.c \
293    src/threadqenqueuepriority.c src/threadqextract.c \
294    src/threadqextractfifo.c src/threadqextractpriority.c \
295    src/threadqextractwithproxy.c src/threadqfirst.c src/threadqfirstfifo.c \
296    src/threadqfirstpriority.c src/threadqflush.c src/threadqrequeue.c \
297    src/threadqprocesstimeout.c src/threadqtimeout.c
298
299## TIMESPEC_C_FILES
300libscore_a_SOURCES += src/timespecaddto.c src/timespecfromticks.c \
301    src/timespecisvalid.c src/timespeclessthan.c \
302    src/timespecsubtract.c src/timespectoticks.c src/timespecdivide.c \
303    src/timespecdividebyinteger.c src/timespecgetasnanoseconds.c
304
305## TIMESTAMP_INT64_C_FILES
306libscore_a_SOURCES += src/ts64addto.c src/ts64dividebyinteger.c \
307    src/ts64divide.c src/ts64equalto.c \
308    src/ts64getnanoseconds.c src/ts64getseconds.c \
309    src/ts64lessthan.c \
310    src/ts64set.c src/ts64settozero.c src/ts64subtract.c \
311    src/ts64toticks.c src/ts64totimespec.c src/ts64totimeval.c
312
313## TOD_C_FILES
314libscore_a_SOURCES += src/coretod.c src/coretodset.c src/coretodget.c \
315    src/coretodgetuptimetimespec.c src/coretodtickle.c \
316    src/coretodsecondssinceepoch.c \
317    src/coretodtickspersec.c
318
319## WATCHDOG_C_FILES
320libscore_a_SOURCES += src/watchdog.c src/watchdogadjust.c \
321    src/watchdogadjusttochain.c src/watchdoginsert.c src/watchdogremove.c \
322    src/watchdogtickle.c src/watchdogreport.c src/watchdogreportchain.c
323
324## USEREXT_C_FILES
325libscore_a_SOURCES += src/userextaddset.c \
326    src/userext.c src/userextremoveset.c src/userextiterate.c
327
328## STD_C_FILES
329libscore_a_SOURCES += src/apiext.c src/chain.c src/chainappend.c \
330    src/chainextract.c src/chainget.c src/chaininsert.c \
331    src/chainappendempty.c src/chainprependempty.c src/chaingetempty.c \
332    src/chainnodecount.c \
333    src/assertthreaddispatchingrepressed.c \
334    src/interr.c src/isr.c src/wkspace.c src/wkstringduplicate.c
335libscore_a_SOURCES += src/profilingisrentryexit.c
336
337EXTRA_DIST = src/Unlimited.txt
338
339DISTCLEANFILES = include/rtems/score/cpuopts.h
340
341include $(srcdir)/preinstall.am
342include $(top_srcdir)/automake/subdirs.am
343include $(top_srcdir)/automake/local.am
Note: See TracBrowser for help on using the repository browser.