I have a windows driver that sets the DEBUGCTL MSR (0x1d9) to 1 in order to later get the LBR stack. It worked perfectly on all computers I tested so far.
However it seems not to work on a server I tested that has 2 Intel Xeon E-2620 processors inside. I believe it's based on the Sandy Bride microarchitecture.
I wrote a code in a windows driver that sets the DEBUGCTL to 1, and then reads the value of the MSR. To my surprise, the value remains 0!
For other MSRs it does work, so I believe that the problem is with this specific MSR.
Did someone ever come across such an error? Is there some flag that I need to turn on in order to change the DEBUGCTL?
Any help would be very appreciated! I've been trying trying to solve this issue for almost a week now.
For more complete information about compiler optimizations, see our Optimization Notice.