From bf61753a9209233119c8e5723463d2e21ef56e2a Mon Sep 17 00:00:00 2001 From: Gabriel Moyano Date: Fri, 20 May 2022 11:29:55 +0200 Subject: kern_tc.c: Add atomic dependencies required by the PPS API Update #2349. --- cpukit/include/sys/timepps.h | 7 +++++++ cpukit/score/src/kern_tc.c | 7 +++++++ 2 files changed, 14 insertions(+) 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 #include #include +#ifdef __rtems__ +#include +#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 @@ -114,6 +114,13 @@ atomic_thread_fence_rel(void) _Atomic_Fence(ATOMIC_ORDER_RELEASE); } +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) { -- cgit v1.2.3