WRMSR--写MSR

WRMSR--写MSR

 

WRMSR将寄存器EDX:EAX的内容写到64位由ECX寄存器指定的MSR(model specific register,模式指定寄存器)中(在支持intel64架构的处理器中RCX的高32位忽略。)。EDX寄存器内容拷贝至选定的MSR的高32位,EAX内容拷贝至选定的MSR的低32位(在支持intel64架构的处理器中RDX和RAX的高32位忽略)。MSR中未定义或保留位的值应该置为先前读出的值。

该指令必须在0层权限或者实地址模式下执行,否则会触发#GP(0)异常。在ECX中指定一个保留的或者未实现的MSR地址也会引发异常。若试图向保留MSR进行写动作也会引发异常。

当使用WRMSR指令来写MTRR时,TLB无效,这包括全局条目。

MSR控制着可测试性、执行跟踪、性能检测和机器错误检查等功能。附录B列出所有能读写的MSR以及它们的地址。注意:不同的处理器族有自己不同的MSR.


WRMSR指令是一个串行化指令。

我们可以在使用本指令前用CPUID指令来检查是否支持MSR。(CPUID.01H:EDX[5]=1).

你可能感兴趣的:(测试)