跳转到主要内容

从Python代码调用cpuid指令。

项目描述

Project generated with PyScaffold

python-cpuid

从Python代码调用cpuid。

此模块提供了从Python代码调用cpuid指令的C绑定。只需传递一个MSR ID,cpuid函数就会返回一个元组,表示eax、ebx、ecx和edx寄存器作为整数。

from cpuid import cpuid

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

CPU功能

除了原始的cpuid功能外,此库还为常用CPUID寄存器提供了辅助工具。

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

请随时添加更多CPUID寄存器!您可以在官方英特尔和AMD文档中找到规范,例如: https://www.amd.com/system/files/TechDocs/24594.pdf

为什么?

其他项目已经提供了此功能。据我们所知

  • PyCPUID <https://github.com/ngnpope/pycpuid> 不兼容Python 3。一个2015年的公开PR提出了升级方案。

  • cpuid.py 看起来很有趣,但最终是机器代码注入。我们希望有更多可审计的内容。

注意

由于向Linux发送编译库的复杂性增加,我们尚未提供此软件包的二进制轮分布。您将需要GCC来编译适用于您系统的软件包。

本项目使用PyScaffold 4.3设置。有关PyScaffold的详细信息和使用信息,请参阅 https://pyscaffold.org/

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分布

python_cpuid-0.1.1.tar.gz (21.3 kB 查看哈希值)

上传时间 源代码

支持者