求助 关于读取msr
我需要在程序里读取并设置一下msr的某个值,但是rdmsr等指令都是特权指令,那要怎么实现呢?
谢谢各位大牛
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我需要在程序里读取并设置一下msr的某个值,但是rdmsr等指令都是特权指令,那要怎么实现呢?
谢谢各位大牛
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
谢谢各位,找了半天发现linux已经提供了msr的驱动,只是发行版把该驱动编为模块了。加载msr模块就可以找到
/dev/msr*设备文件 呵呵
谢谢各位的帮助
特权指令, 写kernel module 在内核态运行 即可以了.
没做过。 原理上是不需要编译内核的, 因为Linux内核为MSR寄存器提供了驱动程序, 对应的设备文件就是/dev/cpu/xxxx/msr, 这里的'xxxx'就是SMP系统中的cpu id号, 如果是单处理器,它就是0. 读写该设备文件就可做到读写msr寄存器, 具体自己尝试一下吧。
谢谢
但是添加系统调用不是要重编内核麽?
呵呵。我是linux大菜;麻烦您详细说一下
[ 本帖最后由 haohao06 于 2006-6-20 09:21 编辑 ]
不懂MSR!
动态添加个系统调用(该系统调用中操作MSR)!在你的程序中执行该系统调用!是可以实现的!