clang 20.0.0git
Macros | Functions
cpuid.h File Reference

Go to the source code of this file.

Macros

#define signature_AMD_ebx   0x68747541
 
#define signature_AMD_edx   0x69746e65
 
#define signature_AMD_ecx   0x444d4163
 
#define signature_CENTAUR_ebx   0x746e6543
 
#define signature_CENTAUR_edx   0x48727561
 
#define signature_CENTAUR_ecx   0x736c7561
 
#define signature_CYRIX_ebx   0x69727943
 
#define signature_CYRIX_edx   0x736e4978
 
#define signature_CYRIX_ecx   0x64616574
 
#define signature_HYGON_ebx   0x6f677948
 
#define signature_HYGON_edx   0x6e65476e
 
#define signature_HYGON_ecx   0x656e6975
 
#define signature_INTEL_ebx   0x756e6547
 
#define signature_INTEL_edx   0x49656e69
 
#define signature_INTEL_ecx   0x6c65746e
 
#define signature_TM1_ebx   0x6e617254
 
#define signature_TM1_edx   0x74656d73
 
#define signature_TM1_ecx   0x55504361
 
#define signature_TM2_ebx   0x756e6547
 
#define signature_TM2_edx   0x54656e69
 
#define signature_TM2_ecx   0x3638784d
 
#define signature_NSC_ebx   0x646f6547
 
#define signature_NSC_edx   0x79622065
 
#define signature_NSC_ecx   0x43534e20
 
#define signature_NEXGEN_ebx   0x4778654e
 
#define signature_NEXGEN_edx   0x72446e65
 
#define signature_NEXGEN_ecx   0x6e657669
 
#define signature_RISE_ebx   0x65736952
 
#define signature_RISE_edx   0x65736952
 
#define signature_RISE_ecx   0x65736952
 
#define signature_SIS_ebx   0x20536953
 
#define signature_SIS_edx   0x20536953
 
#define signature_SIS_ecx   0x20536953
 
#define signature_UMC_ebx   0x20434d55
 
#define signature_UMC_edx   0x20434d55
 
#define signature_UMC_ecx   0x20434d55
 
#define signature_VIA_ebx   0x20414956
 
#define signature_VIA_edx   0x20414956
 
#define signature_VIA_ecx   0x20414956
 
#define signature_VORTEX_ebx   0x74726f56
 
#define signature_VORTEX_edx   0x36387865
 
#define signature_VORTEX_ecx   0x436f5320
 
#define bit_SSE3   0x00000001
 
#define bit_PCLMULQDQ   0x00000002
 
#define bit_PCLMUL   bit_PCLMULQDQ /* for gcc compat */
 
#define bit_DTES64   0x00000004
 
#define bit_MONITOR   0x00000008
 
#define bit_DSCPL   0x00000010
 
#define bit_VMX   0x00000020
 
#define bit_SMX   0x00000040
 
#define bit_EIST   0x00000080
 
#define bit_TM2   0x00000100
 
#define bit_SSSE3   0x00000200
 
#define bit_CNXTID   0x00000400
 
#define bit_FMA   0x00001000
 
#define bit_CMPXCHG16B   0x00002000
 
#define bit_xTPR   0x00004000
 
#define bit_PDCM   0x00008000
 
#define bit_PCID   0x00020000
 
#define bit_DCA   0x00040000
 
#define bit_SSE41   0x00080000
 
#define bit_SSE4_1   bit_SSE41 /* for gcc compat */
 
#define bit_SSE42   0x00100000
 
#define bit_SSE4_2   bit_SSE42 /* for gcc compat */
 
#define bit_x2APIC   0x00200000
 
#define bit_MOVBE   0x00400000
 
#define bit_POPCNT   0x00800000
 
#define bit_TSCDeadline   0x01000000
 
#define bit_AESNI   0x02000000
 
#define bit_AES   bit_AESNI /* for gcc compat */
 
#define bit_XSAVE   0x04000000
 
#define bit_OSXSAVE   0x08000000
 
#define bit_AVX   0x10000000
 
#define bit_F16C   0x20000000
 
#define bit_RDRND   0x40000000
 
#define bit_FPU   0x00000001
 
#define bit_VME   0x00000002
 
#define bit_DE   0x00000004
 
#define bit_PSE   0x00000008
 
#define bit_TSC   0x00000010
 
#define bit_MSR   0x00000020
 
#define bit_PAE   0x00000040
 
#define bit_MCE   0x00000080
 
#define bit_CX8   0x00000100
 
#define bit_CMPXCHG8B   bit_CX8 /* for gcc compat */
 
#define bit_APIC   0x00000200
 
#define bit_SEP   0x00000800
 
#define bit_MTRR   0x00001000
 
#define bit_PGE   0x00002000
 
#define bit_MCA   0x00004000
 
#define bit_CMOV   0x00008000
 
#define bit_PAT   0x00010000
 
#define bit_PSE36   0x00020000
 
#define bit_PSN   0x00040000
 
#define bit_CLFSH   0x00080000
 
#define bit_DS   0x00200000
 
#define bit_ACPI   0x00400000
 
#define bit_MMX   0x00800000
 
#define bit_FXSR   0x01000000
 
#define bit_FXSAVE   bit_FXSR /* for gcc compat */
 
#define bit_SSE   0x02000000
 
#define bit_SSE2   0x04000000
 
#define bit_SS   0x08000000
 
#define bit_HTT   0x10000000
 
#define bit_TM   0x20000000
 
#define bit_PBE   0x80000000
 
#define bit_FSGSBASE   0x00000001
 
#define bit_SGX   0x00000004
 
#define bit_BMI   0x00000008
 
#define bit_HLE   0x00000010
 
#define bit_AVX2   0x00000020
 
#define bit_SMEP   0x00000080
 
#define bit_BMI2   0x00000100
 
#define bit_ENH_MOVSB   0x00000200
 
#define bit_INVPCID   0x00000400
 
#define bit_RTM   0x00000800
 
#define bit_MPX   0x00004000
 
#define bit_AVX512F   0x00010000
 
#define bit_AVX512DQ   0x00020000
 
#define bit_RDSEED   0x00040000
 
#define bit_ADX   0x00080000
 
#define bit_AVX512IFMA   0x00200000
 
#define bit_CLFLUSHOPT   0x00800000
 
#define bit_CLWB   0x01000000
 
#define bit_AVX512PF   0x04000000
 
#define bit_AVX512ER   0x08000000
 
#define bit_AVX512CD   0x10000000
 
#define bit_SHA   0x20000000
 
#define bit_AVX512BW   0x40000000
 
#define bit_AVX512VL   0x80000000
 
#define bit_PREFTCHWT1   0x00000001
 
#define bit_AVX512VBMI   0x00000002
 
#define bit_PKU   0x00000004
 
#define bit_OSPKE   0x00000010
 
#define bit_WAITPKG   0x00000020
 
#define bit_AVX512VBMI2   0x00000040
 
#define bit_SHSTK   0x00000080
 
#define bit_GFNI   0x00000100
 
#define bit_VAES   0x00000200
 
#define bit_VPCLMULQDQ   0x00000400
 
#define bit_AVX512VNNI   0x00000800
 
#define bit_AVX512BITALG   0x00001000
 
#define bit_AVX512VPOPCNTDQ   0x00004000
 
#define bit_RDPID   0x00400000
 
#define bit_CLDEMOTE   0x02000000
 
#define bit_MOVDIRI   0x08000000
 
#define bit_MOVDIR64B   0x10000000
 
#define bit_ENQCMD   0x20000000
 
#define bit_AVX5124VNNIW   0x00000004
 
#define bit_AVX5124FMAPS   0x00000008
 
#define bit_UINTR   0x00000020
 
#define bit_SERIALIZE   0x00004000
 
#define bit_TSXLDTRK   0x00010000
 
#define bit_PCONFIG   0x00040000
 
#define bit_IBT   0x00100000
 
#define bit_AMXBF16   0x00400000
 
#define bit_AVX512FP16   0x00800000
 
#define bit_AMXTILE   0x01000000
 
#define bit_AMXINT8   0x02000000
 
#define bit_SHA512   0x00000001
 
#define bit_SM3   0x00000002
 
#define bit_SM4   0x00000004
 
#define bit_RAOINT   0x00000008
 
#define bit_AVXVNNI   0x00000010
 
#define bit_AVX512BF16   0x00000020
 
#define bit_CMPCCXADD   0x00000080
 
#define bit_AMXFP16   0x00200000
 
#define bit_HRESET   0x00400000
 
#define bit_AVXIFMA   0x00800000
 
#define bit_AVXVNNIINT8   0x00000010
 
#define bit_AVXNECONVERT   0x00000020
 
#define bit_AMXCOMPLEX   0x00000100
 
#define bit_AVXVNNIINT16   0x00000400
 
#define bit_PREFETCHI   0x00004000
 
#define bit_USERMSR   0x00008000
 
#define bit_AVX10   0x00080000
 
#define bit_APXF   0x00200000
 
#define bit_XSAVEOPT   0x00000001
 
#define bit_XSAVEC   0x00000002
 
#define bit_XSAVES   0x00000008
 
#define bit_PTWRITE   0x00000010
 
#define bit_LAHF_LM   0x00000001
 
#define bit_ABM   0x00000020
 
#define bit_LZCNT   bit_ABM /* for gcc compat */
 
#define bit_SSE4a   0x00000040
 
#define bit_PRFCHW   0x00000100
 
#define bit_XOP   0x00000800
 
#define bit_LWP   0x00008000
 
#define bit_FMA4   0x00010000
 
#define bit_TBM   0x00200000
 
#define bit_MWAITX   0x20000000
 
#define bit_MMXEXT   0x00400000
 
#define bit_LM   0x20000000
 
#define bit_3DNOWP   0x40000000
 
#define bit_3DNOW   0x80000000
 
#define bit_CLZERO   0x00000001
 
#define bit_RDPRU   0x00000010
 
#define bit_WBNOINVD   0x00000200
 
#define bit_AVX10_256   0x00020000
 
#define bit_AVX10_512   0x00040000
 
#define __cpuid(__leaf, __eax, __ebx, __ecx, __edx)
 
#define __cpuid_count(__leaf, __count, __eax, __ebx, __ecx, __edx)
 

Functions

static __inline unsigned int __get_cpuid_max (unsigned int __leaf, unsigned int *__sig)
 
static __inline int __get_cpuid (unsigned int __leaf, unsigned int *__eax, unsigned int *__ebx, unsigned int *__ecx, unsigned int *__edx)
 
static __inline int __get_cpuid_count (unsigned int __leaf, unsigned int __subleaf, unsigned int *__eax, unsigned int *__ebx, unsigned int *__ecx, unsigned int *__edx)
 
static __inline void __cpuidex (int __cpu_info[4], int __leaf, int __subleaf)
 

Macro Definition Documentation

◆ __cpuid

#define __cpuid (   __leaf,
  __eax,
  __ebx,
  __ecx,
  __edx 
)
Value:
__asm(" xchgq %%rbx,%q1\n" \
" cpuid\n" \
" xchgq %%rbx,%q1" \
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
: "0"(__leaf))

Definition at line 269 of file cpuid.h.

◆ __cpuid_count

#define __cpuid_count (   __leaf,
  __count,
  __eax,
  __ebx,
  __ecx,
  __edx 
)
Value:
__asm(" xchgq %%rbx,%q1\n" \
" cpuid\n" \
" xchgq %%rbx,%q1" \
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
: "0"(__leaf), "2"(__count))

Definition at line 276 of file cpuid.h.

◆ bit_3DNOW

#define bit_3DNOW   0x80000000

Definition at line 248 of file cpuid.h.

◆ bit_3DNOWP

#define bit_3DNOWP   0x40000000

Definition at line 247 of file cpuid.h.

◆ bit_ABM

#define bit_ABM   0x00000020

Definition at line 234 of file cpuid.h.

◆ bit_ACPI

#define bit_ACPI   0x00400000

Definition at line 132 of file cpuid.h.

◆ bit_ADX

#define bit_ADX   0x00080000

Definition at line 158 of file cpuid.h.

◆ bit_AES

#define bit_AES   bit_AESNI /* for gcc compat */

Definition at line 103 of file cpuid.h.

◆ bit_AESNI

#define bit_AESNI   0x02000000

Definition at line 102 of file cpuid.h.

◆ bit_AMXBF16

#define bit_AMXBF16   0x00400000

Definition at line 197 of file cpuid.h.

◆ bit_AMXCOMPLEX

#define bit_AMXCOMPLEX   0x00000100

Definition at line 217 of file cpuid.h.

◆ bit_AMXFP16

#define bit_AMXFP16   0x00200000

Definition at line 210 of file cpuid.h.

◆ bit_AMXINT8

#define bit_AMXINT8   0x02000000

Definition at line 200 of file cpuid.h.

◆ bit_AMXTILE

#define bit_AMXTILE   0x01000000

Definition at line 199 of file cpuid.h.

◆ bit_APIC

#define bit_APIC   0x00000200

Definition at line 121 of file cpuid.h.

◆ bit_APXF

#define bit_APXF   0x00200000

Definition at line 222 of file cpuid.h.

◆ bit_AVX

#define bit_AVX   0x10000000

Definition at line 106 of file cpuid.h.

◆ bit_AVX10

#define bit_AVX10   0x00080000

Definition at line 221 of file cpuid.h.

◆ bit_AVX10_256

#define bit_AVX10_256   0x00020000

Definition at line 256 of file cpuid.h.

◆ bit_AVX10_512

#define bit_AVX10_512   0x00040000

Definition at line 257 of file cpuid.h.

◆ bit_AVX2

#define bit_AVX2   0x00000020

Definition at line 148 of file cpuid.h.

◆ bit_AVX5124FMAPS

#define bit_AVX5124FMAPS   0x00000008

Definition at line 191 of file cpuid.h.

◆ bit_AVX5124VNNIW

#define bit_AVX5124VNNIW   0x00000004

Definition at line 190 of file cpuid.h.

◆ bit_AVX512BF16

#define bit_AVX512BF16   0x00000020

Definition at line 208 of file cpuid.h.

◆ bit_AVX512BITALG

#define bit_AVX512BITALG   0x00001000

Definition at line 181 of file cpuid.h.

◆ bit_AVX512BW

#define bit_AVX512BW   0x40000000

Definition at line 166 of file cpuid.h.

◆ bit_AVX512CD

#define bit_AVX512CD   0x10000000

Definition at line 164 of file cpuid.h.

◆ bit_AVX512DQ

#define bit_AVX512DQ   0x00020000

Definition at line 156 of file cpuid.h.

◆ bit_AVX512ER

#define bit_AVX512ER   0x08000000

Definition at line 163 of file cpuid.h.

◆ bit_AVX512F

#define bit_AVX512F   0x00010000

Definition at line 155 of file cpuid.h.

◆ bit_AVX512FP16

#define bit_AVX512FP16   0x00800000

Definition at line 198 of file cpuid.h.

◆ bit_AVX512IFMA

#define bit_AVX512IFMA   0x00200000

Definition at line 159 of file cpuid.h.

◆ bit_AVX512PF

#define bit_AVX512PF   0x04000000

Definition at line 162 of file cpuid.h.

◆ bit_AVX512VBMI

#define bit_AVX512VBMI   0x00000002

Definition at line 171 of file cpuid.h.

◆ bit_AVX512VBMI2

#define bit_AVX512VBMI2   0x00000040

Definition at line 175 of file cpuid.h.

◆ bit_AVX512VL

#define bit_AVX512VL   0x80000000

Definition at line 167 of file cpuid.h.

◆ bit_AVX512VNNI

#define bit_AVX512VNNI   0x00000800

Definition at line 180 of file cpuid.h.

◆ bit_AVX512VPOPCNTDQ

#define bit_AVX512VPOPCNTDQ   0x00004000

Definition at line 182 of file cpuid.h.

◆ bit_AVXIFMA

#define bit_AVXIFMA   0x00800000

Definition at line 212 of file cpuid.h.

◆ bit_AVXNECONVERT

#define bit_AVXNECONVERT   0x00000020

Definition at line 216 of file cpuid.h.

◆ bit_AVXVNNI

#define bit_AVXVNNI   0x00000010

Definition at line 207 of file cpuid.h.

◆ bit_AVXVNNIINT16

#define bit_AVXVNNIINT16   0x00000400

Definition at line 218 of file cpuid.h.

◆ bit_AVXVNNIINT8

#define bit_AVXVNNIINT8   0x00000010

Definition at line 215 of file cpuid.h.

◆ bit_BMI

#define bit_BMI   0x00000008

Definition at line 146 of file cpuid.h.

◆ bit_BMI2

#define bit_BMI2   0x00000100

Definition at line 150 of file cpuid.h.

◆ bit_CLDEMOTE

#define bit_CLDEMOTE   0x02000000

Definition at line 184 of file cpuid.h.

◆ bit_CLFLUSHOPT

#define bit_CLFLUSHOPT   0x00800000

Definition at line 160 of file cpuid.h.

◆ bit_CLFSH

#define bit_CLFSH   0x00080000

Definition at line 130 of file cpuid.h.

◆ bit_CLWB

#define bit_CLWB   0x01000000

Definition at line 161 of file cpuid.h.

◆ bit_CLZERO

#define bit_CLZERO   0x00000001

Definition at line 251 of file cpuid.h.

◆ bit_CMOV

#define bit_CMOV   0x00008000

Definition at line 126 of file cpuid.h.

◆ bit_CMPCCXADD

#define bit_CMPCCXADD   0x00000080

Definition at line 209 of file cpuid.h.

◆ bit_CMPXCHG16B

#define bit_CMPXCHG16B   0x00002000

Definition at line 89 of file cpuid.h.

◆ bit_CMPXCHG8B

#define bit_CMPXCHG8B   bit_CX8 /* for gcc compat */

Definition at line 120 of file cpuid.h.

◆ bit_CNXTID

#define bit_CNXTID   0x00000400

Definition at line 87 of file cpuid.h.

◆ bit_CX8

#define bit_CX8   0x00000100

Definition at line 119 of file cpuid.h.

◆ bit_DCA

#define bit_DCA   0x00040000

Definition at line 93 of file cpuid.h.

◆ bit_DE

#define bit_DE   0x00000004

Definition at line 113 of file cpuid.h.

◆ bit_DS

#define bit_DS   0x00200000

Definition at line 131 of file cpuid.h.

◆ bit_DSCPL

#define bit_DSCPL   0x00000010

Definition at line 81 of file cpuid.h.

◆ bit_DTES64

#define bit_DTES64   0x00000004

Definition at line 79 of file cpuid.h.

◆ bit_EIST

#define bit_EIST   0x00000080

Definition at line 84 of file cpuid.h.

◆ bit_ENH_MOVSB

#define bit_ENH_MOVSB   0x00000200

Definition at line 151 of file cpuid.h.

◆ bit_ENQCMD

#define bit_ENQCMD   0x20000000

Definition at line 187 of file cpuid.h.

◆ bit_F16C

#define bit_F16C   0x20000000

Definition at line 107 of file cpuid.h.

◆ bit_FMA

#define bit_FMA   0x00001000

Definition at line 88 of file cpuid.h.

◆ bit_FMA4

#define bit_FMA4   0x00010000

Definition at line 240 of file cpuid.h.

◆ bit_FPU

#define bit_FPU   0x00000001

Definition at line 111 of file cpuid.h.

◆ bit_FSGSBASE

#define bit_FSGSBASE   0x00000001

Definition at line 144 of file cpuid.h.

◆ bit_FXSAVE

#define bit_FXSAVE   bit_FXSR /* for gcc compat */

Definition at line 135 of file cpuid.h.

◆ bit_FXSR

#define bit_FXSR   0x01000000

Definition at line 134 of file cpuid.h.

◆ bit_GFNI

#define bit_GFNI   0x00000100

Definition at line 177 of file cpuid.h.

◆ bit_HLE

#define bit_HLE   0x00000010

Definition at line 147 of file cpuid.h.

◆ bit_HRESET

#define bit_HRESET   0x00400000

Definition at line 211 of file cpuid.h.

◆ bit_HTT

#define bit_HTT   0x10000000

Definition at line 139 of file cpuid.h.

◆ bit_IBT

#define bit_IBT   0x00100000

Definition at line 196 of file cpuid.h.

◆ bit_INVPCID

#define bit_INVPCID   0x00000400

Definition at line 152 of file cpuid.h.

◆ bit_LAHF_LM

#define bit_LAHF_LM   0x00000001

Definition at line 233 of file cpuid.h.

◆ bit_LM

#define bit_LM   0x20000000

Definition at line 246 of file cpuid.h.

◆ bit_LWP

#define bit_LWP   0x00008000

Definition at line 239 of file cpuid.h.

◆ bit_LZCNT

#define bit_LZCNT   bit_ABM /* for gcc compat */

Definition at line 235 of file cpuid.h.

◆ bit_MCA

#define bit_MCA   0x00004000

Definition at line 125 of file cpuid.h.

◆ bit_MCE

#define bit_MCE   0x00000080

Definition at line 118 of file cpuid.h.

◆ bit_MMX

#define bit_MMX   0x00800000

Definition at line 133 of file cpuid.h.

◆ bit_MMXEXT

#define bit_MMXEXT   0x00400000

Definition at line 245 of file cpuid.h.

◆ bit_MONITOR

#define bit_MONITOR   0x00000008

Definition at line 80 of file cpuid.h.

◆ bit_MOVBE

#define bit_MOVBE   0x00400000

Definition at line 99 of file cpuid.h.

◆ bit_MOVDIR64B

#define bit_MOVDIR64B   0x10000000

Definition at line 186 of file cpuid.h.

◆ bit_MOVDIRI

#define bit_MOVDIRI   0x08000000

Definition at line 185 of file cpuid.h.

◆ bit_MPX

#define bit_MPX   0x00004000

Definition at line 154 of file cpuid.h.

◆ bit_MSR

#define bit_MSR   0x00000020

Definition at line 116 of file cpuid.h.

◆ bit_MTRR

#define bit_MTRR   0x00001000

Definition at line 123 of file cpuid.h.

◆ bit_MWAITX

#define bit_MWAITX   0x20000000

Definition at line 242 of file cpuid.h.

◆ bit_OSPKE

#define bit_OSPKE   0x00000010

Definition at line 173 of file cpuid.h.

◆ bit_OSXSAVE

#define bit_OSXSAVE   0x08000000

Definition at line 105 of file cpuid.h.

◆ bit_PAE

#define bit_PAE   0x00000040

Definition at line 117 of file cpuid.h.

◆ bit_PAT

#define bit_PAT   0x00010000

Definition at line 127 of file cpuid.h.

◆ bit_PBE

#define bit_PBE   0x80000000

Definition at line 141 of file cpuid.h.

◆ bit_PCID

#define bit_PCID   0x00020000

Definition at line 92 of file cpuid.h.

◆ bit_PCLMUL

#define bit_PCLMUL   bit_PCLMULQDQ /* for gcc compat */

Definition at line 78 of file cpuid.h.

◆ bit_PCLMULQDQ

#define bit_PCLMULQDQ   0x00000002

Definition at line 77 of file cpuid.h.

◆ bit_PCONFIG

#define bit_PCONFIG   0x00040000

Definition at line 195 of file cpuid.h.

◆ bit_PDCM

#define bit_PDCM   0x00008000

Definition at line 91 of file cpuid.h.

◆ bit_PGE

#define bit_PGE   0x00002000

Definition at line 124 of file cpuid.h.

◆ bit_PKU

#define bit_PKU   0x00000004

Definition at line 172 of file cpuid.h.

◆ bit_POPCNT

#define bit_POPCNT   0x00800000

Definition at line 100 of file cpuid.h.

◆ bit_PREFETCHI

#define bit_PREFETCHI   0x00004000

Definition at line 219 of file cpuid.h.

◆ bit_PREFTCHWT1

#define bit_PREFTCHWT1   0x00000001

Definition at line 170 of file cpuid.h.

◆ bit_PRFCHW

#define bit_PRFCHW   0x00000100

Definition at line 237 of file cpuid.h.

◆ bit_PSE

#define bit_PSE   0x00000008

Definition at line 114 of file cpuid.h.

◆ bit_PSE36

#define bit_PSE36   0x00020000

Definition at line 128 of file cpuid.h.

◆ bit_PSN

#define bit_PSN   0x00040000

Definition at line 129 of file cpuid.h.

◆ bit_PTWRITE

#define bit_PTWRITE   0x00000010

Definition at line 230 of file cpuid.h.

◆ bit_RAOINT

#define bit_RAOINT   0x00000008

Definition at line 206 of file cpuid.h.

◆ bit_RDPID

#define bit_RDPID   0x00400000

Definition at line 183 of file cpuid.h.

◆ bit_RDPRU

#define bit_RDPRU   0x00000010

Definition at line 252 of file cpuid.h.

◆ bit_RDRND

#define bit_RDRND   0x40000000

Definition at line 108 of file cpuid.h.

◆ bit_RDSEED

#define bit_RDSEED   0x00040000

Definition at line 157 of file cpuid.h.

◆ bit_RTM

#define bit_RTM   0x00000800

Definition at line 153 of file cpuid.h.

◆ bit_SEP

#define bit_SEP   0x00000800

Definition at line 122 of file cpuid.h.

◆ bit_SERIALIZE

#define bit_SERIALIZE   0x00004000

Definition at line 193 of file cpuid.h.

◆ bit_SGX

#define bit_SGX   0x00000004

Definition at line 145 of file cpuid.h.

◆ bit_SHA

#define bit_SHA   0x20000000

Definition at line 165 of file cpuid.h.

◆ bit_SHA512

#define bit_SHA512   0x00000001

Definition at line 203 of file cpuid.h.

◆ bit_SHSTK

#define bit_SHSTK   0x00000080

Definition at line 176 of file cpuid.h.

◆ bit_SM3

#define bit_SM3   0x00000002

Definition at line 204 of file cpuid.h.

◆ bit_SM4

#define bit_SM4   0x00000004

Definition at line 205 of file cpuid.h.

◆ bit_SMEP

#define bit_SMEP   0x00000080

Definition at line 149 of file cpuid.h.

◆ bit_SMX

#define bit_SMX   0x00000040

Definition at line 83 of file cpuid.h.

◆ bit_SS

#define bit_SS   0x08000000

Definition at line 138 of file cpuid.h.

◆ bit_SSE

#define bit_SSE   0x02000000

Definition at line 136 of file cpuid.h.

◆ bit_SSE2

#define bit_SSE2   0x04000000

Definition at line 137 of file cpuid.h.

◆ bit_SSE3

#define bit_SSE3   0x00000001

Definition at line 76 of file cpuid.h.

◆ bit_SSE41

#define bit_SSE41   0x00080000

Definition at line 94 of file cpuid.h.

◆ bit_SSE42

#define bit_SSE42   0x00100000

Definition at line 96 of file cpuid.h.

◆ bit_SSE4_1

#define bit_SSE4_1   bit_SSE41 /* for gcc compat */

Definition at line 95 of file cpuid.h.

◆ bit_SSE4_2

#define bit_SSE4_2   bit_SSE42 /* for gcc compat */

Definition at line 97 of file cpuid.h.

◆ bit_SSE4a

#define bit_SSE4a   0x00000040

Definition at line 236 of file cpuid.h.

◆ bit_SSSE3

#define bit_SSSE3   0x00000200

Definition at line 86 of file cpuid.h.

◆ bit_TBM

#define bit_TBM   0x00200000

Definition at line 241 of file cpuid.h.

◆ bit_TM

#define bit_TM   0x20000000

Definition at line 140 of file cpuid.h.

◆ bit_TM2

#define bit_TM2   0x00000100

Definition at line 85 of file cpuid.h.

◆ bit_TSC

#define bit_TSC   0x00000010

Definition at line 115 of file cpuid.h.

◆ bit_TSCDeadline

#define bit_TSCDeadline   0x01000000

Definition at line 101 of file cpuid.h.

◆ bit_TSXLDTRK

#define bit_TSXLDTRK   0x00010000

Definition at line 194 of file cpuid.h.

◆ bit_UINTR

#define bit_UINTR   0x00000020

Definition at line 192 of file cpuid.h.

◆ bit_USERMSR

#define bit_USERMSR   0x00008000

Definition at line 220 of file cpuid.h.

◆ bit_VAES

#define bit_VAES   0x00000200

Definition at line 178 of file cpuid.h.

◆ bit_VME

#define bit_VME   0x00000002

Definition at line 112 of file cpuid.h.

◆ bit_VMX

#define bit_VMX   0x00000020

Definition at line 82 of file cpuid.h.

◆ bit_VPCLMULQDQ

#define bit_VPCLMULQDQ   0x00000400

Definition at line 179 of file cpuid.h.

◆ bit_WAITPKG

#define bit_WAITPKG   0x00000020

Definition at line 174 of file cpuid.h.

◆ bit_WBNOINVD

#define bit_WBNOINVD   0x00000200

Definition at line 253 of file cpuid.h.

◆ bit_x2APIC

#define bit_x2APIC   0x00200000

Definition at line 98 of file cpuid.h.

◆ bit_XOP

#define bit_XOP   0x00000800

Definition at line 238 of file cpuid.h.

◆ bit_XSAVE

#define bit_XSAVE   0x04000000

Definition at line 104 of file cpuid.h.

◆ bit_XSAVEC

#define bit_XSAVEC   0x00000002

Definition at line 226 of file cpuid.h.

◆ bit_XSAVEOPT

#define bit_XSAVEOPT   0x00000001

Definition at line 225 of file cpuid.h.

◆ bit_XSAVES

#define bit_XSAVES   0x00000008

Definition at line 227 of file cpuid.h.

◆ bit_xTPR

#define bit_xTPR   0x00004000

Definition at line 90 of file cpuid.h.

◆ signature_AMD_ebx

#define signature_AMD_ebx   0x68747541

Definition at line 19 of file cpuid.h.

◆ signature_AMD_ecx

#define signature_AMD_ecx   0x444d4163

Definition at line 21 of file cpuid.h.

◆ signature_AMD_edx

#define signature_AMD_edx   0x69746e65

Definition at line 20 of file cpuid.h.

◆ signature_CENTAUR_ebx

#define signature_CENTAUR_ebx   0x746e6543

Definition at line 23 of file cpuid.h.

◆ signature_CENTAUR_ecx

#define signature_CENTAUR_ecx   0x736c7561

Definition at line 25 of file cpuid.h.

◆ signature_CENTAUR_edx

#define signature_CENTAUR_edx   0x48727561

Definition at line 24 of file cpuid.h.

◆ signature_CYRIX_ebx

#define signature_CYRIX_ebx   0x69727943

Definition at line 27 of file cpuid.h.

◆ signature_CYRIX_ecx

#define signature_CYRIX_ecx   0x64616574

Definition at line 29 of file cpuid.h.

◆ signature_CYRIX_edx

#define signature_CYRIX_edx   0x736e4978

Definition at line 28 of file cpuid.h.

◆ signature_HYGON_ebx

#define signature_HYGON_ebx   0x6f677948

Definition at line 31 of file cpuid.h.

◆ signature_HYGON_ecx

#define signature_HYGON_ecx   0x656e6975

Definition at line 33 of file cpuid.h.

◆ signature_HYGON_edx

#define signature_HYGON_edx   0x6e65476e

Definition at line 32 of file cpuid.h.

◆ signature_INTEL_ebx

#define signature_INTEL_ebx   0x756e6547

Definition at line 35 of file cpuid.h.

◆ signature_INTEL_ecx

#define signature_INTEL_ecx   0x6c65746e

Definition at line 37 of file cpuid.h.

◆ signature_INTEL_edx

#define signature_INTEL_edx   0x49656e69

Definition at line 36 of file cpuid.h.

◆ signature_NEXGEN_ebx

#define signature_NEXGEN_ebx   0x4778654e

Definition at line 51 of file cpuid.h.

◆ signature_NEXGEN_ecx

#define signature_NEXGEN_ecx   0x6e657669

Definition at line 53 of file cpuid.h.

◆ signature_NEXGEN_edx

#define signature_NEXGEN_edx   0x72446e65

Definition at line 52 of file cpuid.h.

◆ signature_NSC_ebx

#define signature_NSC_ebx   0x646f6547

Definition at line 47 of file cpuid.h.

◆ signature_NSC_ecx

#define signature_NSC_ecx   0x43534e20

Definition at line 49 of file cpuid.h.

◆ signature_NSC_edx

#define signature_NSC_edx   0x79622065

Definition at line 48 of file cpuid.h.

◆ signature_RISE_ebx

#define signature_RISE_ebx   0x65736952

Definition at line 55 of file cpuid.h.

◆ signature_RISE_ecx

#define signature_RISE_ecx   0x65736952

Definition at line 57 of file cpuid.h.

◆ signature_RISE_edx

#define signature_RISE_edx   0x65736952

Definition at line 56 of file cpuid.h.

◆ signature_SIS_ebx

#define signature_SIS_ebx   0x20536953

Definition at line 59 of file cpuid.h.

◆ signature_SIS_ecx

#define signature_SIS_ecx   0x20536953

Definition at line 61 of file cpuid.h.

◆ signature_SIS_edx

#define signature_SIS_edx   0x20536953

Definition at line 60 of file cpuid.h.

◆ signature_TM1_ebx

#define signature_TM1_ebx   0x6e617254

Definition at line 39 of file cpuid.h.

◆ signature_TM1_ecx

#define signature_TM1_ecx   0x55504361

Definition at line 41 of file cpuid.h.

◆ signature_TM1_edx

#define signature_TM1_edx   0x74656d73

Definition at line 40 of file cpuid.h.

◆ signature_TM2_ebx

#define signature_TM2_ebx   0x756e6547

Definition at line 43 of file cpuid.h.

◆ signature_TM2_ecx

#define signature_TM2_ecx   0x3638784d

Definition at line 45 of file cpuid.h.

◆ signature_TM2_edx

#define signature_TM2_edx   0x54656e69

Definition at line 44 of file cpuid.h.

◆ signature_UMC_ebx

#define signature_UMC_ebx   0x20434d55

Definition at line 63 of file cpuid.h.

◆ signature_UMC_ecx

#define signature_UMC_ecx   0x20434d55

Definition at line 65 of file cpuid.h.

◆ signature_UMC_edx

#define signature_UMC_edx   0x20434d55

Definition at line 64 of file cpuid.h.

◆ signature_VIA_ebx

#define signature_VIA_ebx   0x20414956

Definition at line 67 of file cpuid.h.

◆ signature_VIA_ecx

#define signature_VIA_ecx   0x20414956

Definition at line 69 of file cpuid.h.

◆ signature_VIA_edx

#define signature_VIA_edx   0x20414956

Definition at line 68 of file cpuid.h.

◆ signature_VORTEX_ebx

#define signature_VORTEX_ebx   0x74726f56

Definition at line 71 of file cpuid.h.

◆ signature_VORTEX_ecx

#define signature_VORTEX_ecx   0x436f5320

Definition at line 73 of file cpuid.h.

◆ signature_VORTEX_edx

#define signature_VORTEX_edx   0x36387865

Definition at line 72 of file cpuid.h.

Function Documentation

◆ __cpuidex()

static __inline void __cpuidex ( int  __cpu_info[4],
int  __leaf,
int  __subleaf 
)
static

Definition at line 345 of file cpuid.h.

References __cpuid_count.

◆ __get_cpuid()

static __inline int __get_cpuid ( unsigned int  __leaf,
unsigned int __eax,
unsigned int __ebx,
unsigned int __ecx,
unsigned int __edx 
)
static

Definition at line 315 of file cpuid.h.

References __cpuid, and __get_cpuid_max().

◆ __get_cpuid_count()

static __inline int __get_cpuid_count ( unsigned int  __leaf,
unsigned int  __subleaf,
unsigned int __eax,
unsigned int __ebx,
unsigned int __ecx,
unsigned int __edx 
)
static

Definition at line 328 of file cpuid.h.

References __cpuid_count, and __get_cpuid_max().

◆ __get_cpuid_max()

static __inline unsigned int __get_cpuid_max ( unsigned int  __leaf,
unsigned int __sig 
)
static

Definition at line 284 of file cpuid.h.

References __cpuid.

Referenced by __get_cpuid(), and __get_cpuid_count().