diff options
Diffstat (limited to 'src/common/x64/cpu_detect.h')
| -rw-r--r-- | src/common/x64/cpu_detect.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/common/x64/cpu_detect.h b/src/common/x64/cpu_detect.h index 20f2ba234..e3b63302e 100644 --- a/src/common/x64/cpu_detect.h +++ b/src/common/x64/cpu_detect.h | |||
| @@ -6,8 +6,16 @@ | |||
| 6 | 6 | ||
| 7 | namespace Common { | 7 | namespace Common { |
| 8 | 8 | ||
| 9 | enum class Manufacturer : u32 { | ||
| 10 | Intel = 0, | ||
| 11 | AMD = 1, | ||
| 12 | Hygon = 2, | ||
| 13 | Unknown = 3, | ||
| 14 | }; | ||
| 15 | |||
| 9 | /// x86/x64 CPU capabilities that may be detected by this module | 16 | /// x86/x64 CPU capabilities that may be detected by this module |
| 10 | struct CPUCaps { | 17 | struct CPUCaps { |
| 18 | Manufacturer manufacturer; | ||
| 11 | char cpu_string[0x21]; | 19 | char cpu_string[0x21]; |
| 12 | char brand_string[0x41]; | 20 | char brand_string[0x41]; |
| 13 | bool sse; | 21 | bool sse; |
| @@ -19,11 +27,16 @@ struct CPUCaps { | |||
| 19 | bool lzcnt; | 27 | bool lzcnt; |
| 20 | bool avx; | 28 | bool avx; |
| 21 | bool avx2; | 29 | bool avx2; |
| 30 | bool avx512; | ||
| 22 | bool bmi1; | 31 | bool bmi1; |
| 23 | bool bmi2; | 32 | bool bmi2; |
| 24 | bool fma; | 33 | bool fma; |
| 25 | bool fma4; | 34 | bool fma4; |
| 26 | bool aes; | 35 | bool aes; |
| 36 | bool invariant_tsc; | ||
| 37 | u32 base_frequency; | ||
| 38 | u32 max_frequency; | ||
| 39 | u32 bus_frequency; | ||
| 27 | }; | 40 | }; |
| 28 | 41 | ||
| 29 | /** | 42 | /** |