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