summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/include/sys/timetc.h4
-rw-r--r--cpukit/score/src/kern_tc.c10
2 files changed, 10 insertions, 4 deletions
diff --git a/cpukit/include/sys/timetc.h b/cpukit/include/sys/timetc.h
index 347a140ed9..5cdfdfe9b3 100644
--- a/cpukit/include/sys/timetc.h
+++ b/cpukit/include/sys/timetc.h
@@ -45,12 +45,14 @@ typedef uint32_t timecounter_fill_vdso_timehands32_t(struct vdso_timehands32 *,
struct timecounter {
timecounter_get_t *tc_get_timecount;
+#ifndef __rtems__
/*
* This function reads the counter. It is not required to
* mask any unimplemented bits out, as long as they are
* constant.
*/
timecounter_pps_t *tc_poll_pps;
+#endif /* __rtems__ */
/*
* This function is optional. It will be called whenever the
* timecounter is rewound, and is intended to check for PPS
@@ -64,6 +66,7 @@ struct timecounter {
const char *tc_name;
/* Name of the timecounter. */
int tc_quality;
+#ifndef __rtems__
/*
* Used to determine if this timecounter is better than
* another timecounter higher means better. Negative
@@ -80,7 +83,6 @@ struct timecounter {
/* Pointer to the timecounter's private parts. */
struct timecounter *tc_next;
/* Pointer to the next timecounter. */
-#ifndef __rtems__
timecounter_fill_vdso_timehands_t *tc_fill_vdso_timehands;
timecounter_fill_vdso_timehands32_t *tc_fill_vdso_timehands32;
#endif /* __rtems__ */
diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c
index d705b59a4c..082cb9f7d7 100644
--- a/cpukit/score/src/kern_tc.c
+++ b/cpukit/score/src/kern_tc.c
@@ -146,7 +146,11 @@ dummy_get_timecount(struct timecounter *tc)
}
static struct timecounter dummy_timecounter = {
+#ifndef __rtems__
dummy_get_timecount, 0, ~0u, 1000000, "dummy", -1000000
+#else /* __rtems__ */
+ dummy_get_timecount, ~(uint32_t)0, 1000000, "dummy", -1000000
+#endif /* __rtems__ */
};
struct timehands {
@@ -195,9 +199,9 @@ static struct timehands th0 = {
static struct timehands *volatile timehands = &th0;
struct timecounter *timecounter = &dummy_timecounter;
+#ifndef __rtems__
static struct timecounter *timecounters = &dummy_timecounter;
-#ifndef __rtems__
int tc_min_ticktock_freq = 1;
#endif /* __rtems__ */
@@ -1359,11 +1363,9 @@ tc_init(struct timecounter *tc)
tc->tc_name, (uintmax_t)tc->tc_frequency,
tc->tc_quality);
}
-#endif /* __rtems__ */
tc->tc_next = timecounters;
timecounters = tc;
-#ifndef __rtems__
/*
* Set up sysctl tree for this counter.
*/
@@ -1566,6 +1568,7 @@ _Timecounter_Windup(struct bintime *new_boottimebin,
}
bintime_addx(&th->th_offset, th->th_scale * delta);
+#ifndef __rtems__
/*
* Hardware latching timecounters may not generate interrupts on
* PPS events, so instead we poll them. There is a finite risk that
@@ -1576,6 +1579,7 @@ _Timecounter_Windup(struct bintime *new_boottimebin,
*/
if (tho->th_counter->tc_poll_pps)
tho->th_counter->tc_poll_pps(tho->th_counter);
+#endif /* __rtems__ */
/*
* Deal with NTP second processing. The for loop normally