summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Smith2013-04-05 02:37:53 +0200
committerAnthony Liguori2013-04-05 03:22:45 +0200
commitd05ef160453e98546a4197496dc8a3cb2defac53 (patch)
tree00a0b93821e3e30206c76be73e66b022b4cb4eb7
parentpc_acpi_init(): don't bail as soon as failing to find default DSDT (diff)
downloadqemu-d05ef160453e98546a4197496dc8a3cb2defac53.tar.gz
qemu-d05ef160453e98546a4197496dc8a3cb2defac53.tar.xz
qemu-d05ef160453e98546a4197496dc8a3cb2defac53.zip
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>
-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) {