diff --git a/src/runtime/sys_freebsd_arm64.s b/src/runtime/sys_freebsd_arm64.s index 5dcdf375ab5c6..cb960773ebeed 100644 --- a/src/runtime/sys_freebsd_arm64.s +++ b/src/runtime/sys_freebsd_arm64.s @@ -460,7 +460,7 @@ TEXT runtime·getCntxct(SB),NOSPLIT,$0 BEQ 3(PC) // get CNTPCT (Physical Count Register) into R0 - MRS CNTPCT_EL0, R0 // SIGILL + MRS CNTPCT_EL0, R0 B 2(PC) // get CNTVCT (Virtual Count Register) into R0 diff --git a/src/runtime/vdso_freebsd_arm64.go b/src/runtime/vdso_freebsd_arm64.go index 7d9f62d5f928c..37b26d73e7880 100644 --- a/src/runtime/vdso_freebsd_arm64.go +++ b/src/runtime/vdso_freebsd_arm64.go @@ -14,7 +14,7 @@ func getCntxct(physical bool) uint32 func (th *vdsoTimehands) getTimecounter() (uint32, bool) { switch th.algo { case _VDSO_TH_ALGO_ARM_GENTIM: - return getCntxct(false), true + return getCntxct(th.physical != 0), true default: return 0, false }