CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2023-07-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sat Jul 29 10:23:07 UTC 2023

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up the following revisions, via patch, requested by msaitoh
in ticket #1854:

usr.sbin/cpuctl/arch/i386.c 1.137-1.139

- CPU model 0x5a is not Atom E3500 but Atom Z3500.
- Add Alder Lake-N.


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.17 -r1.74.6.18 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/cpuctl/arch/i386.c
diff -u src/usr.sbin/cpuctl/arch/i386.c:1.74.6.17 src/usr.sbin/cpuctl/arch/i386.c:1.74.6.18
--- src/usr.sbin/cpuctl/arch/i386.c:1.74.6.17	Wed Jun 21 19:06:15 2023
+++ src/usr.sbin/cpuctl/arch/i386.c	Sat Jul 29 10:23:07 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: i386.c,v 1.74.6.17 2023/06/21 19:06:15 martin Exp $	*/
+/*	$NetBSD: i386.c,v 1.74.6.18 2023/07/29 10:23:07 martin Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: i386.c,v 1.74.6.17 2023/06/21 19:06:15 martin Exp $");
+__RCSID("$NetBSD: i386.c,v 1.74.6.18 2023/07/29 10:23:07 martin Exp $");
 #endif /* not lint */
 
 #include 
@@ -335,7 +335,7 @@ const struct cpu_cpuid_nameclass i386_cp
 [0x55] = "Xeon Scalable (Skylake, Cascade Lake, Copper Lake)",
 [0x56] = "Xeon D-1500 (Broadwell)",
 [0x57] = "Xeon Phi [357]200 (Knights Landing)",
-[0x5a] = "Atom E3500",
+[0x5a] = "Atom Z3500",
 [0x5c] = "Atom (Goldmont)",
 [0x5d] = "Atom X3-C3000 (Silvermont)",
 [0x5e] = "6th gen Core, Xeon E3-1[25]00 v5 (Skylake)",
@@ -361,8 +361,9 @@ const struct cpu_cpuid_nameclass i386_cp
 [0xa6] = "10th gen Core (Comet Lake)",
 [0xa7] = "11th gen Core (Rocket Lake)",
 [0xa8] = "11th gen Core (Rocket Lake)",
-[0xba] = "13th gen Core (Raptor Lake)",
 [0xb7] = "13th gen Core (Raptor Lake)",
+[0xba] = "13th gen Core (Raptor Lake)",
+[0xbe] = "Core i3-N3xx N[12]xx Nxx Atom x7xxxE (Alder Lake-N)",
 [0xbf] = "13th gen Core (Raptor Lake)",
 			},
 			"Pentium Pro, II or III",	/* Default */



CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2023-07-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sat Jul 29 10:23:07 UTC 2023

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up the following revisions, via patch, requested by msaitoh
in ticket #1854:

usr.sbin/cpuctl/arch/i386.c 1.137-1.139

- CPU model 0x5a is not Atom E3500 but Atom Z3500.
- Add Alder Lake-N.


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.17 -r1.74.6.18 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2023-01-23 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Jan 23 13:13:08 UTC 2023

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up the following revisions, requested by msaitoh in ticket #1792:

usr.sbin/cpuctl/arch/i386.c 1.129-1.135

- Print cpuid 7 sub-leaf 1 %ebx, %edx and sub-leaf 2 %edx.
- Add Raptor Lake and Sapphire Rapids.
- Modify messages a little.


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.15 -r1.74.6.16 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2023-01-23 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Jan 23 13:13:08 UTC 2023

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up the following revisions, requested by msaitoh in ticket #1792:

usr.sbin/cpuctl/arch/i386.c 1.129-1.135

- Print cpuid 7 sub-leaf 1 %ebx, %edx and sub-leaf 2 %edx.
- Add Raptor Lake and Sapphire Rapids.
- Modify messages a little.


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.15 -r1.74.6.16 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/cpuctl/arch/i386.c
diff -u src/usr.sbin/cpuctl/arch/i386.c:1.74.6.15 src/usr.sbin/cpuctl/arch/i386.c:1.74.6.16
--- src/usr.sbin/cpuctl/arch/i386.c:1.74.6.15	Sat Oct 15 10:16:08 2022
+++ src/usr.sbin/cpuctl/arch/i386.c	Mon Jan 23 13:13:08 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: i386.c,v 1.74.6.15 2022/10/15 10:16:08 martin Exp $	*/
+/*	$NetBSD: i386.c,v 1.74.6.16 2023/01/23 13:13:08 martin Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: i386.c,v 1.74.6.15 2022/10/15 10:16:08 martin Exp $");
+__RCSID("$NetBSD: i386.c,v 1.74.6.16 2023/01/23 13:13:08 martin Exp $");
 #endif /* not lint */
 
 #include 
@@ -351,7 +351,7 @@ const struct cpu_cpuid_nameclass i386_cp
 [0x8c] = "11th gen Core (Tiger Lake)",
 [0x8d] = "11th gen Core (Tiger Lake)",
 [0x8e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake) or Xeon E (Coffee Lake)",
-[0x8f] = "future Xeon (Sapphire Rapids)",
+[0x8f] = "4th gen Xeon Scalable (Sapphire Rapids)",
 [0x96] = "Atom x6000E (Elkhart Lake)",
 [0x97] = "12th gen Core (Alder Lake)",
 [0x9a] = "12th gen Core (Alder Lake)",
@@ -361,7 +361,9 @@ const struct cpu_cpuid_nameclass i386_cp
 [0xa6] = "10th gen Core (Comet Lake)",
 [0xa7] = "11th gen Core (Rocket Lake)",
 [0xa8] = "11th gen Core (Rocket Lake)",
-[0xbf] = "12th gen Core (Alder Lake)",
+[0xba] = "13th gen Core (Raptor Lake)",
+[0xb7] = "13th gen Core (Raptor Lake)",
+[0xbf] = "13th gen Core (Raptor Lake)",
 			},
 			"Pentium Pro, II or III",	/* Default */
 			NULL,
@@ -2132,13 +2134,25 @@ identifycpu(int fd, const char *cpuname)
 	if ((ci->ci_max_cpuid >= 7)
 	&& ((cpu_vendor == CPUVENDOR_INTEL)
 		|| (cpu_vendor == CPUVENDOR_AMD))) {
+		unsigned int maxsubleaf;
+
 		x86_cpuid(7, descs);
+		maxsubleaf = descs[0];
 		aprint_verbose("%s: SEF highest subleaf %08x\n",
-		cpuname, descs[0]);
-		if (descs[0] >= 1) {
+		cpuname, maxsubleaf);
+		if (maxsubleaf >= 1) {
 			x86_cpuid2(7, 1, descs);
 			print_bits(cpuname, "SEF-subleaf1-eax",
 			CPUID_SEF1_FLAGS_A, descs[0]);
+			print_bits(cpuname, "SEF-subleaf1-ebx",
+			CPUID_SEF1_FLAGS_B, descs[1]);
+			print_bits(cpuname, "SEF-subleaf1-edx",
+			CPUID_SEF1_FLAGS_D, descs[3]);
+		}
+		if (maxsubleaf >= 2) {
+			x86_cpuid2(7, 2, descs);
+			print_bits(cpuname, "SEF-subleaf2-edx",
+			CPUID_SEF2_FLAGS_D, descs[3]);
 		}
 	}
 
@@ -2154,6 +2168,17 @@ identifycpu(int fd, const char *cpuname)
 	}
 
 	if (cpu_vendor == CPUVENDOR_AMD) {
+		if (ci->ci_max_ext_cpuid >= 0x8021) {
+			x86_cpuid(0x8021, descs);
+			print_bits(cpuname, "AMD Extended features2",
+			CPUID_AMDEXT2_FLAGS, descs[0]);
+		}
+
+		if (ci->ci_max_ext_cpuid >= 0x8007) {
+			x86_cpuid(0x8007, descs);
+			print_bits(cpuname, "RAS features",
+			CPUID_RAS_FLAGS, descs[1]);
+		}
 		if ((ci->ci_max_ext_cpuid >= 0x800a)
 		&& (ci->ci_feat_val[3] & CPUID_SVM) != 0) {
 			x86_cpuid(0x800a, descs);
@@ -2164,11 +2189,32 @@ identifycpu(int fd, const char *cpuname)
 			print_bits(cpuname, "SVM features",
 			CPUID_AMD_SVM_FLAGS, descs[3]);
 		}
+		if (ci->ci_max_ext_cpuid >= 0x801b) {
+			x86_cpuid(0x801b, descs);
+			print_bits(cpuname, "IBS features",
+			CPUID_IBS_FLAGS, descs[0]);
+		}
 		if (ci->ci_max_ext_cpuid >= 0x801f) {
 			x86_cpuid(0x801f, descs);
 			print_bits(cpuname, "Encrypted Memory features",
 			CPUID_AMD_ENCMEM_FLAGS, descs[0]);
 		}
+		if (ci->ci_max_ext_cpuid >= 0x8022) {
+			uint8_t ncore, nnb, nlbrs;
+
+			x86_cpuid(0x8022, descs);
+			print_bits(cpuname, "Perfmon:",
+			CPUID_AXPERF_FLAGS, descs[0]);
+
+			ncore = __SHIFTOUT(descs[1], CPUID_AXPERF_NCPC);
+			nnb = __SHIFTOUT(descs[1], CPUID_AXPERF_NNBPC);
+			nlbrs = __SHIFTOUT(descs[1], CPUID_AXPERF_NLBRSTACK);
+			aprint_verbose("%s: Perfmon: counters: "
+			"Core %hhu, Northbridge %hhu\n", cpuname,
+			ncore, nnb);
+			aprint_verbose("%s: Perfmon: LBR Stack %hhu entries\n",
+			cpuname, nlbrs);
+		}
 	} else if (cpu_vendor == CPUVENDOR_INTEL) {
 		if (ci->ci_max_cpuid >= 0x0a) {
 			unsigned int pmcver, ncounter, veclen;



CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2022-01-31 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Jan 31 17:52:44 UTC 2022

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up following revision(s) (requested by msaitoh in ticket #1732):

usr.sbin/cpuctl/arch/i386.c: revision 1.125
usr.sbin/cpuctl/arch/i386.c: revision 1.126
usr.sbin/cpuctl/arch/i386.c: revision 1.127

Add Alder Lake, Rocket Lake and Sapphire Rapids. From the latest Intel SDM.
Remove debug code and simplify. No functional change.
Decode Intel Hybrid Information Enumeration (CPUID Fn_001a).


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.13 -r1.74.6.14 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/cpuctl/arch/i386.c
diff -u src/usr.sbin/cpuctl/arch/i386.c:1.74.6.13 src/usr.sbin/cpuctl/arch/i386.c:1.74.6.14
--- src/usr.sbin/cpuctl/arch/i386.c:1.74.6.13	Fri Dec 24 13:02:24 2021
+++ src/usr.sbin/cpuctl/arch/i386.c	Mon Jan 31 17:52:44 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: i386.c,v 1.74.6.13 2021/12/24 13:02:24 martin Exp $	*/
+/*	$NetBSD: i386.c,v 1.74.6.14 2022/01/31 17:52:44 martin Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: i386.c,v 1.74.6.13 2021/12/24 13:02:24 martin Exp $");
+__RCSID("$NetBSD: i386.c,v 1.74.6.14 2022/01/31 17:52:44 martin Exp $");
 #endif /* not lint */
 
 #include 
@@ -351,11 +351,17 @@ const struct cpu_cpuid_nameclass i386_cp
 [0x8c] = "11th gen Core (Tiger Lake)",
 [0x8d] = "11th gen Core (Tiger Lake)",
 [0x8e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake) or Xeon E (Coffee Lake)",
+[0x8f] = "future Xeon (Sapphire Rapids)",
 [0x96] = "Atom x6000E (Elkhart Lake)",
+[0x97] = "12th gen Core (Alder Lake)",
+[0x9a] = "12th gen Core (Alder Lake)",
 [0x9c] = "Pentium Silver N6xxx, Celeron N45xx, Celeron N51xx (Jasper Lake)",
 [0x9e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake) or Xeon E (Coffee Lake)",
 [0xa5] = "10th gen Core (Comet Lake)",
 [0xa6] = "10th gen Core (Comet Lake)",
+[0xa7] = "11th gen Core (Rocket Lake)",
+[0xa8] = "11th gen Core (Rocket Lake)",
+[0xbf] = "12th gen Core (Alder Lake)",
 			},
 			"Pentium Pro, II or III",	/* Default */
 			NULL,
@@ -2164,31 +2170,25 @@ identifycpu(int fd, const char *cpuname)
 			CPUID_AMD_ENCMEM_FLAGS, descs[0]);
 		}
 	} else if (cpu_vendor == CPUVENDOR_INTEL) {
-		int32_t bi_index;
-
-		for (bi_index = 1; bi_index <= ci->ci_max_cpuid; bi_index++) {
-			x86_cpuid(bi_index, descs);
-			switch (bi_index) {
-			case 0x0a:
-print_bits(cpuname, "Perfmon-eax",
-CPUID_PERF_FLAGS0, descs[0]);
-print_bits(cpuname, "Perfmon-ebx",
-CPUID_PERF_FLAGS1, descs[1]);
-print_bits(cpuname, "Perfmon-edx",
-CPUID_PERF_FLAGS3, descs[3]);
-break;
-			default:
-#if 0
-aprint_verbose("%s: basic %08x-eax %08x\n",
-cpuname, bi_index, descs[0]);
-aprint_verbose("%s: basic %08x-ebx %08x\n",
-cpuname, bi_index, descs[1]);
-aprint_verbose("%s: basic %08x-ecx %08x\n",
-cpuname, bi_index, descs[2]);
-aprint_verbose("%s: basic %08x-edx %08x\n",
-cpuname, bi_index, descs[3]);
-#endif
-break;
+		if (ci->ci_max_cpuid >= 0x0a) {
+			x86_cpuid(0x0a, descs);
+			print_bits(cpuname, "Perfmon-eax",
+			CPUID_PERF_FLAGS0, descs[0]);
+			print_bits(cpuname, "Perfmon-ebx",
+			CPUID_PERF_FLAGS1, descs[1]);
+			print_bits(cpuname, "Perfmon-edx",
+			CPUID_PERF_FLAGS3, descs[3]);
+		}
+		if (ci->ci_max_cpuid >= 0x1a) {
+			x86_cpuid(0x1a, descs);
+			if (descs[0] != 0) {
+aprint_verbose("%s: Hybrid: Core type %02x, "
+"Native Model ID %07x\n",
+cpuname,
+(uint8_t)__SHIFTOUT(descs[0],
+	CPUID_HYBRID_CORETYPE),
+(uint32_t)__SHIFTOUT(descs[0],
+	CPUID_HYBRID_NATIVEID));
 			}
 		}
 	}



CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2022-01-31 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Jan 31 17:52:44 UTC 2022

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up following revision(s) (requested by msaitoh in ticket #1732):

usr.sbin/cpuctl/arch/i386.c: revision 1.125
usr.sbin/cpuctl/arch/i386.c: revision 1.126
usr.sbin/cpuctl/arch/i386.c: revision 1.127

Add Alder Lake, Rocket Lake and Sapphire Rapids. From the latest Intel SDM.
Remove debug code and simplify. No functional change.
Decode Intel Hybrid Information Enumeration (CPUID Fn_001a).


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.13 -r1.74.6.14 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: [netbsd-8] src/usr.sbin/cpuctl/arch

2019-07-17 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Jul 17 16:01:43 UTC 2019

Modified Files:
src/usr.sbin/cpuctl/arch [netbsd-8]: i386.c

Log Message:
Pull up the following revisions (via patch), requested by msaitoh
in ticket #1296:

usr.sbin/cpuctl/arch/i386.c 1.91,1.93-1.95,1.100-1.103

- Handle NVMM and HAXM's signature.
- Regard "TCGTCGTCGTCG" as QEMU(TCG).
- Dump CPUID leaf 0x4000 if available (for -v option).
- Add Cascade Lake, Copper Lake.
- Add Future Xeon (Cannon Lake)
- Add 06_7DH for another Ice Lake.
- Add Coffee Lake based Xeon E.
- White space fix. No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.74.6.5 -r1.74.6.6 src/usr.sbin/cpuctl/arch/i386.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/cpuctl/arch/i386.c
diff -u src/usr.sbin/cpuctl/arch/i386.c:1.74.6.5 src/usr.sbin/cpuctl/arch/i386.c:1.74.6.6
--- src/usr.sbin/cpuctl/arch/i386.c:1.74.6.5	Mon Feb 11 13:23:03 2019
+++ src/usr.sbin/cpuctl/arch/i386.c	Wed Jul 17 16:01:43 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: i386.c,v 1.74.6.5 2019/02/11 13:23:03 martin Exp $	*/
+/*	$NetBSD: i386.c,v 1.74.6.6 2019/07/17 16:01:43 martin Exp $	*/
 
 /*-
  * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: i386.c,v 1.74.6.5 2019/02/11 13:23:03 martin Exp $");
+__RCSID("$NetBSD: i386.c,v 1.74.6.6 2019/07/17 16:01:43 martin Exp $");
 #endif /* not lint */
 
 #include 
@@ -167,7 +167,7 @@ static const char * const i386_intel_bra
 	"Pentium III",	/* Intel (R) Pentium (R) III processor */
 	"",		/* 0x05: Reserved */
 	"Mobile Pentium III",/* Mobile Intel (R) Pentium (R) III processor-M */
-	"Mobile Celeron",   /* Mobile Intel (R) Celeron (R) processor */
+	"Mobile Celeron",   /* Mobile Intel (R) Celeron (R) processor */
 	"Pentium 4",	/* Intel (R) Pentium (R) 4 processor */
 	"Pentium 4",	/* Intel (R) Pentium (R) 4 processor */
 	"Celeron",	/* Intel (R) Celeron (TM) processor */
@@ -320,10 +320,10 @@ const struct cpu_cpuid_nameclass i386_cp
 [0x06] = "Celeron (Mendocino)",
 [0x07] = "Pentium III (Katmai)",
 [0x08] = "Pentium III (Coppermine)",
-[0x09] = "Pentium M (Banias)", 
+[0x09] = "Pentium M (Banias)",
 [0x0a] = "Pentium III Xeon (Cascades)",
 [0x0b] = "Pentium III (Tualatin)",
-[0x0d] = "Pentium M (Dothan)", 
+[0x0d] = "Pentium M (Dothan)",
 [0x0e] = "Pentium Core Duo, Core solo",
 [0x0f] = "Xeon 30xx, 32xx, 51xx, 53xx, 73xx, "
 	 "Core 2 Quad 6xxx, "
@@ -372,7 +372,7 @@ const struct cpu_cpuid_nameclass i386_cp
 [0x4d] = "Atom C2000",
 [0x4e] = "6th gen Core, Xeon E3-1[25]00 v5 (Skylake)",
 [0x4f] = "Xeon E[57] v4 (Broadwell), Core i7-69xx Extreme",
-[0x55] = "Xeon Scalable (Skylake)",
+[0x55] = "Xeon Scalable (Skylake, Cascade Lake, Copper Lake)",
 [0x56] = "Xeon D-1500 (Broadwell)",
 [0x57] = "Xeon Phi [357]200 (Knights Landing)",
 [0x5a] = "Atom E3500",
@@ -380,13 +380,16 @@ const struct cpu_cpuid_nameclass i386_cp
 [0x5d] = "Atom X3-C3000 (Silvermont)",
 [0x5e] = "6th gen Core, Xeon E3-1[25]00 v5 (Skylake)",
 [0x5f] = "Atom (Goldmont, Denverton)",
-[0x66] = "Future Core (Cannon Lake)",
+[0x66] = "8th gen Core i3 (Cannon Lake)",
+[0x6a] = "Future Xeon (Ice Lake)",
+[0x6c] = "Future Xeon (Ice Lake)",
 [0x7a] = "Atom (Goldmont Plus)",
+[0x7d] = "Future Core (Ice Lake)",
 [0x7e] = "Future Core (Ice Lake)",
 [0x85] = "Xeon Phi 7215, 7285, 7295 (Knights Mill)",
 [0x86] = "Atom (Tremont)",
-[0x8e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake)",
-[0x9e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake)",
+[0x8e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake) or Xeon E (Coffee Lake)",
+[0x9e] = "7th or 8th gen Core (Kaby Lake, Coffee Lake) or Xeon E (Coffee Lake)",
 			},
 			"Pentium Pro, II or III",	/* Default */
 			NULL,
@@ -725,7 +728,7 @@ static void
 cyrix6x86_cpu_setup(struct cpu_info *ci)
 {
 
-	/* 
+	/*
 	 * Do not disable the TSC on the Geode GX, it's reported to
 	 * work fine.
 	 */
@@ -975,7 +978,7 @@ amd_family6_probe(struct cpu_info *ci)
 
 	if (*cpu_brand_string == '\0')
 		return;
-	
+
 	for (i = 1; i < __arraycount(amd_brand); i++)
 		if ((p = strstr(cpu_brand_string, amd_brand[i])) != NULL) {
 			ci->ci_brand_id = i;
@@ -1226,10 +1229,10 @@ intel_cpu_cacheinfo(struct cpu_info *ci)
 	}
 }
 
-static const struct x86_cache_info amd_cpuid_l2cache_assoc_info[] = 
+static const struct x86_cache_info amd_cpuid_l2cache_assoc_info[] =
 AMD_L2CACHE_INFO;
 
-static const struct x86_cache_info amd_cpuid_l3cache_assoc_info[] = 
+static const struct x86_cache_info amd_cpuid_l3cache_assoc_info[] =
 AMD_L3CACHE_INFO;
 
 static void
@@ -1716,19 +1719,28 @@ cpu_probe_hv_features(struct cpu_info *c
 		/*
 		 * HV vendor	ID string