diff options
author | Sigrid <ftrvxmtrx@gmail.com> | 2020-08-01 15:23:51 +0200 |
---|---|---|
committer | Sigrid <ftrvxmtrx@gmail.com> | 2020-08-01 15:23:51 +0200 |
commit | 88a468f205af2bfdaa015a5bc33424ae0d56de08 (patch) | |
tree | c765bf82c0ef96d8f88b7236ecb6e707d0a50c0b /sys/src/cmd/vmx | |
parent | d287f178aac4710b11ca24fa312d740518b78a08 (diff) |
vmx(1): use _tos->cyclefreq (thanks cinap)
Diffstat (limited to 'sys/src/cmd/vmx')
-rw-r--r-- | sys/src/cmd/vmx/nanosec.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/sys/src/cmd/vmx/nanosec.c b/sys/src/cmd/vmx/nanosec.c index c11bc01ab..ee5fc9108 100644 --- a/sys/src/cmd/vmx/nanosec.c +++ b/sys/src/cmd/vmx/nanosec.c @@ -1,5 +1,6 @@ #include <u.h> #include <libc.h> +#include <tos.h> /* * nsec() is wallclock and can be adjusted by timesync @@ -14,28 +15,15 @@ nanosec(void) { static uvlong fasthz, xstart; uvlong x, div; - int f, n, i; - char tmp[128], *e; if(fasthz == ~0ULL) return nsec() - xstart; if(fasthz == 0){ - fasthz = ~0ULL; xstart = nsec(); - if((f = open("/dev/time", OREAD)) >= 0 && (n = read(f, tmp, sizeof(tmp)-1)) > 2){ - tmp[n] = 0; - e = tmp; - for(i = 0; i < 3; i++) - strtoll(e, &e, 10); - if((fasthz = strtoll(e, nil, 10)) < 1) - fasthz = ~0ULL; - else - cycles(&xstart); - } - close(f); - if(fasthz == ~0ULL){ - fprint(2, "couldn't get fasthz, falling back to nsec()\n"); + if((fasthz = _tos->cyclefreq) == 0){ + fasthz = ~0ULL; + fprint(2, "cyclefreq not available, falling back to nsec()\n"); fprint(2, "you might want to disable aux/timesync\n"); return 0; } |