diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/rtems/include/rtems/rtems/clock.h | 3 | ||||
-rw-r--r-- | cpukit/rtems/src/clockgettickspersecond.c | 2 | ||||
-rw-r--r-- | testsuites/sptests/spwatchdog/init.c | 3 |
3 files changed, 8 insertions, 0 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h index b1ae8845a6..a837b88700 100644 --- a/cpukit/rtems/include/rtems/rtems/clock.h +++ b/cpukit/rtems/include/rtems/rtems/clock.h @@ -198,6 +198,9 @@ RTEMS_INLINE_ROUTINE bool rtems_clock_tick_before( */ rtems_interval rtems_clock_get_ticks_per_second(void); +/* Optimized variant for C/C++ without function call overhead */ +#define rtems_clock_get_ticks_per_second() ( _Watchdog_Ticks_per_second ) + /** * @brief Set the Current TOD * diff --git a/cpukit/rtems/src/clockgettickspersecond.c b/cpukit/rtems/src/clockgettickspersecond.c index a2f78eb627..07497cfd58 100644 --- a/cpukit/rtems/src/clockgettickspersecond.c +++ b/cpukit/rtems/src/clockgettickspersecond.c @@ -20,6 +20,8 @@ #include <rtems/rtems/clock.h> +#undef rtems_clock_get_ticks_per_second + rtems_interval rtems_clock_get_ticks_per_second(void) { return _Watchdog_Ticks_per_second; diff --git a/testsuites/sptests/spwatchdog/init.c b/testsuites/sptests/spwatchdog/init.c index d212fbb37a..5ab6958d46 100644 --- a/testsuites/sptests/spwatchdog/init.c +++ b/testsuites/sptests/spwatchdog/init.c @@ -62,6 +62,9 @@ static void test_watchdog_config( void ) rtems_test_assert( _Watchdog_Nanoseconds_per_tick == 10000000 ); rtems_test_assert( _Watchdog_Ticks_per_second == 100 ); rtems_test_assert( _Watchdog_Monotonic_max_seconds == 184467440737095516 ); + rtems_test_assert( rtems_clock_get_ticks_per_second() == 100 ); + #undef rtems_clock_get_ticks_per_second + rtems_test_assert( rtems_clock_get_ticks_per_second() == 100 ); } static bool test_watchdog_is_inactive( test_watchdog *watchdog ) |