svn commit: r359667 - in head/sys: dev/hwpmc sys

Marcin Wojtas mw at FreeBSD.org
Mon Apr 6 19:45:27 UTC 2020


Author: mw
Date: Mon Apr  6 19:45:26 2020
New Revision: 359667
URL: https://svnweb.freebsd.org/changeset/base/359667

Log:
  Add hwpmc support for Intel Atom Goldmont microarchitecture
  
  Recognize new micro-architecture in hwpmc_intel driver. Based on Intel
  document 325462-071US. Tested with tools/test/hwpmc/pmctest.py
  on Atom E3930 SoC.
  
  Submitted by: Dawid Gorecki <dgr at semihalf.com>
  Reviewed by: kib
  Obtained from: Semihalf
  Sponsored by: Stormshield
  Differential Revision: https://reviews.freebsd.org/D24310

Modified:
  head/sys/dev/hwpmc/hwpmc_intel.c
  head/sys/sys/pmc.h

Modified: head/sys/dev/hwpmc/hwpmc_intel.c
==============================================================================
--- head/sys/dev/hwpmc/hwpmc_intel.c	Mon Apr  6 18:52:40 2020	(r359666)
+++ head/sys/dev/hwpmc/hwpmc_intel.c	Mon Apr  6 19:45:26 2020	(r359667)
@@ -203,6 +203,10 @@ pmc_intel_initialize(void)
 			cputype = PMC_CPU_INTEL_ATOM_SILVERMONT;
 			nclasses = 3;
 			break;
+		case 0x5C:	/* Per Intel document 325462-071US 10/2019. */
+			cputype = PMC_CPU_INTEL_ATOM_GOLDMONT;
+			nclasses = 3;
+			break;
 		}
 		break;
 	}
@@ -230,6 +234,7 @@ pmc_intel_initialize(void)
 		 */
 	case PMC_CPU_INTEL_ATOM:
 	case PMC_CPU_INTEL_ATOM_SILVERMONT:
+	case PMC_CPU_INTEL_ATOM_GOLDMONT:
 	case PMC_CPU_INTEL_BROADWELL:
 	case PMC_CPU_INTEL_BROADWELL_XEON:
 	case PMC_CPU_INTEL_SKYLAKE_XEON:
@@ -293,6 +298,7 @@ pmc_intel_finalize(struct pmc_mdep *md)
 	switch (md->pmd_cputype) {
 	case PMC_CPU_INTEL_ATOM:
 	case PMC_CPU_INTEL_ATOM_SILVERMONT:
+	case PMC_CPU_INTEL_ATOM_GOLDMONT:
 	case PMC_CPU_INTEL_BROADWELL:
 	case PMC_CPU_INTEL_BROADWELL_XEON:
 	case PMC_CPU_INTEL_SKYLAKE_XEON:

Modified: head/sys/sys/pmc.h
==============================================================================
--- head/sys/sys/pmc.h	Mon Apr  6 18:52:40 2020	(r359666)
+++ head/sys/sys/pmc.h	Mon Apr  6 19:45:26 2020	(r359667)
@@ -110,6 +110,7 @@ extern char pmc_cpuid[PMC_CPUID_LEN];
 	__PMC_CPU(INTEL_BROADWELL_XEON, 0x97,   "Intel Broadwell Xeon") \
 	__PMC_CPU(INTEL_SKYLAKE, 0x98,   "Intel Skylake")		\
 	__PMC_CPU(INTEL_SKYLAKE_XEON, 0x99,   "Intel Skylake Xeon")	\
+	__PMC_CPU(INTEL_ATOM_GOLDMONT, 0x9A,   "Intel Atom Goldmont")	\
 	__PMC_CPU(INTEL_XSCALE,	0x100,	"Intel XScale")		\
 	__PMC_CPU(MIPS_24K,     0x200,  "MIPS 24K")		\
 	__PMC_CPU(MIPS_OCTEON,  0x201,  "Cavium Octeon")	\


More information about the svn-src-head mailing list