1
MPERF 및 APERF MSR을 읽으려고합니다. 그러나 이렇게하면 컴퓨터가 재부팅됩니다. 아마도 GP 예외 때문일 수 있습니다.MSR MPERF를 읽는 조건은 무엇입니까?
; Read MPERF register
mov ecx, 0xe7
rdmsr
코드는 rdmsr에 나누기 : 여기
은 내가 사용하는 코드입니다. 나는 Intel Haswell 프로세서를 가지고있다. 나는 긴 모드로 달리고있다.나는 내 자신의 운영 체제를 실행 중이므로 나는 Ring 0에서 실행 중이라고 확신한다. 또한, 내가하는 경우 :
; Read PAT register
mov ecx, 0x277
rdmsr
예외없이 작동합니다.
이 특정 레지스터 (MPERF)를 읽는 다른 조건은 무엇입니까?
IOPL에 대해 알지 못했습니다. 하지만, 이미 8042 컨트롤러에서 IN/OUT 명령어를 사용하고 있습니다. 그래서 저는 Ring 0에있는 것입니다. –
또한 0x277에 rdmsr을 사용하려고 시도했습니다. –
@Baptiste Wicht - 자신 만의 OS를 멋지게해라. 나는이 경우 * 어쩌면 *이 레지스터가 융합 된 것을 좋아한다. 하나의 필요성이 CPUID의 읽기를 통해 활성화되어 있는지 확인해야한다. –