klauspost / cpuid

CPU feature identification for Go
MIT License
1.04k stars 128 forks source link

Difference in characteristics between lscpu and cpuid go implementation for AMD Ryzen #107

Closed ionutnechita closed 2 years ago

ionutnechita commented 2 years ago
Hi NFD Team, I try today to verify my features with cpuid go implementation. But I noticed differences in features between cpuid your binary and lscpu. Several features are missing. Example: SVM for virtualization support CPUID go implementation version: cpuid-Linux_x86_64_2.0.14 OS: openSUSE Tumbleweed 20220706 AMD CPU: AMD Ryzen 9 5900HS with Radeon Graphics cpuid go: [cpuid-go.txt](https://github.com/klauspost/cpuid/files/9077274/cpuid-go.txt) lscpu: [lscpu.txt](https://github.com/klauspost/cpuid/files/9077276/lscpu.txt) cpuinfo: [cpuinfo.txt](https://github.com/klauspost/cpuid/files/9077277/cpuinfo.txt) cpuid e0x: [cpuid-e0x.txt](https://github.com/klauspost/cpuid/files/9077280/cpuid-e0x.txt) First file for diff: [a.txt](https://github.com/klauspost/cpuid/files/9077289/a.txt) Second file for diff: [b.txt](https://github.com/klauspost/cpuid/files/9077290/b.txt) Diff: ... SVM | VTE SVM_LOCK < SYSCALL < TCE < TOPOEXT < TSC < TSC_SCALE < UMIP < VAES < VGIF < VMCB_CLEAN < VME < VMMCALL < VPCLMULQDQ < V_SPEC_CTRL < V_VMSAVE_VMLOAD < ... BR, Ionut Nechita ionutnechita
klauspost commented 2 years ago

Added #108 (VPCLMULQDQ and VAES) and added the SVM related ones in #109