Module Name: src Committed By: martin Date: Wed Oct 2 18:24:35 UTC 2024
Modified Files: src/sys/arch/x86/x86 [netbsd-10]: tsc.c Log Message: Pull up following revision(s) (requested by rin in ticket #915): sys/arch/x86/x86/tsc.c: revision 1.59 sys/arch/x86/x86/tsc.c: revision 1.60 make TSC get a quality of -100 on AMD Family 15h and 16h this should "fix" PR#56322 and is known as AMD errata "778: Processor Core Time Stamp Counters May Experience Drift" remove unintended printf() in previous. (thx dh) To generate a diff of this commit: cvs rdiff -u -r1.57 -r1.57.4.1 src/sys/arch/x86/x86/tsc.c 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/x86/x86/tsc.c diff -u src/sys/arch/x86/x86/tsc.c:1.57 src/sys/arch/x86/x86/tsc.c:1.57.4.1 --- src/sys/arch/x86/x86/tsc.c:1.57 Fri Oct 15 18:12:48 2021 +++ src/sys/arch/x86/x86/tsc.c Wed Oct 2 18:24:35 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: tsc.c,v 1.57 2021/10/15 18:12:48 jmcneill Exp $ */ +/* $NetBSD: tsc.c,v 1.57.4.1 2024/10/02 18:24:35 martin Exp $ */ /*- * Copyright (c) 2008, 2020 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tsc.c,v 1.57 2021/10/15 18:12:48 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tsc.c,v 1.57.4.1 2024/10/02 18:24:35 martin Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -132,6 +132,18 @@ tsc_is_invariant(void) * Manual Volume 3: General-Purpose and System Instructions. * The check is done below. */ + + /* + * AMD Errata 778: Processor Core Time Stamp Counters May + * Experience Drift + * + * This affects all family 15h and family 16h processors. + */ + switch (CPUID_TO_FAMILY(ci->ci_signature)) { + case 0x15: + case 0x16: + return false; + } } /*