Family 10h Errata #319: Attach on Family10h cpu series which have it fixed.

This commit is contained in:
cegger 2009-10-16 12:05:19 +00:00
parent 89bf9948e9
commit f94b517224
1 changed files with 14 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: amdtemp.c,v 1.8 2009/06/16 07:34:40 cegger Exp $ */
/* $NetBSD: amdtemp.c,v 1.9 2009/10/16 12:05:19 cegger Exp $ */
/* $OpenBSD: kate.c,v 1.2 2008/03/27 04:52:03 cnst Exp $ */
/*
@ -48,7 +48,7 @@
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: amdtemp.c,v 1.8 2009/06/16 07:34:40 cegger Exp $ ");
__KERNEL_RCSID(0, "$NetBSD: amdtemp.c,v 1.9 2009/10/16 12:05:19 cegger Exp $ ");
#include <sys/param.h>
#include <sys/systm.h>
@ -72,6 +72,8 @@ __KERNEL_RCSID(0, "$NetBSD: amdtemp.c,v 1.8 2009/06/16 07:34:40 cegger Exp $ ");
*
* Family10h:
* http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116.PDF
* Family10h Errata: #319
* http://support.amd.com/de/Processor_TechDocs/41322.pdf
*
* Family11h:
* http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/41256.pdf
@ -207,6 +209,16 @@ amdtemp_match(device_t parent, cfdata_t match, void *aux)
if (family == 0xf)
family += CPUID2EXTFAMILY(cpu_signature);
/* Errata #319: This has been fixed in Revision C2. */
if (family == 0x10) {
if (CPUID2MODEL(cpu_signature) < 4)
return 0;
if (CPUID2MODEL(cpu_signature) == 4
&& CPUID2STEPPING(cpu_signature) < 2)
return 0;
}
/* Not yet supported CPUs */
if (family >= 0x12)
return 0;