summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/todimpl.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-04-04doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber1-4/+4
Update #3706
2019-04-02doxygen: Reviewed cpukit/include/rtems/scoreAndreas Dachsberger1-3/+1
Update #3706.
2018-11-12score: Remove empty <rtems/score/tod.h>Sebastian Huber1-1/+0
Update #3598.
2018-01-25Remove make preinstallChris Johns1-0/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-12-04score: Use self-contained API mutexSebastian Huber1-10/+6
Use a self-contained recursive mutex for API_Mutex_Control. The API mutexes are protected against asynchronous thread cancellation. Add dedicated mutexes for libatomic and TOD. Close #2629. Close #2630.
2017-10-24score: Move thread queue timeout handlingSebastian Huber1-40/+0
Update #3117. Update #3182.
2017-10-09score: Change Timestamp_Control to sbintime_tSebastian Huber1-3/+2
The timestamp are based on the uptime. There is no need for a 64-bit seconds part. The signed 32-bit seconds part of the sbintime_t limits the uptime to roughly 68 years. Close #2740.
2017-10-09score: Use struct timespec for TODSebastian Huber1-46/+8
Use the timestamps only for uptime based values. Use struct timespec for the absolute time values (TOD). Update #2740.
2016-07-25posix: cond_timedwait remember and use clock from condattrGedare Bloom1-0/+2
updates #2745
2016-05-02score: Avoid Giant lock for set time of daySebastian Huber1-3/+31
Update #2555. Update #2630.
2016-05-02score: Streamline set time of day functionsSebastian Huber1-16/+9
Rename _TOD_Set() into _TOD_Set_with_timespec(). Rename _TOD_Set_with_timestamp() into _TOD_Set(). This is now in line with _TOD_Get() and _TOD_Get_as_timespec(). The timestamp is the canonical format.
2016-03-04score: Replace watchdog handler implementationSebastian Huber1-17/+0
Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
2016-01-12score: Statically initialize TOD handlerSebastian Huber1-8/+1
2015-07-28score: Rename _POSIX_Absolute_timeout_to_ticks()Sebastian Huber1-0/+39
Rename _POSIX_Absolute_timeout_to_ticks() to _TOD_Absolute_timeout_to_ticks() and move it to the score directory. Delete empty <rtems/posix/time.h>.
2015-05-20timecounter: Use in RTEMSAlexander Krutwig1-76/+59
Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
2014-07-23todimpl.h: Add missing DoxygenJoel Sherrill1-0/+10
2014-07-23Add _TOD_Adjust to SCORE TOD Handler.Joel Sherrill1-0/+12
This lays the proper structure for doing future work on time adjustment algorithms. Any TOD adjustments should be requested at the API level and performed at the SCORE level. Additionally updated a test.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-11score: Add local context to SMP lock APISebastian Huber1-4/+4
Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
2013-08-01score: Use an ISR lock for TODSebastian Huber1-10/+25
Two issues are addressed. 1. On single processor configurations the set/get of the now/uptime timestamps is now consistently protected by ISR disable/enable sequences. Previously nested interrupts could observe partially written values since 64-bit writes are not atomic on 32-bit architectures in general. This could lead to non-monotonic uptime timestamps. 2. The TOD now/uptime maintanence is now independent of the giant lock. This is the first step to remove the giant lock in _Thread_Dispatch().
2013-08-01score: Move nanoseconds since last tick supportSebastian Huber1-1/+15
Move the nanoseconds since last tick support from the Watchdog to the TOD handler. Now the TOD managment is encapsulated in the TOD_Control structure.
2013-08-01score: Add and use _TOD_Is_set()Sebastian Huber1-0/+5
2013-08-01score: Delete _TOD_Activate and _TOD_DeactivateSebastian Huber1-18/+0
2013-08-01score: Rename tod.h to todimpl.hSebastian Huber1-2/+2
2013-07-26score: Merge tod implementation into one fileSebastian Huber1-43/+43
Delete TOD_MICROSECONDS_PER_SECOND, TOD_MICROSECONDS_TO_TICKS() and TOD_MILLISECONDS_TO_TICKS().
2013-01-10cpukit: Fix many Doxygen warningsJoel Sherrill1-3/+4
2013-01-10cpukit: Add EOL on files missing EOL at EOFJoel Sherrill1-1/+1
2012-12-28score: Doxygen Clean Up Task #2Mathew Kallada1-14/+16
2012-12-01score misc: Score misc: Clean up Doxygen #10 (GCI 2012)Christopher Kerl1-2/+2
This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7983216
2012-11-29score misc: Score misc: Clean up Doxygen #6 (GCI 2012)Christopher Kerl1-1/+5
This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7976215
2012-11-28score misc: Clean up Doxygen #2 (GCI 2012)Christopher Kerl1-1/+1
This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7986213
2012-11-21score: Add and use _TOD_Get_with_nanoseconds()Sebastian Huber1-9/+20
Delete _TOD_Get_as_timestamp().
2012-10-02score/tod.h: Fix formattingJoel Sherrill1-2/+2
2012-06-14score: Fix performance issue for 64-bit timestampsSebastian Huber1-0/+9
The 64-bit timestamps were introduced to simplify the timestamp calculations. This works well since nearly all operations are additions. The previous _TOD_Tickle_ticks() implementation had a serious performance regression in case of 64-bit timestamps due to the usage of two 64-bit divisions which are quite expensive on some architectures. A new field seconds_trigger in TOD_Control is introduced to trigger the _Watchdog_Tickle_seconds() in _TOD_Tickle_ticks(). This avoids the 64-bit divisions completely and only 32-bit additions are used.
2012-06-14score: New structure TOD_ControlSebastian Huber1-21/+24
Group the global TOD variables (_TOD_Now, _TOD_Uptime, and _TOD_Is_set) in a structure to reduce address loads in _TOD_Tickle_ticks().
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2011-09-292011-09-29 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-12/+33
* score/include/rtems/score/tod.h: Declare _TOD_Set_with_timestamp() and _TOD_Get_as_timestamp(). * score/src/coretodset.c: Define _TOD_Set_with_timestamp(). * score/src/coretodget.c: Define _TOD_Get_as_timestamp(). * rtems/src/clockset.c: Use _TOD_Set_with_timestamp(). * score/include/rtems/score/timestamp64.h, score/src/ts64set.c: Changed parameter types of _Timestamp64_Set(). * rtems/src/clocktodtoseconds.c: Year 2100 is not a leap year.
2011-06-172011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+7
* rtems/include/rtems/rtems/types.h, score/include/rtems/score/address.h, score/include/rtems/score/apiext.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/context.h, score/include/rtems/score/corebarrier.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/corerwlock.h, score/include/rtems/score/coresem.h, score/include/rtems/score/corespinlock.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/percpu.h, score/include/rtems/score/priority.h, score/include/rtems/score/rbtree.h, score/include/rtems/score/scheduler.h, score/include/rtems/score/smp.h, score/include/rtems/score/smplock.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadq.h, score/include/rtems/score/threadsync.h, score/include/rtems/score/timespec.h, score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h: Mark Score files as in Score Group to improve Doxygen output.
2011-06-172011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-16/+34
* libcsupport/include/rtems/malloc.h, libmisc/stackchk/stackchk.h, posix/include/rtems/posix/time.h, rtems/include/rtems/rtems/object.h, score/include/rtems/score/apiext.h, score/include/rtems/score/interr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/timespec.h, score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/include/rtems/score/tod.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h: Make @brief formatting more consistent. * score/include/rtems/score/rbtree.h: Also reformat.
2011-02-232011-02-23 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-3/+4
* score/include/rtems/score/tod.h: Add missing includes.
2009-11-28Whitespace removal.Ralf Corsepius1-5/+5
2009-09-132009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-1/+1
* score/include/rtems/score/tod.h: Fix typo.
2009-07-012009-07-01 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill1-1/+1
* score/include/rtems/score/tod.h: Correct name of parameter.
2008-12-22Eliminate TRUE/FALSE.Ralf Corsepius1-2/+2
2008-12-172008-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-3/+1
* sapi/include/rtems/extension.h, sapi/include/rtems/io.h, sapi/src/exinit.c, sapi/src/extension.c, sapi/src/io.c, score/include/rtems/score/mpci.h, score/include/rtems/score/object.h, score/include/rtems/score/thread.h, score/include/rtems/score/tod.h, score/include/rtems/score/userext.h, score/include/rtems/score/wkspace.h, score/src/coretod.c, score/src/mpci.c, score/src/object.c, score/src/thread.c, score/src/userext.c, score/src/wkspace.c: Convert SAPI manager and SuperCore Handler initialization routines to directly pull parameters from configuration table.
2008-12-162008-12-16 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-23/+17
* 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.
2008-12-082008-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-4/+16
* 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-09-04Convert to "bool".Ralf Corsepius1-1/+1
2008-04-092008-04-09 Madhusudan.C.S <madhusudancs@gmail.com>Joel Sherrill1-2/+2
* score/include/rtems/score/tod.h: Fix typo.
2008-01-292008-01-29 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-12/+13
* score/Doxyfile: Update to latest Doxygen format. * score/include/rtems/score/apimutex.h, score/include/rtems/score/corebarrier.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/corerwlock.h, score/include/rtems/score/heap.h, score/include/rtems/score/object.h, score/include/rtems/score/protectedheap.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadsync.h, score/include/rtems/score/tod.h, score/inline/rtems/score/corerwlock.inl, score/inline/rtems/score/corespinlock.inl: Remove most doxygen warnings.