Module Name:    src
Committed By:   maxv
Date:           Wed Aug  5 15:16:51 UTC 2020

Modified Files:
        src/sys/dev/nvmm/x86: nvmm_x86.c

Log Message:
Make it easier to understand what's going on, no functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/nvmm/x86/nvmm_x86.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/dev/nvmm/x86/nvmm_x86.c
diff -u src/sys/dev/nvmm/x86/nvmm_x86.c:1.9 src/sys/dev/nvmm/x86/nvmm_x86.c:1.10
--- src/sys/dev/nvmm/x86/nvmm_x86.c:1.9	Sat May  9 16:18:57 2020
+++ src/sys/dev/nvmm/x86/nvmm_x86.c	Wed Aug  5 15:16:50 2020
@@ -1,7 +1,7 @@
-/*	$NetBSD: nvmm_x86.c,v 1.9 2020/05/09 16:18:57 maxv Exp $	*/
+/*	$NetBSD: nvmm_x86.c,v 1.10 2020/08/05 15:16:50 maxv Exp $	*/
 
 /*
- * Copyright (c) 2018-2019 The NetBSD Foundation, Inc.
+ * Copyright (c) 2018-2020 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
  * This code is derived from software contributed to The NetBSD Foundation
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nvmm_x86.c,v 1.9 2020/05/09 16:18:57 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nvmm_x86.c,v 1.10 2020/08/05 15:16:50 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -233,85 +233,191 @@ const struct nvmm_x86_cpuid_mask nvmm_cp
 	.eax = ~0,
 	.ebx = ~0,
 	.ecx =
-	    /* Excluded: MONITOR, VMX, SMX, EST, TM2, PDCM, PCID, DCA, X2APIC,
-	     * DEADLINE, RAZ. */
-	    CPUID2_SSE3 | CPUID2_PCLMUL |
-	    CPUID2_DTES64 | CPUID2_DS_CPL |
-	    CPUID2_SSSE3 | CPUID2_CID |
-	    CPUID2_SDBG | CPUID2_FMA |
-	    CPUID2_CX16 | CPUID2_xTPR |
-	    CPUID2_SSE41 | CPUID2_SSE42 |
-	    CPUID2_MOVBE | CPUID2_POPCNT |
-	    CPUID2_AES | CPUID2_XSAVE |
-	    CPUID2_OSXSAVE | CPUID2_F16C |
+	    CPUID2_SSE3 |
+	    CPUID2_PCLMUL |
+	    CPUID2_DTES64 |
+	    /* CPUID2_MONITOR excluded */
+	    CPUID2_DS_CPL |
+	    /* CPUID2_VMX excluded */
+	    /* CPUID2_SMX excluded */
+	    /* CPUID2_EST excluded */
+	    /* CPUID2_TM2 excluded */
+	    CPUID2_SSSE3 |
+	    CPUID2_CID |
+	    CPUID2_SDBG |
+	    CPUID2_FMA |
+	    CPUID2_CX16 |
+	    CPUID2_xTPR |
+	    /* CPUID2_PDCM excluded */
+	    /* CPUID2_PCID excluded, but re-included in VMX */
+	    /* CPUID2_DCA excluded */
+	    CPUID2_SSE41 |
+	    CPUID2_SSE42 |
+	    /* CPUID2_X2APIC excluded */
+	    CPUID2_MOVBE |
+	    CPUID2_POPCNT |
+	    /* CPUID2_DEADLINE excluded */
+	    CPUID2_AES |
+	    CPUID2_XSAVE |
+	    CPUID2_OSXSAVE |
+	    /* CPUID2_AVX excluded */
+	    CPUID2_F16C |
 	    CPUID2_RDRAND,
+	    /* CPUID2_RAZ excluded */
 	.edx =
-	    /* Excluded: MCE, MTRR, MCA, DS, ACPI, TM. */
-	    CPUID_FPU | CPUID_VME |
-	    CPUID_DE | CPUID_PSE |
-	    CPUID_TSC | CPUID_MSR |
-	    CPUID_PAE | CPUID_CX8 |
-	    CPUID_APIC | CPUID_B10 |	
-	    CPUID_SEP | CPUID_PGE |
-	    CPUID_CMOV | CPUID_PAT |
-	    CPUID_PSE36 | CPUID_PN |
-	    CPUID_CFLUSH | CPUID_B20 |
-	    CPUID_MMX | CPUID_FXSR |
-	    CPUID_SSE | CPUID_SSE2 |
-	    CPUID_SS | CPUID_HTT |
-	    CPUID_IA64 | CPUID_SBF
+	    CPUID_FPU |
+	    CPUID_VME |
+	    CPUID_DE |
+	    CPUID_PSE |
+	    CPUID_TSC |
+	    CPUID_MSR |
+	    CPUID_PAE |
+	    /* CPUID_MCE excluded */
+	    CPUID_CX8 |
+	    CPUID_APIC |
+	    CPUID_B10 |	
+	    CPUID_SEP |
+	    /* CPUID_MTRR excluded */
+	    CPUID_PGE |
+	    /* CPUID_MCA excluded */
+	    CPUID_CMOV |
+	    CPUID_PAT |
+	    CPUID_PSE36 |
+	    CPUID_PN |
+	    CPUID_CFLUSH |
+	    CPUID_B20 |
+	    /* CPUID_DS excluded */
+	    /* CPUID_ACPI excluded */
+	    CPUID_MMX |
+	    CPUID_FXSR |
+	    CPUID_SSE |
+	    CPUID_SSE2 |
+	    CPUID_SS |
+	    CPUID_HTT |
+	    /* CPUID_TM excluded */
+	    CPUID_IA64 |
+	    CPUID_SBF
 };
 
 const struct nvmm_x86_cpuid_mask nvmm_cpuid_00000007 = {
 	.eax = ~0,
 	.ebx =
-	    /* Excluded: TSC_ADJUST, AVX2, INVPCID, QM, AVX512*, PT, SHA. */
 	    CPUID_SEF_FSGSBASE |
-	    CPUID_SEF_SGX | CPUID_SEF_BMI1 |
-	    CPUID_SEF_HLE | CPUID_SEF_FDPEXONLY |
-	    CPUID_SEF_SMEP | CPUID_SEF_BMI2 |
-	    CPUID_SEF_ERMS | CPUID_SEF_RTM |
-	    CPUID_SEF_FPUCSDS | CPUID_SEF_PQE |
-	    CPUID_SEF_RDSEED | CPUID_SEF_ADX |
-	    CPUID_SEF_SMAP | CPUID_SEF_CLFLUSHOPT |
+	    /* CPUID_SEF_TSC_ADJUST excluded */
+	    CPUID_SEF_SGX |
+	    CPUID_SEF_BMI1 |
+	    CPUID_SEF_HLE |
+	    /* CPUID_SEF_AVX2 excluded */
+	    CPUID_SEF_FDPEXONLY |
+	    CPUID_SEF_SMEP |
+	    CPUID_SEF_BMI2 |
+	    CPUID_SEF_ERMS |
+	    /* CPUID_SEF_INVPCID excluded, but re-included in VMX */
+	    CPUID_SEF_RTM |
+	    /* CPUID_SEF_QM excluded */
+	    CPUID_SEF_FPUCSDS |
+	    /* CPUID_SEF_MPX excluded */
+	    CPUID_SEF_PQE |
+	    /* CPUID_SEF_AVX512F excluded */
+	    /* CPUID_SEF_AVX512DQ excluded */
+	    CPUID_SEF_RDSEED |
+	    CPUID_SEF_ADX |
+	    CPUID_SEF_SMAP |
+	    /* CPUID_SEF_AVX512_IFMA excluded */
+	    CPUID_SEF_CLFLUSHOPT |
 	    CPUID_SEF_CLWB,
+	    /* CPUID_SEF_PT excluded */
+	    /* CPUID_SEF_AVX512PF excluded */
+	    /* CPUID_SEF_AVX512ER excluded */
+	    /* CPUID_SEF_AVX512CD excluded */
+	    /* CPUID_SEF_SHA excluded */
+	    /* CPUID_SEF_AVX512BW excluded */
+	    /* CPUID_SEF_AVX512VL excluded */
 	.ecx =
-	    /* Excluded: AVX512*, MAWAU, RDPID. */
-	    CPUID_SEF_PREFETCHWT1 | CPUID_SEF_UMIP |
-	    CPUID_SEF_PKU | CPUID_SEF_OSPKE |
-	    CPUID_SEF_WAITPKG | CPUID_SEF_GFNI |
-	    CPUID_SEF_VAES | CPUID_SEF_VPCLMULQDQ |
-	    CPUID_SEF_CLDEMOTE | CPUID_SEF_MOVDIRI |
-	    CPUID_SEF_MOVDIR64B | CPUID_SEF_SGXLC,
+	    CPUID_SEF_PREFETCHWT1 |
+	    /* CPUID_SEF_AVX512_VBMI excluded */
+	    CPUID_SEF_UMIP |
+	    CPUID_SEF_PKU |
+	    CPUID_SEF_OSPKE |
+	    CPUID_SEF_WAITPKG |
+	    /* CPUID_SEF_AVX512_VBMI2 excluded */
+	    /* CPUID_SEF_CET_SS excluded */
+	    CPUID_SEF_GFNI |
+	    CPUID_SEF_VAES |
+	    CPUID_SEF_VPCLMULQDQ |
+	    /* CPUID_SEF_AVX512_VNNI excluded */
+	    /* CPUID_SEF_AVX512_BITALG excluded */
+	    /* CPUID_SEF_AVX512_VPOPCNTDQ excluded */
+	    /* CPUID_SEF_MAWAU excluded */
+	    /* CPUID_SEF_RDPID excluded */
+	    CPUID_SEF_CLDEMOTE |
+	    CPUID_SEF_MOVDIRI |
+	    CPUID_SEF_MOVDIR64B |
+	    CPUID_SEF_SGXLC,
+	    /* CPUID_SEF_PKS excluded */
 	.edx =
-	    /* Excluded: all except MD_CLEAR and ARCH_CAP. */
-	    CPUID_SEF_MD_CLEAR | CPUID_SEF_ARCH_CAP
+	    /* CPUID_SEF_AVX512_4VNNIW excluded */
+	    /* CPUID_SEF_AVX512_4FMAPS excluded */
+	    /* CPUID_SEF_FSREP_MOV excluded */
+	    /* CPUID_SEF_AVX512_VP2INTERSECT excluded */
+	    /* CPUID_SEF_SRBDS_CTRL excluded */
+	    CPUID_SEF_MD_CLEAR |
+	    /* CPUID_SEF_TSX_FORCE_ABORT excluded */
+	    /* CPUID_SEF_SERIALIZE excluded */
+	    /* CPUID_SEF_HYBRID excluded */
+	    /* CPUID_SEF_TSXLDTRK excluded */
+	    /* CPUID_SEF_CET_IBT excluded */
+	    /* CPUID_SEF_IBRS excluded */
+	    /* CPUID_SEF_STIBP excluded */
+	    /* CPUID_SEF_L1D_FLUSH excluded */
+	    CPUID_SEF_ARCH_CAP
+	    /* CPUID_SEF_CORE_CAP excluded */
+	    /* CPUID_SEF_SSBD excluded */
 };
 
 const struct nvmm_x86_cpuid_mask nvmm_cpuid_80000001 = {
 	.eax = ~0,
 	.ebx = ~0,
 	.ecx =
-	    /* Excluded: SVM, EAPIC, OSVW, MWAITX. */
-	    CPUID_LAHF | CPUID_CMPLEGACY |
-	    CPUID_ALTMOVCR0 | CPUID_LZCNT |
-	    CPUID_SSE4A | CPUID_MISALIGNSSE |
-	    CPUID_3DNOWPF | CPUID_IBS |
-	    CPUID_XOP | CPUID_SKINIT |
-	    CPUID_WDT | CPUID_LWP |
-	    CPUID_FMA4 | CPUID_TCE |
-	    CPUID_NODEID | CPUID_TBM |
-	    CPUID_TOPOEXT | CPUID_PCEC |
-	    CPUID_PCENB | CPUID_SPM |
-	    CPUID_DBE | CPUID_PTSC |
+	    CPUID_LAHF |
+	    CPUID_CMPLEGACY |
+	    /* CPUID_SVM excluded */
+	    /* CPUID_EAPIC excluded */
+	    CPUID_ALTMOVCR0 |
+	    CPUID_LZCNT |
+	    CPUID_SSE4A |
+	    CPUID_MISALIGNSSE |
+	    CPUID_3DNOWPF |
+	    /* CPUID_OSVW excluded */
+	    CPUID_IBS |
+	    CPUID_XOP |
+	    CPUID_SKINIT |
+	    CPUID_WDT |
+	    CPUID_LWP |
+	    CPUID_FMA4 |
+	    CPUID_TCE |
+	    CPUID_NODEID |
+	    CPUID_TBM |
+	    CPUID_TOPOEXT |
+	    CPUID_PCEC |
+	    CPUID_PCENB |
+	    CPUID_SPM |
+	    CPUID_DBE |
+	    CPUID_PTSC |
 	    CPUID_L2IPERFC,
+	    /* CPUID_MWAITX excluded */
 	.edx =
-	    /* Excluded: RDTSCP. */
-	    CPUID_SYSCALL | CPUID_MPC |
-	    CPUID_XD | CPUID_MMXX |
-	    CPUID_MMX | CPUID_FXSR |
-	    CPUID_FFXSR | CPUID_P1GB |
-	    CPUID_EM64T | CPUID_3DNOW2 |
+	    CPUID_SYSCALL |
+	    CPUID_MPC |
+	    CPUID_XD |
+	    CPUID_MMXX |
+	    CPUID_MMX | 
+	    CPUID_FXSR |
+	    CPUID_FFXSR |
+	    CPUID_P1GB |
+	    /* CPUID_RDTSCP excluded */
+	    CPUID_EM64T |
+	    CPUID_3DNOW2 |
 	    CPUID_3DNOW
 };
 

Reply via email to