On 07/04/2022 10:36, Gabriel Moyano wrote:
---
  cpukit/include/sys/timepps.h | 4 ++++
  cpukit/score/src/kern_tc.c   | 7 +++++++
  2 files changed, 11 insertions(+)

diff --git a/cpukit/include/sys/timepps.h b/cpukit/include/sys/timepps.h
index 621afb08ec..5703381ffa 100644
--- a/cpukit/include/sys/timepps.h
+++ b/cpukit/include/sys/timepps.h
@@ -32,7 +32,11 @@
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..77f7a9212c 100644
--- a/cpukit/score/src/kern_tc.c
+++ b/cpukit/score/src/kern_tc.c
@@ -1932,10 +1932,17 @@ pps_fetch(struct pps_fetch_args *fapi, struct pps_state 
*pps)
                        tv.tv_usec = fapi->timeout.tv_nsec / 1000;
                        timo = tvtohz(&tv);
                }
+#ifndef __rtems__
                aseq = atomic_load_int(&pps->ppsinfo.assert_sequence);
                cseq = atomic_load_int(&pps->ppsinfo.clear_sequence);
                while (aseq == atomic_load_int(&pps->ppsinfo.assert_sequence) &&
                    cseq == atomic_load_int(&pps->ppsinfo.clear_sequence)) {
+#else /* __rtems__ */
+               aseq = atomic_load_acq_int(&pps->ppsinfo.assert_sequence);
+               cseq = atomic_load_acq_int(&pps->ppsinfo.clear_sequence);
+               while (aseq == atomic_load_acq_int(&pps->ppsinfo.assert_sequence) 
&&
+                   cseq == atomic_load_acq_int(&pps->ppsinfo.clear_sequence)) {
+#endif /* __rtems__ */
                        if (abi_aware(pps, 1) && pps->driver_mtx != NULL) {
                                if (pps->flags & PPSFLAG_MTX_SPIN) {
                                        err = msleep_spin(pps, pps->driver_mtx,

Why do you need this change?

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to