18#include <Register/Cpuid.h>
20#define CPUID_L2_CACHE_FEATURE 0x80000006
24#define CPUID_FEATURE_FPU BIT0
25#define CPUID_FEATURE_VME BIT1
26#define CPUID_FEATURE_DE BIT2
27#define CPUID_FEATURE_PSE BIT3
28#define CPUID_FEATURE_TSC BIT4
29#define CPUID_FEATURE_MSR BIT5
30#define CPUID_FEATURE_PAE BIT6
31#define CPUID_FEATURE_MCE BIT7
32#define CPUID_FEATURE_CX8 BIT8
33#define CPUID_FEATURE_APIC BIT9
34#define CPUID_FEATURE_SEP BIT11
35#define CPUID_FEATURE_MTRR BIT12
36#define CPUID_FEATURE_PGE BIT13
37#define CPUID_FEATURE_MCA BIT14
38#define CPUID_FEATURE_CMOV BIT15
39#define CPUID_FEATURE_PAT BIT16
40#define CPUID_FEATURE_PSE36 BIT17
41#define CPUID_FEATURE_PSN BIT18
42#define CPUID_FEATURE_CLFSH BIT19
43#define CPUID_FEATURE_RESV20 BIT20
44#define CPUID_FEATURE_DS BIT21
45#define CPUID_FEATURE_ACPI BIT22
46#define CPUID_FEATURE_MMX BIT23
47#define CPUID_FEATURE_FXSR BIT24
48#define CPUID_FEATURE_SSE BIT25
49#define CPUID_FEATURE_SSE2 BIT26
50#define CPUID_FEATURE_SS BIT27
51#define CPUID_FEATURE_HTT BIT28
52#define CPUID_FEATURE_TM BIT29
53#define CPUID_FEATURE_IA64 BIT30
54#define CPUID_FEATURE_PBE BIT31
58#define CPUID_FEATURE_SSE3 BIT32
59#define CPUID_FEATURE_PCLMULQDQ BIT33
60#define CPUID_FEATURE_DTES64 BIT34
61#define CPUID_FEATURE_MONITOR BIT35
62#define CPUID_FEATURE_DSCPL BIT36
63#define CPUID_FEATURE_VMX BIT37
64#define CPUID_FEATURE_SMX BIT38
65#define CPUID_FEATURE_EST BIT39
66#define CPUID_FEATURE_TM2 BIT40
67#define CPUID_FEATURE_SSSE3 BIT41
68#define CPUID_FEATURE_CID BIT42
69#define CPUID_FEATURE_SEGLIM64 BIT43
70#define CPUID_FEATURE_RESVH12 BIT44
71#define CPUID_FEATURE_CX16 BIT45
72#define CPUID_FEATURE_xTPR BIT46
73#define CPUID_FEATURE_PDCM BIT47
74#define CPUID_FEATURE_RESVH16 BIT48
75#define CPUID_FEATURE_PCID BIT49
76#define CPUID_FEATURE_DCA BIT50
77#define CPUID_FEATURE_SSE4_1 BIT51
78#define CPUID_FEATURE_SSE4_2 BIT52
79#define CPUID_FEATURE_xAPIC BIT53
80#define CPUID_FEATURE_MOVBE BIT54
81#define CPUID_FEATURE_POPCNT BIT55
82#define CPUID_FEATURE_TSCTMR BIT56
83#define CPUID_FEATURE_AES BIT57
84#define CPUID_FEATURE_XSAVE BIT58
85#define CPUID_FEATURE_OSXSAVE BIT59
86#define CPUID_FEATURE_AVX1_0 BIT60
87#define CPUID_FEATURE_RDRAND BIT61
88#define CPUID_FEATURE_F16C BIT62
89#define CPUID_FEATURE_VMM BIT63
94#define CPUID_EXTFEATURE_SYSCALL BIT11
96#define CPUID_EXTFEATURE_XD BIT20
97#define CPUID_EXTFEATURE_1GBPAGE BIT21
99#define CPUID_EXTFEATURE_RDTSCP BIT27
101#define CPUID_EXTFEATURE_EM64T BIT29
103#define CPUID_EXTFEATURE_LAHF BIT32
108#define CPUID_EXTFEATURE_TSCI BIT8
116#define CPUID_CACHE_SIZE 16
214#define CPUID_VENDOR_INTEL 0x756E6547
215#define CPUID_VENDOR_AMD 0x68747541
@ CpuIdCacheNoCache
No 2nd level or 3rd-level cache.
@ CpuIdCacheItlb2M_8_4
ITLB: 2MB, 8 entries, 4-way, or.
@ CpuIdCacheL1D_16K_8_64
Data cache: 16K, 8-way, 64 bytes.
@ CpuIdCacheDtlb4K_128_4
DTLB: 4KB, 128 entries, 4-way.
@ CpuIdCacheL2_1M_8_64
L2: 1M, 8-way, 64 bytes.
@ CpuIdCacheL2_1M_4_64
L2: 1M, 4-way, 64 bytes.
@ CpuIdCacheL1I_32K_8
Icache: 32K, 8-way.
@ CpuIdCacheItlb4M2M_7
Inst TLB: 4M/2M, 7 entries.
@ CpuIdCacheL3_1M5_12_64
L3: 1.5M, 12-way, 64 bytes.
@ CpuIdCacheL2_256K_8_64
L2: 256K, 8-way, 64 bytes.
@ CpuIdCacheL3_3M_12_64
L3: 3M, 12-way, 64 bytes.
@ CpuIdCacheItlb4M_2
Inst TLB: 4M pages, 2 ents.
@ CpuIdCacheItlb4K_128_4
ITLB: 4KB, 128 entries, 4-way.
@ CpuIdCacheL2_192K_S6
L2: 192K, 6-way, sectored, 64B.
@ CpuIdCacheL2_2M_8_64
L2: 2M, 8-way, 64 bytes.
@ CpuIdCacheL2_1M_8_32
L2: 1M, 8-way, 32 bytes.
@ CpuIdCacheL2_512K_2_64
L2: 512K, 2-way, 64 bytes.
@ CpuIdCacheL3_8M_16_64
L3: 8M, 16-way, 64 bytes.
@ CpuIdCacheDtlb64
Data TLB: 64 entries.
@ CpuIdCacheL2_12M_12_64
L2: 12M, 12-way, 64 bytes.
@ CpuIdCacheTRACE_12K_8
Trace cache 12K-uop, 8-way.
@ CpuIdCacheL1I_8K
Icache: 8K.
@ CpuIdCacheL2_16M_16_64
L2: 16M, 16-way, 64 bytes.
@ CpuIdCacheL2_3M_12_64
L3: 3M, 8-way, 64 bytes*/.
@ CpuIdCacheItlb64
Inst TLB: 64 entries.
@ CpuIdCacheL3_6M_12_64
L3: 6M, 12-way, 64 bytes.
@ CpuIdCacheL3_1M_8_64
L3: 1M, 8-way, 64 bytes.
@ CpuIdCacheL3_8M_8_64
L3: 8M, 8-way, 64 bytes*/.
@ CpuIdCacheDtlb4M2M_32_4
Data TLB: 4M/2M, 32 entries.
@ CpuIdCacheL2_1M_4
L2: 1M, 4-way.
@ CpuIdCacheL2_256K_8_32
L2: 256K, 8-way, 32 bytes.
@ CpuIdCachePrefetch64
64-Byte Prefetching
@ CpuIdCacheL2_2M_8_32
L2: 2M, 8-way, 32 bytes.
@ CpuIdCacheL3_4M_4_64
L3: 4M, 4-way, 64 bytes.
@ CpuIdCacheL1D_8K_4_64
Data cache: 8K, 4-way, 64 bytes.
@ CpuIdCacheL2_1M_8_64_2
L2: 1M, 8-way, 64b, 2 lines/sec.
@ CpuIdCacheL2_512K_4_64
L2: 512K, 4-way, 64 bytes.
@ CpuIdCacheL1D_16K_4_32
Dcache: 16K, 4-way, 64 byte, ECC.
@ CpuIdCacheL1D_32K_8
Dcache: 32K, 8-way, 64 byte.
@ CpuIdCacheL2_256K_8_64_2
L2: 256K, 8-way, 64b, 2 lines/sec.
@ CpuIdCacheL1D_8K
Dcache: 8K.
@ CpuIdCacheItlb256
Inst TLB: 256 entries.
@ CpuIdCacheL3_1M_4_64
L3: 1M, 4-way, 64 bytes.
@ CpuIdCacheDtlb128
Data TLB: 128 entries.
@ CpuIdCacheDtlb256
Data TLB: 256 entries.
@ CpuIdCacheItlb4M_8
ITLB: 4MB, 8 entries.
@ CpuIdCacheDtlb4M_32_4
Data TLB: 4M pages, 32 ents, 4-way.
@ CpuIdCacheL1D_16K
Dcache: 16K.
@ CpuIdCacheL1D_32K_4_64
Data cache: 32K, 4-way, 64 bytes.
@ CpuIdCacheL1I_16K
Icache: 16K.
@ CpuIdCacheL2_512K_8_64_2
L2: 512K, 8-way, 64b, 2 lines/sec.
@ CpuIdCacheItlb4K_64_4
ITLB: 4KB, 64 entries, 4-way.
@ CpuIdCacheL1D_16K_4_64
Data cache: 16K, 4-way, 64 bytes.
@ CpuIdCacheL3_512K
L3: 512K.
@ CpuIdCacheItlb4K_32_4
Inst TLB: 4K pages, 32 ents, 4-way.
@ CpuIdCacheL2_512K_S4
L2: 512K, 4-way, sectored, 64B.
@ CpuIdCacheL2_128K
L2: 128K.
@ CpuIdCacheL2_2M_4
L2: 2M, 4-way.
@ CpuIdCacheL2_8M_16_64
L2: 8M, 16-way, 64 bytes.
@ CpuIdCacheDtlb4K_64_4
Data TLB: 4K pages, 64 ents, 4-way.
@ CpuIdCacheL3_2M_16_64
L3: 2M, 16-way, 64 bytes.
@ CpuIdCacheL1I_32K
Icache: 32K, 4-way, 64 bytes.
@ CpuIdCacheDtlb4M_8_4
Data TLB: 4M pages, 8 ents, 4-way.
@ CpuIdCacheL3_2M_4_64
L3: 2M, 4-way, 64 bytes.
@ CpuIdCacheTRACE_64K_8
Trace cache 64K-uop, 8-way.
@ CpuIdCacheL2_256K_S4
L2: 256K, 4-way, sectored, 64B.
@ CpuIdCacheItlb4M_4_4
ITLB: 4MB, 4 entries, 4-way, or.
@ CpuIdCacheL3_4M_8_64
L3: 4M, 8-way, 64 bytes.
@ CpuIdCacheTRACE_32K_8
Trace cache 32K-uop, 8-way.
@ CpuIdCacheL2_4M_16_64
L2: 4M, 16-way, 64 bytes.
@ CpuIdCacheL2_512K_8_32
L2: 512K, 8-way, 32 bytes.
@ CpuIdCacheL3_2M_8_64
L3: 2M, 8-way, 64 bytes.
@ CpuIdCacheL2_128K_S2
L2: 128K, 2-way, sectored, 64B.
@ CpuIdCachePrefetch128
128-Byte Prefetching
@ CpuIdCacheL2_128K_8_64_2
L2: 128K, 8-way, 64b, 2 lines/sec.
@ CpuIdCacheTRACE_16K_8
Trace cache 16K-uop, 8-way.
@ CpuIdCacheL3_512K_4_64
L3: 512KB, 4-way, 64 bytes.
@ CpuIdCacheL2_384K_S6
L2: 384K, 6-way, sectored, 64B.
@ CpuIdCacheL3_4M_16_64
L3: 4M, 16-way, 64 bytes.
@ CpuIdCacheItlb128
Inst TLB: 128 entries.
@ CpuIdCacheL2_6M_24_64
L2: 6M, 24-way, 64 bytes.
@ CpuIdCacheL2_512K
L2: 512K.
@ CpuIdCacheL2_128K_S4
L2: 128K, 4-way, sectored, 64B.
@ CpuIdCache2TLB_4K_512_4
2nd-level TLB: 4KB, 512, 4-way
@ CpuIdCacheL2_256K
L2: 256K.
@ CpuIdCacheDtlb4M_16_4
Data TLB: 4M, 16 entries, 4-way.
@ CpuIdCacheDtlb4K_256_4
DTLB: 4KB, 256 entries, 4-way.
@ CpuIdCacheL2_6M_12_64
L2: 6M, 12-way, 64 bytes.
@ CpuIdCacheDtlb4K_16_4
Data TLB: 4K, 16 entries, 4-way.