Module Name: src Committed By: snj Date: Thu Dec 8 00:15:25 UTC 2016
Modified Files: src/sys/arch/x86/include [netbsd-7]: cacheinfo.h specialreg.h src/usr.sbin/cpuctl/arch [netbsd-7]: i386.c Log Message: Pull up following revision(s) (requested by msaitoh in ticket #1285): sys/arch/x86/include/cacheinfo.h: revision 1.22 sys/arch/x86/include/specialreg.h: revisions 1.87 and 1.90 usr.sbin/cpuctl/arch/i386.c: revisions 1.72-1.74 Changes for x86's cpuctl(8): - Add Quark X1000, Xeon E[57] v4, Core i7-69xx Extreme, 7th gen Core, Denverton, Xeon Phi [357]200, Future Xeon and Future Xeon Phi. - Add SGX, UMIP, RDPID, SGXLC, AVX512DQ, AVX512BW and AVX512VL bit. - Fix the bit location of CLFLUSHOPT. - Add new TLB descriptor 0x64 and 0xc4. To generate a diff of this commit: cvs rdiff -u -r1.18.2.2 -r1.18.2.3 src/sys/arch/x86/include/cacheinfo.h cvs rdiff -u -r1.78.4.4 -r1.78.4.5 src/sys/arch/x86/include/specialreg.h cvs rdiff -u -r1.58.2.5 -r1.58.2.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/sys/arch/x86/include/cacheinfo.h diff -u src/sys/arch/x86/include/cacheinfo.h:1.18.2.2 src/sys/arch/x86/include/cacheinfo.h:1.18.2.3 --- src/sys/arch/x86/include/cacheinfo.h:1.18.2.2 Sun Mar 6 17:49:55 2016 +++ src/sys/arch/x86/include/cacheinfo.h Thu Dec 8 00:15:25 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: cacheinfo.h,v 1.18.2.2 2016/03/06 17:49:55 martin Exp $ */ +/* $NetBSD: cacheinfo.h,v 1.18.2.3 2016/12/08 00:15:25 snj Exp $ */ #ifndef _X86_CACHEINFO_H_ #define _X86_CACHEINFO_H_ @@ -234,6 +234,7 @@ __CI_TBL(CAI_DTLB, 0x5c, 0xff, 64, __CI_TBL(CAI_DTLB, 0x5d, 0xff, 64, 4 * 1024, "4K/4M: 256 entries"),\ __CI_TBL(CAI_ITLB, 0x61, 0xff, 48, 4 * 1024, NULL), \ __CI_TBL(CAI_L1_1GBDTLB,0x63, 4, 4,1024*1024 * 1024, NULL), \ +__CI_TBL(CAI_DTLB, 0x64, 4,512, 4 * 1024, NULL), \ __CI_TBL(CAI_ITLB, 0x6a, 8, 64, 4 * 1024, NULL), \ __CI_TBL(CAI_DTLB, 0x6b, 8,256, 4 * 1024, NULL), \ __CI_TBL(CAI_L2_DTLB2, 0x6c, 8,128, 0, "2M/4M: 128 entries"),\ @@ -252,6 +253,7 @@ __CI_TBL(CAI_DTLB2, 0xc0, 4, 8, __CI_TBL(CAI_L2_STLB2, 0xc1, 8,1024, 4 * 1024, "4K/2M: 1024 entries"), \ __CI_TBL(CAI_DTLB2, 0xc2, 4, 16, 4 * 1024, "4K/2M: 16 entries"), \ __CI_TBL(CAI_L2_STLB, 0xc3, 6,1536, 4 * 1024, NULL), \ +__CI_TBL(CAI_DTLB2, 0xc4, 4, 32, 4 * 1024, "2M/4M: 32 entries"), \ __CI_TBL(CAI_L2_STLB, 0xca, 4,512, 4 * 1024, NULL), \ __CI_TBL(CAI_ICACHE, 0x06, 4, 8 * 1024, 32, NULL), \ __CI_TBL(CAI_ICACHE, 0x08, 4, 16 * 1024, 32, NULL), \ Index: src/sys/arch/x86/include/specialreg.h diff -u src/sys/arch/x86/include/specialreg.h:1.78.4.4 src/sys/arch/x86/include/specialreg.h:1.78.4.5 --- src/sys/arch/x86/include/specialreg.h:1.78.4.4 Sun Mar 6 17:49:55 2016 +++ src/sys/arch/x86/include/specialreg.h Thu Dec 8 00:15:25 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: specialreg.h,v 1.78.4.4 2016/03/06 17:49:55 martin Exp $ */ +/* $NetBSD: specialreg.h,v 1.78.4.5 2016/12/08 00:15:25 snj Exp $ */ /*- * Copyright (c) 1991 The Regents of the University of California. @@ -318,6 +318,7 @@ /* %ebx */ #define CPUID_SEF_FSGSBASE __BIT(0) #define CPUID_SEF_TSC_ADJUST __BIT(1) +#define CPUID_SEF_SGX __BIT(2) #define CPUID_SEF_BMI1 __BIT(3) #define CPUID_SEF_HLE __BIT(4) #define CPUID_SEF_AVX2 __BIT(5) @@ -332,6 +333,7 @@ #define CPUID_SEF_MPX __BIT(14) #define CPUID_SEF_PQE __BIT(15) #define CPUID_SEF_AVX512F __BIT(16) +#define CPUID_SEF_AVX512DQ __BIT(17) #define CPUID_SEF_RDSEED __BIT(18) #define CPUID_SEF_ADX __BIT(19) #define CPUID_SEF_SMAP __BIT(20) @@ -341,25 +343,32 @@ #define CPUID_SEF_AVX512ER __BIT(27) #define CPUID_SEF_AVX512CD __BIT(28) #define CPUID_SEF_SHA __BIT(29) +#define CPUID_SEF_AVX512BW __BIT(30) +#define CPUID_SEF_AVX512VL __BIT(31) #define CPUID_SEF_FLAGS "\20" \ - "\1" "FSGSBASE" "\2" "TSCADJUST" "\4" "BMI1" \ + "\1" "FSGSBASE" "\2" "TSCADJUST" "\3" "SGX" "\4" "BMI1" \ "\5" "HLE" "\6" "AVX2" "\7" "FDPEXONLY" "\10" "SMEP" \ "\11" "BMI2" "\12" "ERMS" "\13" "INVPCID" "\14" "RTM" \ "\15" "QM" "\16" "FPUCSDS" "\17" "MPX" "\20" "PQE" \ - "\21" "AVX512F" "\23" "RDSEED" "\24" "ADX" \ - "\25" "SMAP" "\26" "CLFLUSHOPT" \ - "\32" "PT" "\33" "AVX512PF""\34" "AVX512ER" \ - "\35" "AVX512CD""\36" "SHA" + "\21" "AVX512F" "\22" "AVX512DQ" "\23" "RDSEED" "\24" "ADX" \ + "\25" "SMAP" "\30" "CLFLUSHOPT" \ + "\32" "PT" "\33" "AVX512PF" "\34" "AVX512ER" \ + "\35" "AVX512CD""\36" "SHA" "\37" "AVX512BW" "\40" "AVX512VL" /* %ecx */ #define CPUID_SEF_PREFETCHWT1 __BIT(0) +#define CPUID_SEF_UMIP __BIT(2) #define CPUID_SEF_PKU __BIT(3) #define CPUID_SEF_OSPKE __BIT(4) +#define CPUID_SEF_RDPID __BIT(22) +#define CPUID_SEF_SGXLC __BIT(30) #define CPUID_SEF_FLAGS1 "\20" \ - "\1" "PREFETCHWT1" "\4" "PKU" \ - "\5" "OSPKE" + "\1" "PREFETCHWT1" "\3" "UMIP" "\4" "PKU" \ + "\5" "OSPKE" \ + "\27" "RDPID" \ + "\37" "SGXLC" /* * CPUID Processor extended state Enumeration Fn0000000d Index: src/usr.sbin/cpuctl/arch/i386.c diff -u src/usr.sbin/cpuctl/arch/i386.c:1.58.2.5 src/usr.sbin/cpuctl/arch/i386.c:1.58.2.6 --- src/usr.sbin/cpuctl/arch/i386.c:1.58.2.5 Sun Mar 6 17:49:56 2016 +++ src/usr.sbin/cpuctl/arch/i386.c Thu Dec 8 00:15:25 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: i386.c,v 1.58.2.5 2016/03/06 17:49:56 martin Exp $ */ +/* $NetBSD: i386.c,v 1.58.2.6 2016/12/08 00:15:25 snj Exp $ */ /*- * Copyright (c) 1999, 2000, 2001, 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -57,7 +57,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: i386.c,v 1.58.2.5 2016/03/06 17:49:56 martin Exp $"); +__RCSID("$NetBSD: i386.c,v 1.58.2.6 2016/12/08 00:15:25 snj Exp $"); #endif /* not lint */ #include <sys/types.h> @@ -298,7 +298,7 @@ const struct cpu_cpuid_nameclass i386_cp "Pentium (P54C)", "Pentium (P24T)", "Pentium/MMX", "Pentium", 0, "Pentium (P54C)", "Pentium/MMX (Tillamook)", - 0, 0, 0, 0, 0, 0, 0, + "Quark X1000", 0, 0, 0, 0, 0, 0, }, "Pentium", /* Default */ NULL, @@ -368,12 +368,18 @@ const struct cpu_cpuid_nameclass i386_cp [0x4c] = "Atom X[57]-Z8000 (Airmont)", [0x4d] = "Atom C2000", [0x4e] = "6th gen Core, Xeon E3-1[25]00 v5 (Skylake)", - [0x4f] = "Future gen Xeon (Broadwell)", + [0x4f] = "Xeon E[57] v4 (Broadwell), Core i7-69xx Extreme", + [0x55] = "Future Xeon", [0x56] = "Xeon D-1500 (Broadwell)", - [0x57] = "Next gen Xeon Phi", + [0x57] = "Xeon Phi [357]200", [0x5a] = "Atom E3500", + [0x5c] = "Next Atom (Goldmont)", [0x5d] = "Atom X3-C3000 (Silvermont)", [0x5e] = "6th gen Core, Xeon E3-1[25]00 v5 (Skylake)", + [0x5f] = "Future Atom (Denverton)", + [0x85] = "Future Xeon Phi", + [0x8e] = "7th gen Core (Kaby Lake)", + [0x9e] = "7th gen Core (Kaby Lake)", }, "Pentium Pro, II or III", /* Default */ NULL,