summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Smith <brad@comstyle.com>2013-04-04 20:37:53 -0400
committerMichael Roth <mdroth@linux.vnet.ibm.com>2013-04-06 16:38:15 -0500
commitd89f9ba43b5999ee7873523ea2708aff92ebf858 (patch)
treec2098a98f0b7539e93147419d0b02debad5f74de
parent46f9071a23385933e7318a7c1f540852689ee0ca (diff)
downloadqemu-d89f9ba43b5999ee7873523ea2708aff92ebf858.tar.gz
Allow clock_gettime() monotonic clock to be utilized on more OS's
Allow the clock_gettime() code using monotonic clock to be utilized on more POSIX compliannt OS's. This started as a fix for OpenBSD which was listed in one function as part of the previous hard coded list of OS's for the functions to support but not in the other. Signed-off-by: Brad Smith <brad@comstyle.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 20130405003748.GH884@rox.home.comstyle.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit d05ef160453e98546a4197496dc8a3cb2defac53) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--include/qemu/timer.h3
-rw-r--r--util/qemu-timer-common.c4
2 files changed, 2 insertions, 5 deletions
diff --git a/include/qemu/timer.h b/include/qemu/timer.h
index 1766b2d6c7..c363190fca 100644
--- a/include/qemu/timer.h
+++ b/include/qemu/timer.h
@@ -117,8 +117,7 @@ extern int use_rt_clock;
static inline int64_t get_clock(void)
{
-#if defined(__linux__) || (defined(__FreeBSD__) && __FreeBSD_version >= 500000) \
- || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
+#ifdef CLOCK_MONOTONIC
if (use_rt_clock) {
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
diff --git a/util/qemu-timer-common.c b/util/qemu-timer-common.c
index 16f5e758b2..95e0847c76 100644
--- a/util/qemu-timer-common.c
+++ b/util/qemu-timer-common.c
@@ -49,9 +49,7 @@ int use_rt_clock;
static void __attribute__((constructor)) init_get_clock(void)
{
use_rt_clock = 0;
-#if defined(__linux__) || (defined(__FreeBSD__) && __FreeBSD_version >= 500000) \
- || defined(__DragonFly__) || defined(__FreeBSD_kernel__) \
- || defined(__OpenBSD__)
+#ifdef CLOCK_MONOTONIC
{
struct timespec ts;
if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0) {