首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问我的Intel芯片组的特定寄存器?

如何访问我的Intel芯片组的特定寄存器?
EN

Stack Overflow用户
提问于 2013-08-09 19:29:09
回答 2查看 1.7K关注 0票数 1

我想阅读我的英特尔芯片组的"TSTR"-register (热传感器温度计读取寄存器)。我发现雷姆斯尔函数是我所需要的。我还设置了一个内核驱动程序,因为该函数只能在内核模式下使用。

但我不知道该怎么查.在芯片组的数据表中,第857页指出寄存器的偏移入口是TBARB+03h。

我怎么才能用这句话?外面有帮助我的教程吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-09 09:59:06

据我所知,试图做同样的事情,__readmsr确实是访问寄存器的正确命令:

http://msdn.microsoft.com/en-us/library/y55zyfdx%28v=VS.100%29.aspx

不过,我正在编写一个i5,以及英特尔的文档

http://www.intel.com/content/www/us/en/intelligent-systems/piketon/core-i7-800-i5-700-desktop-datasheet-vol-2.html

建议像MC_RANK_VIRTUAL_TEMP条目这样的东西是寄存器,所以它应该能工作,所以您可能在正确的轨道上。特别登记册载于第272页。所以从技术上讲,这确实是答案,__readmsr(1568年)在我的例子中。

然而,我很难说服visual studio 2010在内核模式下构建这个程序,这似乎是不愿意做的,我一直得到特权指令错误。当我摆脱了这个问题,整个程序开始工作时,我会写一个关于一般过程的教程,但在那之前,我只敢给出一个理论上的答案。如果您的编译器倾向于听取您的意见,只需添加/kernel编译器选项,因为您只是在读取而不是编辑寄存器,所以应该是安全的。

编辑:还有这篇文章,答案或多或少地暗示了我想要做的事情,尽管没有比我目前所做的更多,但无论如何还是要看一看:

如何访问CPU的热传感器?

票数 1
EN

Stack Overflow用户

发布于 2017-03-13 18:59:16

“此指令必须在特权级别0或实地址模式下执行;否则,将生成一般保护异常#GP(0)。”

http://faydoc.tripod.com/cpu/rdmsr.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18154258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档