Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

msr-tools

MSR Tools project provides utilities to access the processor MSRs and CPU ID directly. This project is composed of three different user space console applications.

This project has been already open source in zytor.com since 2000.

It is used by many people and the package is also provided in most major Linux distros. But sometimes the main repository of this project had been pointed to many different places and the ownership was garbled. Now all the updates and the contributions will be posted on 01.org/msr-tools.

rdmsr / wrmsr

rdmsr / wrmsr give access to MSRs. Since it operates with '/dev/cpu/<cpu#>/msr' deivce, it requires a root privilege. And it can specify any CPU in a multi-processor system. To use '/dev/cpu/<cpu#>/msr' devices, 'msr' kernel module needs to be loaded.

e.g.) modprobe msr

    sudo rdmsr -p2 0x10

    => read the register value from Time Stamp Counter MSR 0x10 of CPU 2

cpuid

cpuid reads CPUID values from '/dev/cpu/<cpu#>/cpuid' device and shows a complete CPUID table for the specified processor. To use '/dev/cpu/<cpu#>/cpuid' devices, 'cpuid' kernel module needs to be loaded.

e.g.) modprobe cpuid

    cpuid 3

    => show all CPUID values of CPU 3

Security Concern

Direct access to MSRs could harm a system. Because wrmsr requires root privilege, a root user could corrupt the system in any other ways. But a user is still recommended to be careful when writing values to MSRs. cpuid does not require any privilege to run and CPUID values are immutable.

Project: