Module Name:    src
Committed By:   msaitoh
Date:           Thu Oct 17 14:22:35 UTC 2024

Modified Files:
        src/sys/arch/x86/include: specialreg.h

Log Message:
x86/specialreg.h: Update AMD CPUID definitions.

  Update definitions from the following PPR:
   - PPR for AMD Family 19h Model 11h, Revision B2 Processors
     (Doc ID 55901 rev. 0.47)
   - PPR for AMD Family 1Ah Model 02h, Revision C1 Processors
     (Doc ID 57238 rev.0.24)
   - PPR for AMD Family 1Ah Model 24h, Revision B0 Processors
     (Doc ID 57274 rev. 3.00)

     - Rename CPUID Fn8000001b EDX bit 11 from IbsL3MissFiltering to
       Zen4IbsExtension.
     - Add some CPUID bits.


To generate a diff of this commit:
cvs rdiff -u -r1.214 -r1.215 src/sys/arch/x86/include/specialreg.h

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/specialreg.h
diff -u src/sys/arch/x86/include/specialreg.h:1.214 src/sys/arch/x86/include/specialreg.h:1.215
--- src/sys/arch/x86/include/specialreg.h:1.214	Sun Oct  6 09:32:31 2024
+++ src/sys/arch/x86/include/specialreg.h	Thu Oct 17 14:22:35 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: specialreg.h,v 1.214 2024/10/06 09:32:31 msaitoh Exp $	*/
+/*	$NetBSD: specialreg.h,v 1.215 2024/10/17 14:22:35 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 2014-2020 The NetBSD Foundation, Inc.
@@ -945,6 +945,7 @@
 #define CPUID_AMD_SVM_VMCBADRCHKCHG   __BIT(28) /* VMCB addr check changed */
 #define CPUID_AMD_SVM_BUSLOCKTHRESH   __BIT(29) /* Bus Lock Threshold */
 #define CPUID_AMD_SVM_IDLEHLTINTERCEPT __BIT(30) /* Idle HLT Intercept */
+#define CPUID_AMD_SVM_ESHUTDOWN	      __BIT(31) /* Enhanced Shutdown Intr. */
 
 #define CPUID_AMD_SVM_FLAGS	 "\20"					\
 	"\1" "NP"	"\2" "LbrVirt"	"\3" "SVML"	"\4" "NRIPS"	\
@@ -957,7 +958,7 @@
 	"\25" "SPEC_CTRL" "\26" "ROGPT"		"\30HOST_MCE_OVERRIDE"	\
 	"\31" "TLBICTL"	"\32VNMI" "\33IBSVIRT" "\34ExtLvtOffsetFaultChg" \
 	"\35VmcbAddrChkChg" "\36BusLockThreshold" "\37IdleHltIntercept" \
-							"\40B31"
+						"\40EnhancedShutdownInterrupt"
 
 /*
  * AMD Instruction-Based Sampling Capabilities.
@@ -975,15 +976,17 @@
 #define CPUID_IBS_OPBRNFUSE	__BIT(8)  /* Fused branch micro-op indicate */
 #define CPUID_IBS_FETCHCTLEXTD	__BIT(9)  /* IC_IBS_EXTD_CTL MSR */
 #define CPUID_IBS_OPDATA4	__BIT(10) /* IBS op data 4 MSR */
-#define CPUID_IBS_L3MISSFILT	__BIT(11) /* L3 Miss Filtering */
+#define CPUID_IBS_ZEN4E		__BIT(11) /* Zen4 IBS Extensions */
+#define CPUID_IBS_LOADLATFILT	__BIT(12) /* Load Latency Filtering */
+#define CPUID_IBS_UPDDTLBSTAT	__BIT(19) /* Updated DTLB stats */
 
 #define CPUID_IBS_FLAGS	 "\20"						   \
 	"\1IBSFFV"	"\2FetchSam"	"\3OpSam"	"\4RdWrOpCnt"	   \
 	"\5OpCnt"	"\6BrnTrgt"	"\7OpCntExt"	"\10RipInvalidChk" \
 	"\11OpBrnFuse" "\12IbsFetchCtlExtd" "\13IbsOpData4"		   \
-						   "\14IbsL3MissFiltering" \
-	"\15B12"							   \
-							"\24B19"
+						   "\14Zen4IbsExtensions" \
+	"\15IbsLoadLatencyFiltering"					   \
+						    "\24IbsUpdtdDtlbStats"
 
 /*
  * AMD Cache Topology Information.
@@ -1078,20 +1081,41 @@
 #define CPUID_AMDEXT2_NOSMMCTL	  __BIT(9) /* SMM_CTL MSR is not supported */
 #define CPUID_AMDEXT2_FSRS	  __BIT(10) /* Fast Short Rep Stosb */
 #define CPUID_AMDEXT2_FSRC	  __BIT(11) /* Fast Short Rep Cmpsb */
+#define CPUID_AMDEXT2_PMCPRECISERETIRE __BIT(12) /* PMC Presize Retire */
 #define CPUID_AMDEXT2_PREFETCHCTL __BIT(13) /* Prefetch control MSR */
+
+#define CPUID_AMDEXT2_L2TLBSIZEX32 __BIT(14) /* L2TLB size encoded as x32 */
+#define CPUID_AMDEXT2_ERMSB	  __BIT(15) /* AMD implementation of ERMSB */
+#define CPUID_AMDEXT2_ __BIT(16) /*  */
+
+
 #define CPUID_AMDEXT2_CPUIDUSRDIS __BIT(17) /* CPUID dis. for non-priv. soft */
 #define CPUID_AMDEXT2_EPSF	  __BIT(18) /* Enhanced Predictive Store Fwd */
 
+#define CPUID_AMDEXT2_0F017_RECLAIM __BIT(19) /* Opecode 0f 01/7 reserved */
+#define CPUID_AMDEXT2_PREFETCHI	  __BIT(20) /* IC prefetch support */
+#define CPUID_AMDEXT2_FP512_DOWNGRADE __BIT(21) /* FP512 dpath down to 256 */
+#define CPUID_AMDEXT2_WL_CLASS	  __BIT(22) /* wkld based heuristic feedback */
+#define CPUID_AMDEXT2_ERAPS	  __BIT(24) /* Enhn. Retn. Addr. Pred. Sec. */
+#define CPUID_AMDEXT2_SBPB	  __BIT(27) /* Selective Brnc. Pred. Barrier */
+#define CPUID_AMDEXT2_IBPB_BRTYPE __BIT(28) /* BRanch TYPE prediction flush */
+#define CPUID_AMDEXT2_SRSO_NO	  __BIT(29) /* Not vulnerable to SRSO */
+#define CPUID_AMDEXT2_SRSO_UK_NO  __BIT(30) /* SRSO_NO at user-kern boundary */
+#define CPUID_AMDEXT2_SRSO_MSR_FIX __BIT(31) /* SRSO mitig. bit in BP_CFG[4] */
+
 #define CPUID_AMDEXT2_FLAGS	 "\20"					      \
 	"\1NoNestedDataBp" "\2FsGsKernelGsBaseNonSerializing"		      \
 				"\3LfenceAlwaysSerialize" "\4SmmPgCfgLock"    \
 			     "\7NullSelectClearsBase" "\10UpperAddressIgnore" \
 	"\11AutomaticIBRS" "\12NoSmmCtlMSR"	"\13FSRS"	"\14FSRC"     \
-	"\15B12"	"\16PrefetchCtlMSR"	"\17B14"	"\20B15"      \
-	"\21B16"	"\22CpuidUserDis"	"\23EPSF"	"\24B19"      \
-	"\25B20"	"\26B21"					      \
-	"\31B24"						"\34B27"      \
-	"\35B28"				"\37B30"
+	"\15PMC2PreciseRetire" "\16PrefetchCtlMSR" "\17L2TlbsizeX32"	      \
+							       "\20AMD_ERMSB" \
+	"\21OPCODE_0F017_RECLAIM" "\22CpuidUserDis" "\23EPSF"		      \
+							  "\24FAST_REP_SCASB" \
+	"\25PREFETCHI"	"\26FP512_DOWNGRADE" "\27WL_CLASS_SUPPORT"	      \
+	"\31ERAPS"						"\34SBPB"     \
+	"\35IBPB_BRTYPE" "\36SRSO_NO" "\37SRSO_USER_KERNEL_NO"		      \
+							    "\40SRSO_MSR_FIX"
 
 /*
  * AMD Extended Performance Monitoring and Debug

Reply via email to