| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Adds enqueue, dequeue, requeue, evaluate, and release functions
for the thread priority node priority queue of inherited priorities.
Add calls to these functions as needed to maintain the priority
queue due to blocking, unblocking, and priority changes.
Closes #3359.
|
|
|
|
| |
_User_extensions_Add_API_set
|
|
|
|
| |
_Heap_Allocate_aligned_with_boundary().
|
| |
|
|
|
|
| |
* score/Makefile.am: Re-add file accidentally deleted by Sebastian.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sapi/include/rtems/extension.h, sapi/src/extensiondelete.c,
sapi/src/extensionident.c, sapi/src/extensioncreate.c,
sapi/inline/rtems/extension.inl, score/include/rtems/score/userext.h,
score/src/userextthreaddelete.c, score/src/userext.c,
score/src/userextthreadcreate.c, score/src/userextremoveset.c,
score/src/userextthreadbegin.c, score/src/userextaddset.c,
score/src/userextthreadstart.c, score/src/userextthreadswitch.c,
score/src/userextthreadrestart.c: Documentation. The types
User_extensions_routine and rtems_extension are now deprecated.
Removed unused types User_extensions_thread_post_switch_extension and
rtems_task_post_switch_extension. Renamed _User_extensions_Add_API_set()
in _User_extensions_Add_set(). Renamed _User_extensions_Add_set() in
_User_extensions_Add_set_with_table().
* score/src/userextaddapiset.c: Removed file.
* score/Makefile.am: Update.
|
|
|
|
|
|
| |
* score/src/heapalignupuptr.c, score/src/heapallocatealigned.c:
Removed files.
* score/Makefile.am: Update.
|
|
|
|
|
|
|
| |
* sapi/include/confdefs.h, score/Makefile.am,
score/include/rtems/score/thread.h: Only instantiate
_Thread_Idle_body() if it is going ot be used.
* score/src/threadidlebody.c: Removed.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* libcsupport/Makefile.am, posix/Makefile.am, rtems/Makefile.am,
sapi/Makefile.am, score/Makefile.am,
score/include/rtems/score/heap.h: HEAP_BLOCK_USED_OVERHEAD was under
by one uint32_t. This showed up in the unlimited and heapwalk tests
on ARM targets.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* score/Makefile.am: Move from inline to body to avoid path explosion
from inlining this. Makes coverage analysis easier.
* score/src/heapalignupuptr.c: New file.
|
|
|
|
|
| |
* score/Makefile.am, score/preinstall.am: SuperCore Spinlock is only
used by POSIX API. Do not build it when POSIX is not enabled.
|
| |
|
|
|
|
|
|
|
|
| |
* libcsupport/src/malloc_initialize.c, score/Makefile.am,
score/include/rtems/score/protectedheap.h,
score/inline/rtems/score/heap.inl: Get total heap size correct when
using unified C Program Heap and RTEMS Workspace.
* score/src/pheapgetsize.c: New file.
|
|
|
|
|
|
|
|
|
|
| |
* rtems/include/rtems/rtems/regionmp.h, sapi/include/rtems/config.h,
sapi/src/exinit.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/include/rtems/score/objectmp.h, score/src/objectmp.c: Eliminate
Object Handler Initialization routine since it was all for MP
configurations.
* score/src/object.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libblock/src/bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/mw-fb/mw_uid.c,
rtems/include/rtems/rtems/support.h, score/Makefile.am,
score/include/rtems/score/tod.h, score/src/coretod.c,
score/src/coretodtickle.c: Eliminate all public use of TOD conversion
routines. Eliminate _TOD_Microseconds_per_tick and let every place
use the field directly from the Configuration Table. This required
moving some methods from macros to bodies.
* score/src/coretodmsecstoticks.c, score/src/coretodtickspersec.c,
score/src/coretodusectoticks.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1347/cpukit
* rtems/include/rtems/rtems/timer.h, rtems/src/rtemstimer.c,
rtems/src/timerreset.c, rtems/src/timerserver.c,
rtems/src/timerserverfireafter.c, rtems/src/timerserverfirewhen.c,
score/Makefile.am, score/include/rtems/score/watchdog.h: Rework Timer
Server to ensure that the context allows for blocking, allocating
memory, and acquiring semaphores and mutexes.
* score/src/watchdogadjusttochain.c: New file.
|
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/watchdog.h: Add
_Watchdog_Report and _Watchdog_Report_chain as debug assist routines.
They are NOT to be used in directives.
* score/src/watchdogreport.c, score/src/watchdogreportchain.c:
New files.
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/src/mqueueunlink.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl: Enhance
_Objects_Namespace_remove() to handle freeing object names which are
strings. All changed _Objects_Close() to call
_Objects_Namespace_remove(). The resulting code was then moved from
inline routines to function calls.
* score/src/objectclose.c, score/src/objectnamespaceremove.c: New files.
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/threadq.h,
score/inline/rtems/score/threadq.inl: _Thread_queue_Process_timeout
was really too complex to be inlined.
* score/src/threadqprocesstimeout.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/src/exd_tsk.c, itron/src/task.c, libmisc/capture/capture.c,
libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c,
libmisc/monitor/mon-itask.c, libmisc/monitor/mon-monitor.c,
libmisc/monitor/mon-mpci.c, libmisc/monitor/mon-object.c,
libmisc/monitor/mon-symbols.c, posix/src/cancelrun.c,
posix/src/pthreadexit.c, rtems/Makefile.am, rtems/preinstall.am,
rtems/include/rtems.h, rtems/include/rtems/rtems/support.h,
rtems/inline/rtems/rtems/tasks.inl, rtems/src/eventmp.c,
rtems/src/msgmp.c, rtems/src/partmp.c, rtems/src/regionmp.c,
rtems/src/rtemsobjectgetname.c, rtems/src/semmp.c,
rtems/src/signalmp.c, rtems/src/taskdelete.c, rtems/src/taskmp.c,
rtems/src/timerserver.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/Unlimited.txt,
score/src/objectgetnameasstring.c,
score/src/threadqextractwithproxy.c: Add new Object Services
collection. This changed the name of a few previously public but
undocumented services and added a some new services.
* rtems/include/rtems/rtems/object.h, rtems/src/rtemsbuildid.c,
rtems/src/rtemsbuildname.c, rtems/src/rtemsobjectapimaximumclass.c,
rtems/src/rtemsobjectapiminimumclass.c,
rtems/src/rtemsobjectgetapiclassname.c,
rtems/src/rtemsobjectgetapiname.c,
rtems/src/rtemsobjectgetclassicname.c,
rtems/src/rtemsobjectgetclassinfo.c,
rtems/src/rtemsobjectidapimaximum.c,
rtems/src/rtemsobjectidapiminimum.c, rtems/src/rtemsobjectidgetapi.c,
rtems/src/rtemsobjectidgetclass.c, rtems/src/rtemsobjectidgetindex.c,
rtems/src/rtemsobjectidgetnode.c, rtems/src/rtemsobjectsetname.c,
score/src/objectapimaximumclass.c, score/src/objectgetinfo.c,
score/src/objectgetinfoid.c, score/src/objectsetname.c: New files.
* rtems/src/rtemsidtoname.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/include/rtems/itron/object.h, itron/src/cre_tsk.c,
libblock/src/show_bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/monitor/mon-manager.c,
libmisc/stackchk/check.c, posix/src/condinit.c,
posix/src/keycreate.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/mqueueunlink.c,
posix/src/mutexinit.c, posix/src/pbarrierinit.c,
posix/src/prwlockinit.c, posix/src/pspininit.c,
posix/src/pthreadcreate.c, posix/src/pthreadexit.c,
posix/src/semaphorecreatesupp.c, posix/src/semaphorenametoid.c,
posix/src/timercreate.c, rtems/src/barrierident.c,
rtems/src/dpmemident.c, rtems/src/msgqident.c, rtems/src/partident.c,
rtems/src/ratemonident.c, rtems/src/regionident.c,
rtems/src/semident.c, rtems/src/taskident.c, rtems/src/timerident.c,
sapi/src/extensionident.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/apimutexallocate.c,
score/src/objectextendinformation.c,
score/src/objectgetnameasstring.c, score/src/objectmp.c,
score/src/objectnametoid.c: Convert the Objects_Name type from a
simple type to a union of an unsigned 32 bit integer and a pointer.
This should help eliminate weird casts between u32 and pointers in
various places. The APIs now have to explicitly call _u32 or _string
versions of helper routines. This should also simplify things and
eliminate the need for ugly casts in some cases.
* score/src/objectclearname.c, score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* score/Makefile.am: Add missing file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: fixed bug that always enabled strict order
mutexes.
* score/inline/rtems/score/coremutex.inl: Fixed coding standard.
* score/src/coremutex.c: Add the holder's thread to the lock_mutex
list if the mutex is initialised locked.
* libnetworking/rtems/rtems_glue.c: Changed semaphore error
message to show the error is an rtems-net error.
* libmisc/monitor/mon-network.c: Removed warnings.
* telnetd/icmds.c: Changed shell_* to rtems_shell_*.
* score/Makefile.am: Fixed typo that stopped 'make tags' working.
* libmisc/shell/err.c, libmisc/shell/err.h, libmisc/shell/errx.c,
libmisc/shell/extern-cp.h, libmisc/shell/fts.c,
libmisc/shell/fts.h, libmisc/shell/main_cp.c,
libmisc/shell/utils-cp.c, libmisc/shell/verr.c,
libmisc/shell/verrx.c, libmisc/shell/vwarn.c,
libmisc/shell/vwarnx.c, libmisc/shell/warn.c,
libmisc/shell/warnx.c: New. Ported from BSD.
* libmisc/shell/shellconfig.h: Add the cp command.
* libmisc/Makefile.am: Add the new files to the shell.
* libmisc/shell/shell.c, libmisc/shell/shell.h: Add scripting
support.
* libblock/src/flashdisk.c: Fixed disk drive count size setting
bug.
|
|
|
|
|
| |
* score/Makefile.am: _Thread_Rotate_ready_queue is only used by ITRON
API.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* score/Makefile.am: Only used by ITRON so do not build if ITRON is
disabled.
|
|
|
|
|
|
|
|
|
|
| |
* sapi/src/exinit.c, score/Makefile.am,
score/include/rtems/score/apimutex.h: API Mutex calls should never
have been inlined. Inlining them lead to many inlined copies of core
mutex lock. This lead to over 2K savings in the SPARC/ERC32
minimum.exe.
* score/src/apimutex.c, score/src/apimutexallocate.c,
score/src/apimutexlock.c, score/src/apimutexunlock.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/thread.h,
score/inline/rtems/score/thread.inl: No longer inline _Thread_Get. It
resulted in unnessary code explosion, many uncovered paths when
looking at binary executable coverage, and only optimized getting
self. Id translations were still getting pushed to a subroutine call
to _Objects_Get. Later the non-inlined version can be further
optimized to get Ids in range for the current API, then self, then
look at other APIs.
* score/src/threadget.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ChangeLog, configure.ac, libcsupport/src/__times.c,
libmisc/cpuuse/cpuuse.c, libmisc/stackchk/check.c,
rtems/include/rtems/rtems/ratemon.h, rtems/src/ratemongetstatus.c,
rtems/src/ratemonperiod.c, rtems/src/ratemonreportstatistics.c,
rtems/src/ratemonresetall.c, rtems/src/ratemontimeout.c,
score/Makefile.am, score/include/rtems/score/thread.h,
score/include/rtems/score/timespec.h, score/src/threaddispatch.c,
score/src/threadinitialize.c, score/src/threadtickletimeslice.c,
score/src/timespecdivide.c: Add nanoseconds granularity to the rate
monotonic period statistics and CPU usage statistics. This capability
is enabled by default although may be conditionally disabled by the
user. It could be too much overhead on small targets but it does not
appear to be bad in early testing. Its impact on code size has not
been evaluated either. It is possible that both forms of statistics
gathering could be disabled with further tweaking of the conditional
compilation.
* score/src/timespecdividebyinteger.c: New file.
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/timespec.h: Add division
and greater than operations for timespecs.
* score/src/timespecdivide.c, score/src/timespecgreaterthan.c:
New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, preinstall.am, libmisc/Makefile.am, rtems/Makefile.am,
rtems/include/rtems.h, rtems/include/rtems/rtems/ratemon.h,
rtems/inline/rtems/rtems/ratemon.inl, rtems/src/ratemoncancel.c,
rtems/src/ratemoncreate.c, rtems/src/ratemondelete.c,
rtems/src/ratemongetstatus.c, rtems/src/ratemonident.c,
rtems/src/ratemonperiod.c, rtems/src/ratemontimeout.c,
score/Makefile.am, score/include/rtems/score/object.h,
score/src/threadhandler.c, wrapup/Makefile.am: Integrate Rate
Monotonic Statistics and Period Usage into Rate Monotonic Manager.
Added the following directives: rtems_rate_monotonic_get_statistics,
rtems_rate_monotonic_reset_statistics,
rtems_rate_montonic_reset_all_statistics,
rtems_rate_montonic_report_statistics, and rtems_object_get_name.
Obsoleted the rtems/rtmonuse.h file as a public interface.
* rtems/src/ratemongetstatistics.c,
rtems/src/ratemonreportstatistics.c, rtems/src/ratemonresetall.c,
rtems/src/ratemonresetstatistics.c, rtems/src/rtemsobjectgetname.c,
score/src/objectgetnameasstring.c: New files.
* libmisc/rtmonuse/rtmonuse.c, libmisc/rtmonuse/rtmonuse.h: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* score/Makefile.am, score/include/rtems/score/tod.h,
score/inline/rtems/score/tod.inl: Make _TOD_Tickle_ticks a real
non-inlined routine. It should only be used once so there is little
advantage to inlining it.
* score/src/coretodtickle.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/src/itrontime.c, libcsupport/src/__gettod.c,
posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h,
posix/src/clockgettime.c, posix/src/clocksettime.c,
posix/src/nanosleep.c, posix/src/posixtimespecsubtract.c,
posix/src/posixtimespectointerval.c, posix/src/ptimer1.c,
posix/src/sleep.c, rtems/Makefile.am,
rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/timer.h,
rtems/include/rtems/rtems/types.h, rtems/src/clockget.c,
rtems/src/clockset.c, rtems/src/clocktodtoseconds.c,
rtems/src/clocktodvalidate.c, rtems/src/taskwakewhen.c,
score/Makefile.am, score/include/rtems/score/tod.h,
score/inline/rtems/score/tod.inl, score/src/coretod.c,
score/src/coretodset.c: Convert from Classic API style TOD_Control as
fundamental time structure to POSIX struct timespec. Add
clock_get_uptime().
* rtems/src/clockgetuptime.c, score/src/coretodget.c,
score/src/coretodgetuptime.c: New files.
* score/src/coretodtickle.c, score/src/coretodtoseconds.c,
score/src/coretodvalidate.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1222/cpukit
* score/Makefile.am, score/include/rtems/score/coremutex.h,
score/include/rtems/score/threadq.h,
score/inline/rtems/score/coremutex.inl, score/src/coremsgsubmit.c,
score/src/coremutexsurrender.c, score/src/threadchangepriority.c,
score/src/threadclearstate.c, score/src/threadhandler.c,
score/src/threadinitialize.c, score/src/threadqdequeuefifo.c,
score/src/threadqdequeuepriority.c, score/src/threadqenqueue.c,
score/src/threadqenqueuefifo.c, score/src/threadqenqueuepriority.c,
score/src/threadqextractfifo.c, score/src/threadqextractpriority.c,
score/src/threadsetstate.c: Enhance so that when the prioirity of a
thread that is blocked on a priority based thread queue is changed,
that its placement in the queue is reevaluated based upon the new
priority. This enhancement includes modifications to the SuperCore as
well as new test cases.
* score/src/threadqrequeue.c: New file.
|
|
|
|
| |
* score/Makefile.am: Remove macros/README.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* score/Makefile.am, score/preinstall.am: Add pieces missed in previous
commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|