Index: cpukit/libcsupport/Makefile.am
===================================================================
--- cpukit/libcsupport/Makefile.am	(revision 4a14751879f61ba7a045a1fcc7ff485a88dcb51d)
+++ cpukit/libcsupport/Makefile.am	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
@@ -30,4 +30,5 @@
 include_machine_HEADERS += include/machine/_kernel_time.h
 include_machine_HEADERS += include/machine/_kernel_types.h
+include_machine_HEADERS += include/machine/_timecounter.h
 
 ##  General stuff
Index: cpukit/libcsupport/include/machine/_kernel_time.h
===================================================================
--- cpukit/libcsupport/include/machine/_kernel_time.h	(revision 4a14751879f61ba7a045a1fcc7ff485a88dcb51d)
+++ cpukit/libcsupport/include/machine/_kernel_time.h	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
@@ -28,4 +28,6 @@
 #error "must be included via <sys/time.h> in kernel space"
 #endif
+
+#include <machine/_timecounter.h>
 
 /* Operations on timespecs */
Index: cpukit/libcsupport/include/machine/_timecounter.h
===================================================================
--- cpukit/libcsupport/include/machine/_timecounter.h	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
+++ cpukit/libcsupport/include/machine/_timecounter.h	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
@@ -0,0 +1,53 @@
+/*-
+ * Copyright (c) 2016 embedded brains GmbH
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _SYS_TIME_H_
+#error "<sys/time.h> must be included first"
+#endif /* !_SYS_TIME_H_ */
+
+#ifndef _MACHINE__TIMECOUNTER_H_
+#define _MACHINE__TIMECOUNTER_H_
+
+__BEGIN_DECLS
+extern volatile time_t _Timecounter_Time_second;
+extern volatile int32_t _Timecounter_Time_uptime;
+extern struct bintime _Timecounter_Boottimebin;
+
+void   _Timecounter_Binuptime(struct bintime *);
+void   _Timecounter_Nanouptime(struct timespec *);
+void   _Timecounter_Microuptime(struct timeval *);
+void   _Timecounter_Bintime(struct bintime *);
+void   _Timecounter_Nanotime(struct timespec *);
+void   _Timecounter_Microtime(struct timeval *);
+void   _Timecounter_Getbinuptime(struct bintime *);
+void   _Timecounter_Getnanouptime(struct timespec *);
+void   _Timecounter_Getmicrouptime(struct timeval *);
+void   _Timecounter_Getbintime(struct bintime *);
+void   _Timecounter_Getnanotime(struct timespec *);
+void   _Timecounter_Getmicrotime(struct timeval *);
+__END_DECLS
+
+#endif /* _MACHINE__TIMECOUNTER_H_ */
Index: cpukit/libcsupport/preinstall.am
===================================================================
--- cpukit/libcsupport/preinstall.am	(revision 4a14751879f61ba7a045a1fcc7ff485a88dcb51d)
+++ cpukit/libcsupport/preinstall.am	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
@@ -96,2 +96,6 @@
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/machine/_kernel_types.h
 
+$(PROJECT_INCLUDE)/machine/_timecounter.h: include/machine/_timecounter.h $(PROJECT_INCLUDE)/machine/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/machine/_timecounter.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/machine/_timecounter.h
+
Index: cpukit/score/include/rtems/score/timecounter.h
===================================================================
--- cpukit/score/include/rtems/score/timecounter.h	(revision 4a14751879f61ba7a045a1fcc7ff485a88dcb51d)
+++ cpukit/score/include/rtems/score/timecounter.h	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
@@ -26,4 +26,5 @@
 #include <sys/time.h>
 #include <sys/timetc.h>
+#include <machine/_timecounter.h>
 
 #include <rtems/score/isrlock.h>
@@ -228,5 +229,5 @@
  * second.
  */
-extern volatile time_t _Timecounter_Time_uptime;
+extern volatile int32_t _Timecounter_Time_uptime;
 
 /**
Index: cpukit/score/src/kern_tc.c
===================================================================
--- cpukit/score/src/kern_tc.c	(revision 4a14751879f61ba7a045a1fcc7ff485a88dcb51d)
+++ cpukit/score/src/kern_tc.c	(revision 5f02a574783d3ee5fa5e119af1a2d5e163dd1143)
@@ -204,8 +204,9 @@
 #ifndef __rtems__
 volatile time_t time_second = 1;
+volatile time_t time_uptime = 1;
 #else /* __rtems__ */
 volatile time_t time_second = TOD_SECONDS_1970_THROUGH_1988;
-#endif /* __rtems__ */
-volatile time_t time_uptime = 1;
+volatile int32_t time_uptime = 1;
+#endif /* __rtems__ */
 
 #ifndef __rtems__
