summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel Moyano <gabriel.moyano@dlr.de>2022-05-20 11:29:55 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-05-23 09:08:48 +0200
commitbf61753a9209233119c8e5723463d2e21ef56e2a (patch)
tree5c97aaab48721bc7b3fa030f6da7ca7a77273136
parentkern_ntptime.c: Add lmax() qmin() definitions (diff)
downloadrtems-bf61753a9209233119c8e5723463d2e21ef56e2a.tar.bz2
kern_tc.c: Add atomic dependencies required by the PPS API
Update #2349.
-rw-r--r--cpukit/include/sys/timepps.h7
-rw-r--r--cpukit/score/src/kern_tc.c7
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)
{