Module Name: src Committed By: ad Date: Wed May 27 18:47:13 UTC 2020
Modified Files: src/sys/arch/i386/i386: cpufunc.S Log Message: tsc_get_timecount(): fix 64-bit return To generate a diff of this commit: cvs rdiff -u -r1.41 -r1.42 src/sys/arch/i386/i386/cpufunc.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/i386/i386/cpufunc.S diff -u src/sys/arch/i386/i386/cpufunc.S:1.41 src/sys/arch/i386/i386/cpufunc.S:1.42 --- src/sys/arch/i386/i386/cpufunc.S:1.41 Tue May 19 21:40:55 2020 +++ src/sys/arch/i386/i386/cpufunc.S Wed May 27 18:47:13 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: cpufunc.S,v 1.41 2020/05/19 21:40:55 ad Exp $ */ +/* $NetBSD: cpufunc.S,v 1.42 2020/05/27 18:47:13 ad Exp $ */ /*- * Copyright (c) 1998, 2007, 2020 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ #include <sys/errno.h> #include <machine/asm.h> -__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.41 2020/05/19 21:40:55 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.42 2020/05/27 18:47:13 ad Exp $"); #include "opt_xen.h" @@ -164,19 +164,19 @@ ENTRY(msr_onfault) END(msr_onfault) ENTRY(tsc_get_timecount) + pushl %ebx movl CPUVAR(CURLWP), %ecx 1: - pushl L_NCSW(%ecx) + movl L_NCSW(%ecx), %ebx rdtsc addl CPUVAR(CC_SKEW), %eax adcl CPUVAR(CC_SKEW+4), %edx - popl %edx - cmpl %edx, L_NCSW(%ecx) + cmpl %ebx, L_NCSW(%ecx) jne 2f + popl %ebx ret 2: jmp 1b - ret END(tsc_get_timecount) STRONG_ALIAS(cpu_counter, tsc_get_timecount)