Skip to content

PflaeginGmbh/python-cpuid

 
 

Repository files navigation

Project generated with PyScaffold

python-cpuid

Call cpuid from Python code.

This module provides C bindings to call the cpuid instruction from Python code. Simply pass a MSR ID and the cpuid function will return the result as a tuple representing the eax, ebx, ecx and edx registers as integers.

from cpuid import cpuid

msr = 0x80000000    # example value
eax, ebx, ecx, edx = cpuid(msr)

CPU features

In addition to the raw cpuid functionality, this library provides helpers for commonly used CPUID registers.

from cpuid.features import prcessor_features, secure_encryption_info, vendor

vendor()   # returns the result of cpuid(0) as bytes, ex: b"GenuineIntel"
features = processor_features()    # A class with all the fields of cpuid(1)
secure_encryption_features = secure_encryption_info()   # AMD secure encryption features

Feel free to add more CPUID registers! You can find the specification in official Intel and AMD docs like this one: https://www.amd.com/system/files/TechDocs/24594.pdf.

Why?

Other projects already provide this functionality. To the best of our knowledge:

Notes

We do not (yet) provide binary wheel distributions for this package, because of the added complexity of shipping compiled libraries for Linux. You will require GCC to compile the package for your system.

This project has been set up using PyScaffold 4.3. For details and usage information on PyScaffold see https://pyscaffold.org/.

About

C bindings to call cpuid from Python code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.8%
  • C 17.2%