[PATCH v2 2/2] x86/cpuid: Update bitfields to x86-cpuid-db v3.1
Maciej Wieczor-Retman <[email protected]> Wed, 03 Jun 2026 17:10:57 +0000
| Newsgroups | dev.linux.lists.x86-cpuid,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <9653d8690ec7093c8190b12d1fa8c689c4da50fe.1780506200.git.m.wieczorretman@pm.me> |
From: Maciej Wieczor-Retman <[email protected]> Update leaf_types.h to version 3.1, as generated by x86-cpuid-db. Summary of the v3.1 changes: * Fix a few typos that were found during the kernel CPUID data model review. Also include fixes found using an LLM agent review. * Rename thrd_director_nclasses to hw_feedback_nclasses as it's the name used in Intel SDM. Link: https://gitlab.com/x86-cpuid.org/x86-cpuid-db/-/blob/v3.1/CHANGELOG.r= st Signed-off-by: Maciej Wieczor-Retman <[email protected]> --- arch/x86/include/asm/cpuid/leaf_types.h | 62 ++++++++++++------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/arch/x86/include/asm/cpuid/leaf_types.h b/arch/x86/include/asm= /cpuid/leaf_types.h index 5b0008e455e2..222d2d2682c8 100644 --- a/arch/x86/include/asm/cpuid/leaf_types.h +++ b/arch/x86/include/asm/cpuid/leaf_types.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: MIT */ -/* Generator: x86-cpuid-db v3.0 */ +/* Generator: x86-cpuid-db v3.1 */ =20 /* * Auto-generated file. @@ -246,7 +246,7 @@ struct leaf_0x6_0 { =09=09=09=09=09=09: 2, // Reserved =09=09energy_perf_bias=09=09: 1, // IA32_ENERGY_PERF_BIAS MSR =09=09=09=09=09=09: 4, // Reserved -=09=09thrd_director_nclasses=09=09: 8, // Number of classes, Intel thread= director +=09=09hw_feedback_nclasses=09=09: 8, // Number of Intel Thread Director c= lasses =09=09=09=09=09=09: 16; // Reserved =09// edx =09u32=09perfcap_reporting=09=09: 1, // Performance capability reporting @@ -332,11 +332,11 @@ struct leaf_0x7_0 { =09=09sgx_keys=09=09=09: 1, // Intel SGX attestation services =09=09avx512_4vnniw=09=09=09: 1, // AVX-512 neural network instructions =09=09avx512_4fmaps=09=09=09: 1, // AVX-512 multiply accumulation single = precision -=09=09fsrm=09=09=09=09: 1, // Fast short REP MOV +=09=09fsrm=09=09=09=09: 1, // Fast short REP MOVSB =09=09uintr=09=09=09=09: 1, // User interrupts =09=09=09=09=09=09: 2, // Reserved =09=09avx512_vp2intersect=09=09: 1, // VP2INTERSECT{D,Q} instructions -=09=09srdbs_ctrl=09=09=09: 1, // SRBDS mitigation MSR +=09=09srbds_ctrl=09=09=09: 1, // SRBDS mitigation MSR =09=09md_clear=09=09=09: 1, // VERW MD_CLEAR microcode =09=09rtm_always_abort=09=09: 1, // XBEGIN (RTM transaction) always abort= s =09=09=09=09=09=09: 1, // Reserved @@ -379,7 +379,7 @@ struct leaf_0x7_1 { =09=09wrmsrns=09=09=09=09: 1, // WRMSRNS instruction (WRMSR-non-serializi= ng) =09=09nmi_src=09=09=09=09: 1, // NMI-source reporting with FRED event dat= a =09=09amx_fp16=09=09=09: 1, // AMX-FP16: FP16 tile operations -=09=09hreset =09=09=09=09: 1, // HRESET (Thread director history reset) +=09=09hreset=09=09=09=09: 1, // HRESET (Thread director history reset) =09=09avx_ifma=09=09=09: 1, // Integer fused multiply add =09=09=09=09=09=09: 2, // Reserved =09=09lam=09=09=09=09: 1, // Linear address masking @@ -414,8 +414,8 @@ struct leaf_0x7_2 { =09u32=09intel_psfd=09=09=09: 1, // Intel predictive store forward disabl= e =09=09ipred_ctrl=09=09=09: 1, // MSR bits IA32_SPEC_CTRL.IPRED_DIS_{U,S} =09=09rrsba_ctrl=09=09=09: 1, // MSR bits IA32_SPEC_CTRL.RRSBA_DIS_{U,S} -=09=09ddp_ctrl=09=09=09: 1, // MSR bit IA32_SPEC_CTRL.DDPD_U -=09=09bhi_ctrl=09=09=09: 1, // MSR bit IA32_SPEC_CTRL.BHI_DIS_S +=09=09ddp_ctrl=09=09=09: 1, // MSR bit IA32_SPEC_CTRL.DDPD_U +=09=09bhi_ctrl=09=09=09: 1, // MSR bit IA32_SPEC_CTRL.BHI_DIS_S =09=09mcdt_no=09=09=09=09: 1, // MCDT mitigation not needed =09=09uclock_disable=09=09=09: 1, // UC-lock disable =09=09=09=09=09=09: 25; // Reserved @@ -547,7 +547,7 @@ struct leaf_0xd_1 { =09=09=09=09=09=09: 1, // Reserved =09=09xss_pasid=09=09=09: 1, // PASID state =09=09xss_cet_u=09=09=09: 1, // CET user state -=09=09xss_cet_p=09=09=09: 1, // CET supervisor state +=09=09xss_cet_s=09=09=09: 1, // CET supervisor state =09=09xss_hdc=09=09=09=09: 1, // HDC state =09=09xss_uintr=09=09=09: 1, // UINTR state =09=09xss_lbr=09=09=09=09: 1, // LBR state @@ -711,7 +711,7 @@ struct leaf_0x12_1 { =09u32=09=09=09=09=09: 32; // Reserved =09// ecx =09u32=09xfrm_x87=09=09=09: 1, // Enclave XFRM.X87 -=09=09xfrm_sse=09=09=09: 1, // Enclave XFRM.SEE +=09=09xfrm_sse=09=09=09: 1, // Enclave XFRM.SSE =09=09xfrm_avx=09=09=09: 1, // Enclave XFRM.AVX =09=09xfrm_mpx_bndregs=09=09: 1, // Enclave XFRM.BNDREGS (MPX BND0-BND3 r= egisters) =09=09xfrm_mpx_bndcsr=09=09=09: 1, // Enclave XFRM.BNDCSR (MPX BNDCFGU/BN= DSTATUS registers) @@ -771,7 +771,7 @@ struct leaf_0x14_0 { =09u32=09topa_output=09=09=09: 1, // ToPA output scheme =09=09topa_multiple_entries=09=09: 1, // ToPA tables can hold multiple en= tries =09=09single_range_output=09=09: 1, // Single-range output -=09=09trance_transport_output=09=09: 1, // Trace Transport subsystem outp= ut +=09=09trace_transport_output=09=09: 1, // Trace Transport subsystem outpu= t =09=09=09=09=09=09: 27, // Reserved =09=09ip_payloads_lip=09=09=09: 1; // IP payloads have LIP values (CS bas= e included) =09// edx @@ -780,7 +780,7 @@ struct leaf_0x14_0 { =20 struct leaf_0x14_1 { =09// eax -=09u32=09num_address_ranges=09=09: 3, // Number of configurable Address R= anges +=09u32=09num_address_ranges=09=09: 3, // Number of configurable address r= anges =09=09=09=09=09=09: 13, // Reserved =09=09mtc_periods_bmp=09=09=09: 16; // MTC period encodings bitmap =09// ebx @@ -842,7 +842,7 @@ struct leaf_0x17_0 { =09// ecx =09u32=09soc_proj_id=09=09=09: 32; // SoC project ID, assigned by vendor =09// edx -=09u32=09soc_stepping_id=09=09=09: 32; // Soc project stepping ID, assigne= d by vendor +=09u32=09soc_stepping_id=09=09=09: 32; // SoC project stepping ID, assigne= d by vendor }; =20 struct leaf_0x17_n { @@ -883,7 +883,7 @@ struct leaf_0x18_n { =09=09tlb_cache_level=09=09=09: 3, // Translation cache level (1-based) =09=09is_fully_associative=09=09: 1, // Fully-associative =09=09=09=09=09=09: 5, // Reserved -=09=09tlb_max_addressible_ids=09=09: 12, // Max number of addressable IDs = - 1 +=09=09tlb_max_addressable_ids=09=09: 12, // Max number of addressable IDs = - 1 =09=09=09=09=09=09: 6; // Reserved }; =20 @@ -897,7 +897,7 @@ struct leaf_0x18_n { =20 struct leaf_0x19_0 { =09// eax -=09u32=09kl_cpl0_only=09=09=09: 1, // CPL0-only key Locker restriction +=09u32=09kl_cpl0_only=09=09=09: 1, // CPL0-only key locker restriction =09=09kl_no_encrypt=09=09=09: 1, // No-encrypt key locker restriction =09=09kl_no_decrypt=09=09=09: 1, // No-decrypt key locker restriction =09=09=09=09=09=09: 29; // Reserved @@ -962,7 +962,7 @@ struct leaf_0x1c_0 { =09// eax =09u32=09lbr_depth_mask=09=09=09: 8, // Max LBR stack depth bitmask =09=09=09=09=09=09: 22, // Reserved -=09=09lbr_deep_c_reset=09=09: 1, // LBRs maybe cleared on MWAIT C-state >= C1 +=09=09lbr_deep_c_reset=09=09: 1, // LBRs may be cleared on MWAIT C-state = > C1 =09=09lbr_ip_is_lip=09=09=09: 1; // LBR IP contain Last IP (otherwise eff= ective IP) =09// ebx =09u32=09lbr_cpl=09=09=09=09: 1, // CPL filtering @@ -1079,9 +1079,9 @@ struct leaf_0x21_0 { =09// ebx =09u32=09tdx_vendorid_0=09=09=09: 32; // TDX vendor ID string bytes 0 - 3 =09// ecx -=09u32=09tdx_vendorid_2=09=09=09: 32; // CPU vendor ID string bytes 8 - 11 +=09u32=09tdx_vendorid_2=09=09=09: 32; // TDX vendor ID string bytes 8 - 11 =09// edx -=09u32=09tdx_vendorid_1=09=09=09: 32; // CPU vendor ID string bytes 4 - 7 +=09u32=09tdx_vendorid_1=09=09=09: 32; // TDX vendor ID string bytes 4 - 7 }; =20 /* @@ -1281,12 +1281,12 @@ struct leaf_0x4c780001_0 { =09=09flexpriority=09=09=09: 1, // Intel FlexPriority =09=09ept=09=09=09=09: 1, // Intel Extended Page Table =09=09vpid=09=09=09=09: 1, // Intel Virtual Processor ID -=09=09coherency_sfw_no=09=09: 1, // SNP cache coherency software work aro= und not needed +=09=09coherency_sfw_no=09=09: 1, // SNP cache coherency software workarou= nd not needed =09=09=09=09=09=09: 10, // Reserved =09=09vmmcall=09=09=09=09: 1, // Prefer VMMCALL to VMCALL =09=09xenpv=09=09=09=09: 1, // Xen paravirtual guest =09=09ept_ad=09=09=09=09: 1, // Intel Extended Page Table access-dirty bi= t -=09=09VMCALL=09=09=09=09: 1, // Hypervisor supports the VMCALL instructio= n +=09=09vmcall=09=09=09=09: 1, // Hypervisor supports the VMCALL instructio= n =09=09vmw_vmmcall=09=09=09: 1, // VMware prefers the VMMCALL instruction =09=09pvunlock=09=09=09: 1, // PV unlock function =09=09vcpupreempt=09=09=09: 1, // PV vcpu_is_preempted function @@ -1380,11 +1380,11 @@ struct leaf_0x4c780002_0 { =09=09amd_e400=09=09=09: 1, // CPU is among the affected by Erratum 400 =09=09cpu_meltdown=09=09=09: 1, // CPU affected by meltdown; needs kernel= page table isolation =09=09spectre_v1=09=09=09: 1, // CPU affected by Spectre variant 1 with c= onditional branches -=09=09specture_v2=09=09=09: 1, // CPU affected by Spectre variant 2 with = indirect branches +=09=09spectre_v2=09=09=09: 1, // CPU affected by Spectre variant 2 with i= ndirect branches =09=09spec_store_bypass=09=09: 1, // CPU affected by speculative store by= pass attack =09=09l1tf=09=09=09=09: 1, // CPU affected by L1 Terminal Fault =09=09mds=09=09=09=09: 1, // CPU affected by Microarchitectural data samp= ling -=09=09msbds_only=09=09=09: 1, // Microarchitectural data sampling: CPU on= ly affected by the MSDBS variant +=09=09msbds_only=09=09=09: 1, // Microarchitectural data sampling: CPU on= ly affected by the MSBDS variant =09=09swapgs=09=09=09=09: 1, // CPU affected by speculation through SWAPG= S =09=09taa=09=09=09=09: 1, // CPU is affected by TSX Async Abort (TAA) =09=09itlb_multihit=09=09=09: 1, // CPU may incur MCE during certain page= attribute changes @@ -1732,7 +1732,7 @@ struct leaf_0x8000000a_0 { =09=09lbr_virt=09=09=09: 1, // LBR virtualization =09=09svm_lock=09=09=09: 1, // SVM lock =09=09nrip_save=09=09=09: 1, // NRIP save support on #VMEXIT -=09=09tsc_rate_msr=09=09=09: 1, // MSR based TSC rate control +=09=09tsc_rate_msr=09=09=09: 1, // MSR-based TSC rate control =09=09vmcb_clean=09=09=09: 1, // VMCB clean bits support =09=09flush_by_asid=09=09=09: 1, // Flush by ASID + Extended VMCB TLB_Con= trol =09=09decode_assists=09=09=09: 1, // Decode Assists support @@ -1790,7 +1790,7 @@ struct leaf_0x8000001a_0 { =09// eax =09u32=09fp_128=09=09=09=09: 1, // Internal FP/SIMD exec data path is 128= -bits wide =09=09movu_preferred=09=09=09: 1, // SSE: MOVU* better than MOVL*/MOVH* -=09=09fp_256=09=09=09=09: 1, // internal FP/SSE exec data path is 256-bit= s wide +=09=09fp_256=09=09=09=09: 1, // Internal FP/SSE exec data path is 256-bit= s wide =09=09=09=09=09=09: 29; // Reserved =09// ebx =09u32=09=09=09=09=09: 32; // Reserved @@ -1836,7 +1836,7 @@ struct leaf_0x8000001b_0 { struct leaf_0x8000001c_0 { =09// eax =09u32=09os_lwp_avail=09=09=09: 1, // OS: LWP is available to application= programs -=09=09os_lpwval=09=09=09: 1, // OS: LWPVAL instruction +=09=09os_lwpval=09=09=09: 1, // OS: LWPVAL instruction =09=09os_lwp_ire=09=09=09: 1, // OS: Instructions Retired Event =09=09os_lwp_bre=09=09=09: 1, // OS: Branch Retired Event =09=09os_lwp_dme=09=09=09: 1, // OS: Dcache Miss Event @@ -1856,7 +1856,7 @@ struct leaf_0x8000001c_0 { =09=09lwp_data_addr=09=09=09: 1, // Cache miss events report data cache a= ddress =09=09lwp_latency_rnd=09=09=09: 3, // Cache latency rounding amount =09=09lwp_version=09=09=09: 7, // LWP version -=09=09lwp_buf_min_sz=09=09=09: 8, // LWP event ring buffer min size, 32 e= vent records units +=09=09lwp_buf_min_sz=09=09=09: 8, // LWP event ring buffer min size, 32 e= vent record units =09=09=09=09=09=09: 4, // Reserved =09=09lwp_branch_predict=09=09: 1, // Branches Retired events can be filt= ered =09=09lwp_ip_filtering=09=09: 1, // IP filtering (IPI, IPF, BaseIP, and L= imitIP @ LWPCP) @@ -1864,7 +1864,7 @@ struct leaf_0x8000001c_0 { =09=09lwp_cache_latency=09=09: 1; // Cache-related events: filter by late= ncy =09// edx =09u32=09hw_lwp_avail=09=09=09: 1, // HW: LWP available -=09=09hw_lpwval=09=09=09: 1, // HW: LWPVAL available +=09=09hw_lwpval=09=09=09: 1, // HW: LWPVAL available =09=09hw_lwp_ire=09=09=09: 1, // HW: Instructions Retired Event =09=09hw_lwp_bre=09=09=09: 1, // HW: Branch Retired Event =09=09hw_lwp_dme=09=09=09: 1, // HW: Dcache Miss Event @@ -2051,8 +2051,8 @@ struct leaf_0x80000021_0 { =09=09upper_addr_ignore=09=09: 1, // EFER MSR Upper Address Ignore =09=09auto_ibrs=09=09=09: 1, // EFER MSR Automatic IBRS =09=09no_smm_ctl_msr=09=09=09: 1, // SMM_CTL MSR not available -=09=09fsrs=09=09=09=09: 1, // Fast Short Rep STOSB -=09=09fsrc=09=09=09=09: 1, // Fast Short Rep CMPSB +=09=09fsrs=09=09=09=09: 1, // Fast Short REP STOSB +=09=09fsrc=09=09=09=09: 1, // Fast Short REP CMPSB =09=09=09=09=09=09: 1, // Reserved =09=09prefetch_ctl_msr=09=09: 1, // Prefetch control MSR =09=09=09=09=09=09: 2, // Reserved @@ -2157,11 +2157,11 @@ struct leaf_0x80860000_0 { =09// eax =09u32=09max_tra_leaf=09=09=09: 32; // Maximum Transmeta leaf =09// ebx -=09u32=09cpu_vendorid_0=09=09=09: 32; // Transmeta Vendor ID string bytes = 0 - 3 +=09u32=09cpu_vendorid_0=09=09=09: 32; // Transmeta vendor ID string bytes = 0 - 3 =09// ecx -=09u32=09cpu_vendorid_2=09=09=09: 32; // Transmeta Vendor ID string bytes = 8 - 11 +=09u32=09cpu_vendorid_2=09=09=09: 32; // Transmeta vendor ID string bytes = 8 - 11 =09// edx -=09u32=09cpu_vendorid_1=09=09=09: 32; // Transmeta Vendor ID string bytes = 4 - 7 +=09u32=09cpu_vendorid_1=09=09=09: 32; // Transmeta vendor ID string bytes = 4 - 7 }; =20 /* --=20 2.54.0