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