summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/watchdogimpl.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove make preinstallChris Johns2018-01-251-574/+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.
* posix: Use far future for very long timeoutsSebastian Huber2017-11-021-0/+30
| | | | Close #3205.
* score: Move thread queue timeout handlingSebastian Huber2017-10-241-0/+5
| | | | | Update #3117. Update #3182.
* score: _Watchdog_Per_CPU_lazy_insert_monotonic()Sebastian Huber2017-10-241-0/+25
| | | | | Update #3117. Update #3182.
* score: Add _Watchdog_Monotonic_from_timespec()Sebastian Huber2017-10-241-0/+16
| | | | | Update #3117. Update #3182.
* score: _Watchdog_Is_far_future_monotonic_timespecSebastian Huber2017-10-241-0/+7
| | | | | Update #3117. Update #3182.
* score: Add _Watchdog_Is_valid_interval_timespec()Sebastian Huber2017-10-241-0/+7
| | | | | Update #3117. Update #3182.
* score: _Watchdog_Is_far_future_realtime_timespec()Sebastian Huber2017-10-241-9/+32
| | | | | Update #3117. Update #3182.
* score: Rename _Watchdog_Ticks_from_*()Sebastian Huber2017-10-241-3/+3
| | | | | | | | | | Rename _Watchdog_Ticks_from_*() to _Watchdog_Realtime_from_*(). This highlights that these routines are used for the CLOCK_REALTIME watchdogs (in contrast to CLOCK_MONOTONIC). Update #3117. Update #3182.
* score: Rename _Watchdog_Per_CPU_insert_monotonic()Sebastian Huber2017-10-171-1/+1
| | | | | | | | Rename _Watchdog_Per_CPU_insert_monotonic() in _Watchdog_Per_CPU_insert_ticks(). Update #3117. Update #3182.
* score: Rename watchdog variantsSebastian Huber2017-10-171-10/+10
| | | | | | | | | | | Rename PER_CPU_WATCHDOG_RELATIVE in PER_CPU_WATCHDOG_MONOTONIC to highlight the corresponding POSIX CLOCK_MONOTONIC. Rename PER_CPU_WATCHDOG_ABSOLUTE in PER_CPU_WATCHDOG_REALTIME to highlight the corresponding POSIX CLOCK_REALTIME. Update #3117. Update #3182.
* score: Add _Watchdog_Ticks_from_sbintimeSebastian Huber2016-11-031-0/+12
| | | | Necessary to support a network stack update to FreeBSD 12.
* score: FormatSebastian Huber2016-07-261-17/+15
|
* cpukit: Add and use Watchdog_Discipline.Gedare Bloom2016-07-251-19/+19
| | | | | | | | | Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE, or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline of WATCHDOG_NO_TIMEOUT. updates #2732
* score: Silence integer conversion warningsSebastian Huber2016-06-241-1/+1
|
* score: Modify release job scheduler operationSebastian Huber2016-06-221-2/+6
| | | | | | Pass the deadline in watchdog ticks to the scheduler. Update #2173.
* score: Replace watchdog handler implementationSebastian Huber2016-03-041-334/+267
| | | | | | | | | Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
* score: Distribute clock tick to all online CPUsSebastian Huber2016-03-041-3/+4
| | | | Update #2554.
* score: Avoid SCORE_EXTERNSebastian Huber2016-02-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Delete SCORE_INIT. This finally removes the some.h: #ifndef SOME_XYZ_EXTERN #define SOME_XYZ_EXTERN extern #endif SOME_XYZ_EXTERN type xyz; some_xyz.c: #define SOME_XYZ_EXTERN #include <some.h> pattern in favour of some.h: extern type xyz; some_xyz.c #include <some.h> type xyz; Update #2559.
* score: Add _Watchdog_Preinitialize()Sebastian Huber2015-06-131-1/+22
| | | | | | Add an assert to ensure that the watchdog is the proper state for a _Watchdog_Initialize(). This helps to detect invalid initializations which may lead to a corrupt watchdog chain.
* score: Delete unused state WATCHDOG_REMOVE_ITSebastian Huber2015-06-131-14/+0
|
* timecounter: Use in RTEMSAlexander Krutwig2015-05-201-0/+7
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* score: New timer server implementationSebastian Huber2015-05-191-13/+46
| | | | | | | | Use mostly the standard watchdog operations. Use a system event for synchronization. This implementation is simpler and offers better SMP performance. Close #2131.
* score: Move _Watchdog_Tickle()Sebastian Huber2015-05-191-10/+0
| | | | | | | Make internal function _Watchdog_Remove_it() static to avoid accidental usage. Update #2307.
* score: Add Watchdog_IteratorSebastian Huber2015-05-191-16/+42
| | | | | | | | | | Rewrite the _Watchdog_Insert(), _Watchdog_Remove() and _Watchdog_Tickle() functions to use iterator items to synchronize concurrent operations. This makes it possible to get rid of the global variables _Watchdog_Sync_level and _Watchdog_Sync_count which are a blocking point for scalable SMP solutions. Update #2307.
* score: Add _Watchdog_Acquire|Release|Flash()Sebastian Huber2015-05-191-0/+30
| | | | Update #2307.
* score: Add header to _Watchdog_Remove()Sebastian Huber2015-05-191-1/+17
| | | | | | | | Add watchdog header parameter to _Watchdog_Remove() to be in line with the other operations. Add _Watchdog_Remove_ticks() and _Watchdog_Remove_seconds() for convenience. Update #2307.
* score: Delete unused WATCHDOG_MAXIMUM_INTERVALSebastian Huber2015-04-161-8/+0
|
* score: Rename _Watchdog_Reset()Sebastian Huber2015-04-141-1/+1
| | | | Update #2307.
* score: Add Watchdog_HeaderSebastian Huber2015-04-131-19/+43
| | | | | | | This type is intended to encapsulate all state to manage a watchdog chain. Update #2307.
* score: Split _Watchdog_Adjust()Sebastian Huber2015-04-131-58/+20
| | | | | | | | | Split _Watchdog_Adjust() into _Watchdog_Adjust_backward() and _Watchdog_Adjust_forward(). Remove Watchdog_Adjust_directions, _Watchdog_Adjust_seconds() and _Watchdog_Adjust_ticks(). This avoids to check the same condition again. Update #2307.
* rtems: Inline rtems_clock_get_ticks_since_boot()Sebastian Huber2014-08-251-8/+0
| | | | Update documentation.
* score: Delete _Watchdog_Report()Sebastian Huber2014-03-251-39/+0
| | | | | | | Delete _Watchdog_Report_chain(). These two functions use printk() with thread dispatching and interrupts disabled. So they are pretty useless in real applications. They are not part of the application APIs. They are only used in one test and do nothing useful in this test.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score: Move nanoseconds since last tick supportSebastian Huber2013-08-011-16/+0
| | | | | | 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.
* score: Add WATCHDOG_INITIALIZER()Sebastian Huber2013-07-221-0/+13
|
* score: Create watchdog implementation headerSebastian Huber2013-07-221-0/+476
Move implementation specific parts of watchdog.h and watchdog.inl into new header file watchdogimpl.h. The watchdog.h contains now only the application visible API.