我知道我们可以使用wrmsr
和rdmsr
指令来设置性能计数器并读取通用性能计数器寄存器。
但是,我的问题是:
在发出wrmsr
之前,我们是否需要重置通用性能计数器寄存器?
换句话说,对于以下代码,我们是否需要在以下代码之前重置性能计数器?如果必须,我们如何重置它?
mov $0x0001010E, %eax # Write selector value to EAX
xor %edx, %edx # Zero EDX
mov $0x187, %ecx # Write logical register id to ECX (IA32_PERFEVTSEL1)
wrmsr