From 4ba5cb6c6abc5ffa988c0b3d78e3151efddac4f5 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 8 Dec 2020 13:04:52 +0100 Subject: vmx: nanosec(): fix non-interruptable temporary, assign fasthz only once after xstart --- sys/src/cmd/vmx/nanosec.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'sys/src') diff --git a/sys/src/cmd/vmx/nanosec.c b/sys/src/cmd/vmx/nanosec.c index ac418483d..1301e9faf 100644 --- a/sys/src/cmd/vmx/nanosec.c +++ b/sys/src/cmd/vmx/nanosec.c @@ -17,14 +17,15 @@ nanosec(void) return nsec() - xstart; if(fasthz == 0){ - if((fasthz = _tos->cyclefreq) == 0){ - fasthz = ~0ULL; + if(_tos->cyclefreq){ + cycles(&xstart); + fasthz = _tos->cyclefreq; + } else { xstart = nsec(); + fasthz = ~0ULL; fprint(2, "cyclefreq not available, falling back to nsec()\n"); fprint(2, "you might want to disable aux/timesync\n"); return 0; - }else{ - cycles(&xstart); } } cycles(&x); -- cgit v1.2.3