diff --git a/bsd/porting/netport1.cc b/bsd/porting/netport1.cc index 38cefd6950bec95ece759eec0036b83cf171b96c..4917d6f70b0ec19b4e7fd8b27f4327e532ea46e1 100644 --- a/bsd/porting/netport1.cc +++ b/bsd/porting/netport1.cc @@ -6,7 +6,6 @@ */ #include <osv/types.h> -#include "drivers/clock.hh" #include <osv/sched.hh> #include <osv/mempool.hh> #include "bsd/sys/cddl/compat/opensolaris/sys/kcondvar.h" @@ -25,7 +24,7 @@ int osv_curtid(void) return (sched::thread::current()->id()); } -void ntm2tv(u64 ntm, struct timeval *tvp) +static void ntm2tv(u64 ntm, struct timeval *tvp) { u64 utm = ntm / 1000L; @@ -35,20 +34,22 @@ void ntm2tv(u64 ntm, struct timeval *tvp) void getmicrotime(struct timeval *tvp) { - u64 ntm = clock::get()->time(); + u64 ntm = std::chrono::duration_cast<std::chrono::nanoseconds> + (osv::clock::wall::now().time_since_epoch()).count(); ntm2tv(ntm, tvp); } void getmicrouptime(struct timeval *tvp) { - /* FIXME: OSv - initialize time_uptime */ - u64 ntm = clock::get()->time() - time_uptime; + u64 ntm = std::chrono::duration_cast<std::chrono::nanoseconds> + (osv::clock::uptime::now().time_since_epoch()).count(); ntm2tv(ntm, tvp); } int get_ticks(void) { - u64 ntm = clock::get()->time(); + u64 ntm = std::chrono::duration_cast<std::chrono::nanoseconds> + (osv::clock::uptime::now().time_since_epoch()).count(); return (ns2ticks(ntm)); }