summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-24 11:17:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-11-09 08:12:12 +0100
commit5f02a574783d3ee5fa5e119af1a2d5e163dd1143 (patch)
treefc3aedafc4fbdf86b370ab3e3593f256cc208b85 /cpukit/libcsupport
parentUpgrade to 5.0.0 (diff)
downloadrtems-5f02a574783d3ee5fa5e119af1a2d5e163dd1143.tar.bz2
score: Change _Timecounter_Time_uptime to int32_t
Move basic timecounter API shared with BSD network stack to <machine/_timecounter.h>. Update #3185.
Diffstat (limited to 'cpukit/libcsupport')
-rw-r--r--cpukit/libcsupport/Makefile.am1
-rw-r--r--cpukit/libcsupport/include/machine/_kernel_time.h2
-rw-r--r--cpukit/libcsupport/include/machine/_timecounter.h53
-rw-r--r--cpukit/libcsupport/preinstall.am4
4 files changed, 60 insertions, 0 deletions
diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am
index dbba6b1d8b..756526ae8e 100644
--- a/cpukit/libcsupport/Makefile.am
+++ b/cpukit/libcsupport/Makefile.am
@@ -29,6 +29,7 @@ include_machine_HEADERS += include/machine/_kernel_cpuset.h
include_machine_HEADERS += include/machine/_kernel_param.h
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
ERROR_C_FILES = src/error.c src/__assert.c
diff --git a/cpukit/libcsupport/include/machine/_kernel_time.h b/cpukit/libcsupport/include/machine/_kernel_time.h
index 51fa719442..8200b6a73e 100644
--- a/cpukit/libcsupport/include/machine/_kernel_time.h
+++ b/cpukit/libcsupport/include/machine/_kernel_time.h
@@ -28,6 +28,8 @@
#error "must be included via <sys/time.h> in kernel space"
#endif
+#include <machine/_timecounter.h>
+
/* Operations on timespecs */
#define timespecclear(tvp) ((tvp)->tv_sec = (tvp)->tv_nsec = 0)
#define timespecisset(tvp) ((tvp)->tv_sec || (tvp)->tv_nsec)
diff --git a/cpukit/libcsupport/include/machine/_timecounter.h b/cpukit/libcsupport/include/machine/_timecounter.h
new file mode 100644
index 0000000000..fb974f13c1
--- /dev/null
+++ b/cpukit/libcsupport/include/machine/_timecounter.h
@@ -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_ */
diff --git a/cpukit/libcsupport/preinstall.am b/cpukit/libcsupport/preinstall.am
index 074e6c1a29..01a128e2ff 100644
--- a/cpukit/libcsupport/preinstall.am
+++ b/cpukit/libcsupport/preinstall.am
@@ -95,3 +95,7 @@ $(PROJECT_INCLUDE)/machine/_kernel_types.h: include/machine/_kernel_types.h $(PR
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/machine/_kernel_types.h
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
+