Я пытаюсь прочитать MPERF и APERF MSR. Однако, когда я это делаю, машина перезагружается, вероятно, из-за исключения GP.
Вот код, который я использую:
; Read MPERF register
mov ecx, 0xe7
rdmsr
Код ломается на rdmsr. У меня процессор Intel Haswell. Я бегу в длинном режиме.
Я почти уверен, что работаю в кольце 0, так как использую свою собственную операционную систему. Более того, если я сделаю:
; Read PAT register
mov ecx, 0x277
rdmsr
работает без исключения.
Каковы другие условия для чтения этого конкретного регистра (MPERF)?