Commit Graph

23 Commits

Author SHA1 Message Date
Joel Sherrill
0faa9dad07 2010-11-24 Gedare Bloom <giddyup44@yahoo.com>
PR 1647/cpukit
	* posix/src/nanosleep.c, posix/src/sched_yield.c,
	rtems/src/taskwakeafter.c, sapi/include/confdefs.h,
	sapi/include/rtems/config.h, sapi/src/exinit.c, score/Makefile.am,
	score/preinstall.am, score/include/rtems/score/prioritybitmap.h,
	score/include/rtems/score/thread.h,
	score/inline/rtems/score/thread.inl, score/src/thread.c,
	score/src/threadchangepriority.c, score/src/threadclearstate.c,
	score/src/threadclose.c, score/src/threadinitialize.c,
	score/src/threadready.c, score/src/threadresume.c,
	score/src/threadsetpriority.c, score/src/threadsetstate.c,
	score/src/threadsettransient.c,	score/src/threadsuspend.c,
	score/src/threadtickletimeslice.c: Refactor scheduler out of thread
	handler to facilitate alternate scheduler implementations.
	* score/src/threadyieldprocessor.c: Removed.
	* score/src/schedulerprioritythreadschedulerupdate.c,
	score/src/schedulerprioritythreadschedulerfree.c,
	score/src/schedulerpriorityblock.c, score/src/scheduler.c,
	score/src/schedulerprioritythreadschedulerallocate.c,
	score/src/schedulerpriorityunblock.c,
	score/src/schedulerpriority.c, score/src/schedulerpriorityyield.c,
	score/include/rtems/score/schedulerpriority.h,
	score/include/rtems/score/scheduler.h,
	score/inline/rtems/score/scheduler.inl,
	score/inline/rtems/score/schedulerpriority.inl: New files.
2010-11-24 15:51:28 +00:00
Joel Sherrill
a55e305ed3 2010-07-29 Gedare Bloom <giddyup44@yahoo.com>
PR 1635/cpukit
	* sapi/src/exinit.c, score/Makefile.am, score/preinstall.am,
	score/include/rtems/score/bitfield.h,
	score/include/rtems/score/priority.h,
	score/include/rtems/score/thread.h,
	score/inline/rtems/score/priority.inl,
	score/inline/rtems/score/thread.inl,
	score/src/threadchangepriority.c, score/src/threadclearstate.c,
	score/src/threadready.c, score/src/threadresume.c,
	score/src/threadsetpriority.c, score/src/threadsetstate.c,
	score/src/threadsettransient.c, score/src/threadsuspend.c:
	Refactoring of priority handling, to isolate the bitmap
	implementation of priorities in the supercore so that priority
	management is a little more modular. This change is in anticipation
	of scheduler implementations that can select how they manage tracking
	priority levels / finding the highest priority ready task. Note that
	most of the changes here are simple renaming, to clarify the use of
	the bitmap-based priority management.
	* score/include/rtems/score/prioritybitmap.h,
	score/inline/rtems/score/prioritybitmap.inl: New files.
2010-07-29 17:52:10 +00:00
Sebastian Huber
9f9a82bdce 2010-07-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* score/include/rtems/score/basedefs.h: New file.
	* score/Makefile.am, score/preinstall.am: Reflect change above.
	* score/include/rtems/score/percpu.h: Include <rtems/score/cpu.h>.
	* score/include/rtems/system.h: Moved definition of SCORE_EXTERN,
	SAPI_EXTERN, RTEMS_EXTERN, POSIX_EXTERN, RTEMS_INLINE_ROUTINE,
	RTEMS_COMPILER_MEMORY_BARRIER, RTEMS_COMPILER_NO_RETURN_ATTRIBUTE,
	RTEMS_COMPILER_DEPRECATED_ATTRIBUTE, TRUE, and FALSE to
	<rtems/score/basedefs.h>.
	Removed include of <rtems/score/cpu.h>, <stdint.h> and <stddef.h>.
2010-07-16 08:31:34 +00:00
Joel Sherrill
11e8bc5f0f 2010-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1573/cpukit
	* configure.ac, posix/src/killinfo.c,
	posix/src/psignalclearprocesssignals.c,
	posix/src/psignalsetprocesssignals.c,
	posix/src/psignalunblockthread.c, posix/src/pthreadcreate.c,
	posix/src/pthreadkill.c, posix/src/pthreadsigmask.c,
	rtems/src/signalsend.c, rtems/src/taskmode.c, score/Makefile.am,
	score/preinstall.am, score/include/rtems/system.h,
	score/include/rtems/score/context.h, score/include/rtems/score/isr.h,
	score/include/rtems/score/thread.h, score/src/isr.c,
	score/src/isrthreaddispatch.c, score/src/thread.c,
	score/src/threaddispatch.c, score/src/threadloadenv.c: Add a per cpu
	data structure which contains the information required by RTEMS for
	each CPU core. This encapsulates information such as thread
	executing, heir, idle and dispatch needed.
	* score/include/rtems/score/percpu.h, score/src/percpu.c: New files.
2010-06-29 00:34:12 +00:00
Joel Sherrill
3390ba8832 2009-08-12 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/Makefile.am, libcsupport/preinstall.am,
	posix/Makefile.am, posix/preinstall.am, rtems/Makefile.am,
	rtems/preinstall.am, score/Makefile.am, score/preinstall.am: Revert
	modifications accidentally committed.
2009-08-12 14:20:20 +00:00
Joel Sherrill
88157a76de 2009-08-05 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/Makefile.am, rtems/Makefile.am, rtems/preinstall.am,
	sapi/Makefile.am, sapi/preinstall.am, score/Makefile.am,
	score/preinstall.am, score/include/rtems/score/heap.h,
	score/inline/rtems/score/heap.inl: Remove inline version now that it
	is in a C file.
	* libcsupport/src/end_profile.c: New file.
2009-08-05 21:18:29 +00:00
Joel Sherrill
0df035b6e5 2009-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* score/Makefile.am, score/preinstall.am: SuperCore Spinlock is only
	used by POSIX API. Do not build it when POSIX is not enabled.
2009-07-27 00:00:53 +00:00
Joel Sherrill
e57cb3c9df 2008-12-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* score/Makefile.am, score/preinstall.am,
	score/include/rtems/score/timespec.h,
	score/include/rtems/score/timestamp.h: Add 64-bit implementation of
	SuperCore Timestamps. Tested on PowerPC/psim and SPARC/sis.
	* score/include/rtems/score/timestamp64.h, score/src/ts64addto.c,
	score/src/ts64divide.c, score/src/ts64dividebyinteger.c,
	score/src/ts64equalto.c, score/src/ts64getnanoseconds.c,
	score/src/ts64getseconds.c, score/src/ts64greaterthan.c,
	score/src/ts64lessthan.c, score/src/ts64set.c,
	score/src/ts64settozero.c, score/src/ts64subtract.c,
	score/src/ts64toticks.c, score/src/ts64totimespec.c: New files.
2008-12-09 21:27:35 +00:00
Joel Sherrill
c16bcc009b 2008-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/__times.c, libmisc/cpuuse/cpuusagereport.c,
	libmisc/cpuuse/cpuusagereset.c, posix/src/clockgettime.c,
	posix/src/pthread.c, posix/src/timersettime.c,
	rtems/include/rtems/rtems/ratemon.h,
	rtems/src/clockgetsecondssinceepoch.c, rtems/src/clockgetuptime.c,
	rtems/src/ratemongetstatus.c, rtems/src/ratemonperiod.c,
	rtems/src/ratemonreportstatistics.c, rtems/src/taskwakewhen.c,
	rtems/src/timerfirewhen.c, rtems/src/timerserver.c,
	rtems/src/timerserverfirewhen.c, score/Makefile.am,
	score/preinstall.am, score/include/rtems/score/thread.h,
	score/include/rtems/score/tod.h, score/src/coretod.c,
	score/src/coretodget.c, score/src/coretodgetuptime.c,
	score/src/coretodset.c, score/src/coretodtickle.c,
	score/src/threaddispatch.c, score/src/threadinitialize.c: Add
	SuperCore handler Timestamp to provide an opaque class for the
	representation and manipulation of uptime, time of day, and the
	difference between two timestamps. By using SuperCore Timestamp, it
	is clear which methods and APIs really have to be struct timespec and
	which can be in an optimized native format.
	* score/include/rtems/score/timestamp.h,
	score/src/coretodgetuptimetimespec.c: New files.
2008-12-08 19:41:31 +00:00
Joel Sherrill
3168deaa10 2008-01-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/include/rtems/rtems/event.h,
	rtems/inline/rtems/rtems/eventset.inl, rtems/src/event.c,
	rtems/src/eventseize.c, rtems/src/eventsurrender.c,
	rtems/src/eventtimeout.c, score/Makefile.am, score/preinstall.am,
	score/include/rtems/score/interr.h,
	score/include/rtems/score/thread.h,
	score/include/rtems/score/threadq.h,
	score/include/rtems/score/tqdata.h,
	score/inline/rtems/score/threadq.inl,
	score/inline/rtems/score/tqdata.inl, score/src/threadq.c,
	score/src/threadqdequeue.c, score/src/threadqdequeuefifo.c,
	score/src/threadqdequeuepriority.c, score/src/threadqenqueue.c,
	score/src/threadqenqueuefifo.c, score/src/threadqenqueuepriority.c,
	score/src/threadqextract.c, score/src/threadqextractfifo.c,
	score/src/threadqextractpriority.c,
	score/src/threadqextractwithproxy.c, score/src/threadqfirst.c,
	score/src/threadqfirstfifo.c, score/src/threadqfirstpriority.c,
	score/src/threadqflush.c, score/src/threadqrequeue.c,
	score/src/threadqtimeout.c: Refactor thread queue enqueue and event
	blocking synchronization critical sections. This resulted in three
	copies of essentially the same hard to test critical section code
	becoming the one shared routine _Thread_blocking_operation_Cancel. In
	addition, the thread queue and event code now share a common
	synchronization enumerated type. Along the way, switches were
	reworked to eliminate dead code generated by gcc and comments and
	copyrights were updated.
	* score/include/rtems/score/threadsync.h,
	score/src/threadblockingoperationcancel.c: New files.
2008-01-22 18:28:53 +00:00
Joel Sherrill
bcf4cbb589 2007-12-13 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/preinstall.am, posix/preinstall.am, rtems/Makefile.am,
	rtems/preinstall.am, sapi/Makefile.am, sapi/preinstall.am,
	score/Makefile.am, score/preinstall.am: Revert testing patch.
2007-12-13 17:00:38 +00:00
Joel Sherrill
8d8daef461 2007-12-13 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/preinstall.am, posix/preinstall.am, posix/src/aio.c,
	posix/src/clockgetcpuclockid.c, posix/src/clockgetenableattr.c,
	posix/src/clockgettime.c, posix/src/clocksetenableattr.c,
	posix/src/clocksettime.c, posix/src/devctl.c,
	posix/src/pthreadcreate.c, posix/src/pthreadgetcpuclockid.c,
	posix/src/types.c, rtems/preinstall.am, sapi/Makefile.am,
	sapi/preinstall.am, score/Makefile.am, score/preinstall.am: Eliminate
	POSIX_NOT_IMPLEMENTED(). Return ENOSYS instead.
2007-12-13 15:45:43 +00:00
Joel Sherrill
c3db01d0f3 2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/include/rtems/libcsupport.h, libcsupport/src/newlibc.c,
	sapi/Makefile.am, sapi/include/confdefs.h, sapi/src/exinit.c,
	score/Makefile.am, score/preinstall.am,
	score/include/rtems/score/userext.h, score/src/chain.c,
	score/src/userext.c: Switch to newlib reentrancy extension being
	installed in the initial set instead of using rtems_extension_create.
	While implementing this, noticed that user extensions and chain code
	had multiple functions in a single file which is not desirable in the
	SuperCore and API portions of RTEMS, so split these into multiple
	files with one function per file. Also noticed that some of user
	extension code was inlined for no particular reason so moved that to
	C bodies.  Split executive shutdown from initialization since not
	every application shuts down.  Moved __fini call to executive shutdown
	to be more symmetrical with where it is called at startup.
	* sapi/src/exshutdown.c, score/src/chainappend.c,
	score/src/chainextract.c, score/src/chainget.c,
	score/src/chaininsert.c, score/src/userextaddapiset.c,
	score/src/userextaddset.c, score/src/userextremoveset.c,
	score/src/userextthreadbegin.c, score/src/userextthreadcreate.c,
	score/src/userextthreaddelete.c, score/src/userextthreadrestart.c,
	score/src/userextthreadstart.c, score/src/userextthreadswitch.c: New
	files.
	* score/inline/rtems/score/userext.inl: Removed.
2007-05-09 18:27:26 +00:00
Joel Sherrill
e746a88b22 2007-05-03 Joel Sherrill <joel@OARcorp.com>
* ChangeLog, libcsupport/src/malloc.c,
	libcsupport/src/mallocfreespace.c, sapi/include/confdefs.h,
	score/Makefile.am, score/preinstall.am: malloc never blocks so the
	Region Manager is quite heavy for implementing this. This patch
	implements the C Program Heap directly in terms of the new Protected
	Heap handler. This handler is a direct use of a SuperCore Heap in
	conjunction with the Allocator Mutex used internally by RTEMS. This
	saves 3184 bytes on most SPARC test executables.
	* score/include/rtems/score/protectedheap.h, score/src/pheapallocate.c,
	score/src/pheapallocatealigned.c, score/src/pheapextend.c,
	score/src/pheapfree.c, score/src/pheapgetblocksize.c,
	score/src/pheapgetfreeinfo.c, score/src/pheapgetinfo.c,
	score/src/pheapinit.c, score/src/pheapresizeblock.c,
	score/src/pheapwalk.c: New files.
2007-05-03 21:33:39 +00:00
Joel Sherrill
412dbff629 2007-04-05 Joel Sherrill <joel@OARcorp.com>
* posix/Makefile.am, posix/include/rtems/posix/time.h,
	posix/src/adjtime.c, posix/src/alarm.c, posix/src/clockgetres.c,
	posix/src/condtimedwait.c, posix/src/mqueuetimedreceive.c,
	posix/src/mqueuetimedsend.c, posix/src/mutextimedlock.c,
	posix/src/nanosleep.c, posix/src/posixtimespecabsolutetimeout.c,
	posix/src/pthread.c, posix/src/pthreadcreate.c,
	posix/src/pthreadsetschedparam.c, posix/src/ptimer1.c,
	posix/src/sched.c, posix/src/semtimedwait.c,
	posix/src/sigtimedwait.c, posix/src/ualarm.c,
	rtems/src/clocktodtoseconds.c, score/Makefile.am,
	score/preinstall.am, score/include/rtems/score/tod.h,
	score/inline/rtems/score/tod.inl, score/src/coretod.c,
	score/src/coretodget.c, score/src/coretodgetuptime.c,
	score/src/coretodset.c, score/src/coretodtickle.c: Provide timespec
	manipulation routines in the SuperCore. Use them everywhere possible.
	This lead to significant cleanup in the API routines and eliminated
	some of the same code from the POSIX API. At this point, the
	SuperCore keeps time in POSIX timespec format properly from 1970. You
	just cannot set it before 1988 in keeping with RTEMS traditional
	behavior.
	* score/include/rtems/score/timespec.h, score/src/timespecaddto.c,
	score/src/timespecfromticks.c, score/src/timespecisvalid.c,
	score/src/timespeclessthan.c, score/src/timespecsubtract.c,
	score/src/timespectoticks.c: New files.
	* posix/src/posixintervaltotimespec.c,
	posix/src/posixtimespecsubtract.c,
	posix/src/posixtimespectointerval.c: Removed.
2007-04-05 21:17:27 +00:00
Ralf Corsepius
63a88eb0bc Regenerate. 2007-01-08 08:43:28 +00:00
Joel Sherrill
047d67ab25 2006-11-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/termios.c, posix/Makefile.am, posix/preinstall.am,
	posix/include/rtems/posix/config.h, posix/include/rtems/posix/time.h,
	sapi/src/posixapi.c, score/Makefile.am, score/preinstall.am,
	score/include/rtems/score/corerwlock.h,
	score/include/rtems/score/threadq.h,
	score/src/corerwlockobtainread.c, score/src/threadqenqueue.c,
	score/src/threadqtimeout.c: Adding POSIX barriers, POSIX spinlocks,
	and partial implementation of POSIX rwlocks.
	* posix/include/rtems/posix/barrier.h,
	posix/include/rtems/posix/rwlock.h,
	posix/include/rtems/posix/spinlock.h,
	posix/inline/rtems/posix/barrier.inl,
	posix/inline/rtems/posix/rwlock.inl,
	posix/inline/rtems/posix/spinlock.inl,
	posix/src/barrierattrdestroy.c, posix/src/barrierattrgetpshared.c,
	posix/src/barrierattrinit.c, posix/src/barrierattrsetpshared.c,
	posix/src/pbarrier.c, posix/src/pbarrierdestroy.c,
	posix/src/pbarrierinit.c, posix/src/pbarriertranslatereturncode.c,
	posix/src/pbarrierwait.c, posix/src/prwlock.c,
	posix/src/prwlockdestroy.c, posix/src/prwlockinit.c,
	posix/src/prwlockrdlock.c, posix/src/prwlocktimedrdlock.c,
	posix/src/prwlocktimedwrlock.c,
	posix/src/prwlocktranslatereturncode.c, posix/src/prwlocktryrdlock.c,
	posix/src/prwlocktrywrlock.c, posix/src/prwlockunlock.c,
	posix/src/prwlockwrlock.c, posix/src/pspin.c,
	posix/src/pspindestroy.c, posix/src/pspininit.c,
	posix/src/pspinlock.c, posix/src/pspinlocktranslatereturncode.c,
	posix/src/pspintrylock.c, posix/src/pspinunlock.c,
	posix/src/rwlockattrdestroy.c, posix/src/rwlockattrgetpshared.c,
	posix/src/rwlockattrinit.c, posix/src/rwlockattrsetpshared.c: New files.
2006-11-15 14:08:49 +00:00
Joel Sherrill
cbeebc061f 2006-10-19 Joel Sherrill <joel@OARcorp.com>
* score/Makefile.am, score/preinstall.am: Add pieces missed in previous
	commit.
2006-10-19 20:30:47 +00:00
Joel Sherrill
04dba496a6 2006-10-19 Joel Sherrill <joel@OARcorp.com>
* configure.ac, itron/Makefile.am, itron/preinstall.am,
	posix/Makefile.am, posix/preinstall.am, rtems/Makefile.am,
	rtems/preinstall.am, sapi/Makefile.am, sapi/preinstall.am,
	score/Makefile.am, score/preinstall.am, score/include/rtems/system.h,
	score/include/rtems/score/chain.h,
	score/include/rtems/score/thread.h, score/src/chain.c,
	score/src/coremutexseize.c, score/src/threadget.c: Remove all macro
	implementations and use only the static inline. Static inline
	functions are now well supported so there is no reason for duplicate
	maintenance.
	* itron/macros/rtems/itron/eventflags.inl,
	itron/macros/rtems/itron/fmempool.inl,
	itron/macros/rtems/itron/intr.inl, itron/macros/rtems/itron/mbox.inl,
	itron/macros/rtems/itron/msgbuffer.inl,
	itron/macros/rtems/itron/network.inl,
	itron/macros/rtems/itron/port.inl,
	itron/macros/rtems/itron/semaphore.inl,
	itron/macros/rtems/itron/sysmgmt.inl,
	itron/macros/rtems/itron/task.inl, itron/macros/rtems/itron/time.inl,
	itron/macros/rtems/itron/vmempool.inl,
	posix/macros/rtems/posix/cond.inl, posix/macros/rtems/posix/key.inl,
	posix/macros/rtems/posix/mqueue.inl,
	posix/macros/rtems/posix/mutex.inl,
	posix/macros/rtems/posix/priority.inl,
	posix/macros/rtems/posix/pthread.inl,
	posix/macros/rtems/posix/semaphore.inl,
	posix/macros/rtems/posix/timer.inl, rtems/macros/rtems/rtems/asr.inl,
	rtems/macros/rtems/rtems/attr.inl,
	rtems/macros/rtems/rtems/barrier.inl,
	rtems/macros/rtems/rtems/dpmem.inl,
	rtems/macros/rtems/rtems/event.inl,
	rtems/macros/rtems/rtems/eventset.inl,
	rtems/macros/rtems/rtems/message.inl,
	rtems/macros/rtems/rtems/modes.inl,
	rtems/macros/rtems/rtems/options.inl,
	rtems/macros/rtems/rtems/part.inl,
	rtems/macros/rtems/rtems/ratemon.inl,
	rtems/macros/rtems/rtems/region.inl,
	rtems/macros/rtems/rtems/sem.inl,
	rtems/macros/rtems/rtems/status.inl,
	rtems/macros/rtems/rtems/support.inl,
	rtems/macros/rtems/rtems/tasks.inl,
	rtems/macros/rtems/rtems/timer.inl, sapi/macros/rtems/extension.inl,
	score/macros/README, score/macros/rtems/score/address.inl,
	score/macros/rtems/score/chain.inl,
	score/macros/rtems/score/corebarrier.inl,
	score/macros/rtems/score/coremsg.inl,
	score/macros/rtems/score/coremutex.inl,
	score/macros/rtems/score/corerwlock.inl,
	score/macros/rtems/score/coresem.inl,
	score/macros/rtems/score/corespinlock.inl,
	score/macros/rtems/score/heap.inl, score/macros/rtems/score/isr.inl,
	score/macros/rtems/score/mppkt.inl,
	score/macros/rtems/score/object.inl,
	score/macros/rtems/score/objectmp.inl,
	score/macros/rtems/score/priority.inl,
	score/macros/rtems/score/stack.inl,
	score/macros/rtems/score/states.inl,
	score/macros/rtems/score/sysstate.inl,
	score/macros/rtems/score/thread.inl,
	score/macros/rtems/score/threadmp.inl,
	score/macros/rtems/score/tod.inl,
	score/macros/rtems/score/tqdata.inl,
	score/macros/rtems/score/userext.inl,
	score/macros/rtems/score/watchdog.inl,
	score/macros/rtems/score/wkspace.inl: Removed.
2006-10-19 19:20:10 +00:00
Joel Sherrill
9c191eea63 * score/Makefile.am, score/preinstall.am,
score/include/rtems/score/coresem.h,
	score/include/rtems/score/object.h,
	score/include/rtems/score/states.h,
	score/inline/rtems/score/coresem.inl: Add SuperCore Barriers,
	SpinLocks and a partial implementation of RWLocks.
	* score/include/rtems/score/corebarrier.h,
	score/include/rtems/score/corerwlock.h,
	score/include/rtems/score/corespinlock.h,
	score/inline/rtems/score/corebarrier.inl,
	score/inline/rtems/score/corerwlock.inl,
	score/inline/rtems/score/corespinlock.inl,
	score/macros/rtems/score/corebarrier.inl,
	score/macros/rtems/score/corerwlock.inl,
	score/macros/rtems/score/corespinlock.inl, score/src/corebarrier.c,
	score/src/corebarrierrelease.c, score/src/corebarrierwait.c,
	score/src/corerwlock.c, score/src/corerwlockobtainread.c,
	score/src/corerwlockobtainwrite.c, score/src/corerwlockrelease.c,
	score/src/corespinlock.c, score/src/corespinlockrelease.c,
	score/src/corespinlockwait.c: New files.
2006-09-25 13:36:58 +00:00
Ralf Corsepius
2eb7d07e17 Regenerate. 2006-01-14 06:20:35 +00:00
Ralf Corsepius
476114f5e9 Auto-generated update. 2005-02-19 17:08:36 +00:00
Ralf Corsepius
6c6ee53029 New. 2005-02-08 14:53:14 +00:00