summaryrefslogtreecommitdiff
path: root/sys/src/cmd/vmx
diff options
context:
space:
mode:
authorSigrid <ftrvxmtrx@gmail.com>2020-08-01 15:23:51 +0200
committerSigrid <ftrvxmtrx@gmail.com>2020-08-01 15:23:51 +0200
commit88a468f205af2bfdaa015a5bc33424ae0d56de08 (patch)
treec765bf82c0ef96d8f88b7236ecb6e707d0a50c0b /sys/src/cmd/vmx
parentd287f178aac4710b11ca24fa312d740518b78a08 (diff)
vmx(1): use _tos->cyclefreq (thanks cinap)
Diffstat (limited to 'sys/src/cmd/vmx')
-rw-r--r--sys/src/cmd/vmx/nanosec.c20
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;
}