diff options
author | Gabriel Moyano <gabriel.moyano@dlr.de> | 2022-05-20 11:29:55 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-05-23 09:08:48 +0200 |
commit | bf61753a9209233119c8e5723463d2e21ef56e2a (patch) | |
tree | 5c97aaab48721bc7b3fa030f6da7ca7a77273136 | |
parent | kern_ntptime.c: Add lmax() qmin() definitions (diff) | |
download | rtems-bf61753a9209233119c8e5723463d2e21ef56e2a.tar.bz2 |
kern_tc.c: Add atomic dependencies required by the PPS API
Update #2349.
-rw-r--r-- | cpukit/include/sys/timepps.h | 7 | ||||
-rw-r--r-- | cpukit/score/src/kern_tc.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/cpukit/include/sys/timepps.h b/cpukit/include/sys/timepps.h index 01212f0b43..5703381ffa 100644 --- a/cpukit/include/sys/timepps.h +++ b/cpukit/include/sys/timepps.h @@ -24,12 +24,19 @@ #include <sys/_ffcounter.h> #include <sys/ioccom.h> #include <sys/time.h> +#ifdef __rtems__ +#include <rtems/score/atomic.h> +#endif /* __rtems__ */ #define PPS_API_VERS_1 1 typedef int pps_handle_t; +#ifndef __rtems__ typedef unsigned pps_seq_t; +#else /* __rtems__ */ +typedef Atomic_Uint pps_seq_t; +#endif /* __rtems__ */ typedef struct ntp_fp { unsigned int integral; diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c index e57da2c0ca..f7d0a0b4ba 100644 --- a/cpukit/score/src/kern_tc.c +++ b/cpukit/score/src/kern_tc.c @@ -115,6 +115,13 @@ atomic_thread_fence_rel(void) } static inline u_int +atomic_load_int(Atomic_Uint *i) +{ + + return (_Atomic_Load_uint(i, ATOMIC_ORDER_RELAXED)); +} + +static inline u_int atomic_load_acq_int(Atomic_Uint *i) { |