diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c index ac838beb1e5..fc8f6c78899 100644 --- a/sys/kern/kern_time.c +++ b/sys/kern/kern_time.c @@ -224,6 +224,7 @@ kern_clock_gettime(struct thread *td, clockid_t clock_id, struct timespec *ats) TIMEVAL_TO_TIMESPEC(&user, ats); break; case CLOCK_MONOTONIC: + case CLOCK_UPTIME: nanouptime(ats); break; default: @@ -307,6 +308,7 @@ kern_clock_getres(struct thread *td, clockid_t clock_id, struct timespec *ts) switch (clock_id) { case CLOCK_REALTIME: case CLOCK_MONOTONIC: + case CLOCK_UPTIME: /* * Round up the result of the division cheaply by adding 1. * Rounding up is especially important if rounding down diff --git a/sys/sys/time.h b/sys/sys/time.h index e6adbea7557..60f9543db0a 100644 --- a/sys/sys/time.h +++ b/sys/sys/time.h @@ -238,6 +238,7 @@ struct clockinfo { #define CLOCK_VIRTUAL 1 #define CLOCK_PROF 2 #define CLOCK_MONOTONIC 4 +#define CLOCK_UPTIME 5 #endif #ifndef TIMER_ABSTIME