summaryrefslogtreecommitdiff
path: root/src/common/x64/cpu_detect.h
AgeCommit message (Collapse)Author
2023-06-28x64: Add detection of monitorx instructionsMorph
monitorx introduces 2 instructions: MONITORX and MWAITX.
2023-03-27x64: cpu_detect: Add detection of waitpkg instructionsMorph
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
2022-11-11Add CPU core count to log filesMatías Locatti
2022-07-06common/x64: Use TSC clock rate from CPUID when availableMarshall Mohror
The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available.
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-03-11cpu_detect: Add additional x86 flags and telemetryWunkolo
Adds detection of additional CPU flags to cpu_detect and additions to telemetry output. This is not exhaustive but guided by features that [dynarmic utilizes](https://github.com/merryhime/dynarmic/blob/bcfe377aaa5138af740e90af5be7a7dff7b62a52/src/dynarmic/backend/x64/host_feature.h#L12-L33) as well as features that are currently utilized but not reported to telemetry(invariant_tsc). This is intended to guide future optimizations. AVX512 in particular is broken up into its individual subsets and some other processor features such as [sha](https://en.wikipedia.org/wiki/Intel_SHA_extensions) and [gfni](https://en.wikipedia.org/wiki/AVX-512#GFNI) are added to have some forward-facing data-points. What used to be a single `CPU_Extension_x64_AVX512` telemetry field is also broken up into individual `CPU_Extension_x64_AVX512{F,VL,CD,...}` fields.
2022-03-09cpu_detect: Refactor cpu/manufacturer identificationWunkolo
Set the zero-enum value to Unknown Move the Manufacterer enum into the CPUCaps structure namespace Add "ParseManufacturer" utility-function Fix cpu/brand string buffer sizes(!)
2022-03-09cpu_detect: Compact capability fieldsWunkolo
As this structure gets more explicit, bools can be bitfields and small enums can use smaller types for their span of values.
2020-06-28Merge pull request #3396 from FernandoS27/prometheus-1David
Implement SpinLocks, Fibers and a Host Timer
2020-06-20common/cpu_detect: Add AVX512 detectionMorph
2020-06-18Common: Implement WallClock Interface and implement a native clock for x64Fernando Sahmkow
2020-01-17Remove unused CPU Vendor string and telemtry fieldJames Rowe
The information is duplicated in the brand string and the telemetry field is unused
2015-08-15Common: Cleanup CPU capability detection code.bunnei
2015-08-15Common: Move cpu_detect to x64 directory.bunnei