libmsr不再积极维护 - libmsr已演变为Variorum,可以在Github上找到:https://github.com/llnl/variorum。
欢迎来到Libmsr,这是一个友好(友好,更友好的)接口,可访问Intel处理器中许多特定于模型的寄存器。现在使用PCI配置注册支持某些Intel硬件。
版本0.3.1
重要的
Libmsr不再积极发展。 variorum https://variorum.readthedocs.io/是libmsr的演变和继任者。可以在github上找到variorum:
https://github.com/llnl/variorum
2020年3月24日
http://software.llnl.gov/libmsr
https://github.com/llnl/libmsr
LIBMSR提供了一个接口,以访问英特尔平台上的特定于模型的寄存器(MSR),该寄存器提供了特权功能,用于监视和控制各种CPU功能。
安装很简单。您将需要CMAKE版本2.8或更高版本和GCC。在大多数情况下,安装如下:
$ cmake . -DCMAKE_INSTALL_PREFIX=${HOME}/build/libmsr
$ make
$ make install
该安装取决于master.h文件,该文件定义了给定特定体系结构的几个MSR的偏移(例如Sandy Bridge,Ivy Bridge,Haswell等)。自动配置工具可以被迫使用特定体系结构的标头文件或可以自动检测体系结构。要指定特定的体系结构,请使用选项运行cmake -DLIBMSR_TARGET_ARCH=<ARG> ARG在十六进制中。将来,我们计划拥有一组特定于架构的配置文件,这些文件可以预先加载到CMAKE以填充缓存。
当前支持的体系结构是Intel Xeon V1-3(Sandy Bridge,Ivy Bridge和Haswell Server处理器)。图书馆从技术上讲,基于这些体系结构支持所有处理器,但是客户产品可能缺少某些功能。使用错误的标头文件可能会导致问题。
支持的体系结构:
2D (Sandy Bridge) 57 (Knights Landing)
3E (Ivy Bridge)
3F (Haswell)
4F (Broadwell)
55 (Skylake)*
如果您不确定架构编号,请检查lscpu或/proc/cpuinfo中的“模型”字段(请注意,它不会在十六进制中)。
*Skylake支持当前是实验性的,需要更多的测试/验证。
该软件取决于存在的文件/dev/cpu/*/msr 。最近的内核需要其他功能。我们发现,使用R/W权限使用自己的MSR-SAFE内核模块更容易,但是作为root运行(或者经历将功能添加到二进制文件的困扰)是另一个选择。
如果您需要LIBMSR中的PCI配置寄存器(CSR)支持,则必须安装CSR安全。此代码当前不在GitHub上 - 您需要请求它。
在使用任何API之前,请致电msr_init() 。
有关示例代码,请参见test/目录中的libmsr_test.c 。
我们最新的LIBMSR文档可以与make doc一起生成,并分别为HTML和PDF版本make latex_doc 。 documentation/目录中还有一些有用的PDF文件。
Barry Rountree,项目负责人,[email protected]
Stephanie Brink,开发人员,[email protected]
请随时通过任何疑问或反馈与开发人员联系。
多年来,我们正在收集以前为LibMSR贡献的人的名字。请参阅AUTHORS文件中的当前列表。请联系开发人员,将您的名字添加到列表中。
LIBMSR由GPLV2.1许可证发布。有关更多详细信息,请参阅许可证文件。
LLNL-CODE-645430