From ccbcfb679da0a6c07878d3ae4ff0f91cb1c3caee Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 11 Oct 2021 17:07:50 +0200 Subject: rtems: Add new clock manager directives Update #4527. --- cpukit/score/src/kern_tc.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'cpukit/score/src/kern_tc.c') diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c index e999172cad..ea7d9ec953 100644 --- a/cpukit/score/src/kern_tc.c +++ b/cpukit/score/src/kern_tc.c @@ -61,6 +61,7 @@ #include #include #include +#include #endif /* __rtems__ */ #include __FBSDID("$FreeBSD$"); @@ -699,6 +700,16 @@ getmicrotime(struct timeval *tvp) } #endif /* FFCLOCK */ +#ifdef __rtems__ +void +rtems_clock_get_boot_time(struct timespec *boottime) +{ + struct bintime boottimebin; + + getboottimebin(&boottimebin); + bintime2timespec(&boottimebin, boottime); +} +#endif /* __rtems__ */ void getboottime(struct timeval *boottime) { @@ -2646,4 +2657,49 @@ DB_SHOW_COMMAND(timecounter, db_show_timecounter) (intmax_t)th->th_boottime.sec, (uintmax_t)th->th_boottime.frac); } #endif +#else /* __rtems__ */ +RTEMS_ALIAS(_Timecounter_Nanotime) +void rtems_clock_get_realtime(struct timespec *); + +RTEMS_ALIAS(_Timecounter_Bintime) +void rtems_clock_get_realtime_bintime(struct bintime *); + +RTEMS_ALIAS(_Timecounter_Microtime) +void rtems_clock_get_realtime_timeval(struct timeval *); + +RTEMS_ALIAS(_Timecounter_Getnanotime) +void rtems_clock_get_realtime_coarse(struct timespec *); + +RTEMS_ALIAS(_Timecounter_Getbintime) +void rtems_clock_get_realtime_coarse_bintime(struct bintime *); + +RTEMS_ALIAS(_Timecounter_Getmicrotime) +void rtems_clock_get_realtime_coarse_timeval(struct timeval *); + +RTEMS_ALIAS(_Timecounter_Nanouptime) +void rtems_clock_get_monotonic(struct timespec *); + +RTEMS_ALIAS(_Timecounter_Binuptime) +void rtems_clock_get_monotonic_bintime(struct bintime *); + +RTEMS_ALIAS(_Timecounter_Sbinuptime) +sbintime_t rtems_clock_get_monotonic_sbintime(void); + +RTEMS_ALIAS(_Timecounter_Microuptime) +void rtems_clock_get_monotonic_timeval(struct timeval *); + +RTEMS_ALIAS(_Timecounter_Getnanouptime) +void rtems_clock_get_monotonic_coarse(struct timespec *); + +RTEMS_ALIAS(_Timecounter_Getbinuptime) +void rtems_clock_get_monotonic_coarse_bintime(struct bintime *); + +RTEMS_ALIAS(_Timecounter_Getmicrouptime) +void rtems_clock_get_monotonic_coarse_timeval(struct timeval *); + +RTEMS_ALIAS(_Timecounter_Getboottimebin) +void rtems_clock_get_boot_time_bintime(struct bintime *); + +RTEMS_ALIAS(_Timecounter_Getboottime) +void rtems_clock_get_boot_time_timeval(struct timeval *); #endif /* __rtems__ */ -- cgit v1.2.3