GDB를 사용하여 프로그램을 디버깅하는 동안 IA32_FS_BASE 및 IA32_GS_BASE와 같은 x86-64 모델 관련 레지스터를 읽을 수있는 방법이 있습니까? 인텔 Pintool과 같은 동적 인스 트루먼 테이션 패키지를 사용하는 솔루션은 그리 바람직하지 않지만 모두 만족 스럽습니다.
Intel 칩 (2 페이지 http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.pdf)의 APERF/MPERF 카운터를 읽는 프로그램을 작성했습니다. 이 카운터는 readmsr/writemsr 명령을 통해 읽고 쓸 수
MPERF 및 APERF MSR을 읽으려고합니다. 그러나 이렇게하면 컴퓨터가 재부팅됩니다. 아마도 GP 예외 때문일 수 있습니다. ; Read MPERF register
mov ecx, 0xe7
rdmsr
코드는 rdmsr에 나누기 : 여기 은 내가 사용하는 코드입니다. 나는 Intel Haswell 프로세서를 가지고있다. 나는 긴 모드로 달리고있다
내 OSX 사용자 공간 프로그램에서 x86 사양 (DR0-7)에 정의 된 디버그 MSR을 가지고 놀고 싶습니다. 불행히도, 이것들은 CPL == 0 (aka ring 0)을 필요로합니다. 나는 OSX 시스템 콜을 통해 엄지 손가락을 쳤다. kernel_debug을 제외하고는 아무것도 액세스 할 수 없다. kernel_debug과 같은 더 높은 수준의 인터페
CPUID를 사용하려하지만 일부 문자열이 첨부되어 있습니다. sandpile.org's CPUID page에 따르면 CPUID 표준 기능 0000_0004h 이상은 MISC_ENABLE.LCMV 플래그가 0으로 설정된 경우에만 작동합니다.이 플래그는 모델 별 레지스터 (MSR) 1A0의 비트 22입니다. 외관상으로는,이 한계는 Windows NT의 버그로
이 질문은 Power8 in-core crypto patch입니다. 이 패치는 Power8 내장 기능을 사용하여 AES를 제공합니다. VSX 레지스터를로드 할 때 VSX 레지스터가 적절한 값을로드하는지 확인하기 위해 리틀 엔디안 시스템에서 실행할 때 128 비트 엔디안 반전을 수행해야합니다. 컴파일시 우리는 __BYTE_ORDER__과 같은 매크로를 검사
나는 검색을 시도했지만 RAPL 아래의 MSR_PKG_ENERGY_STATUS을 발견했지만 불행히도 Sandy Bridge, Ivy Bridge 등과 같은 최신 프로세서 만 지원합니다. 구형 프로세서에서 사용하려면 다른 방법이 있습니까? 난 그냥이 특정 하나에 대한 방법을 찾고 있지만, 샌디 브릿지보다 오래된 모델에 대한 모든 가능한 옵션을 찾기 위해 노력
루트 권한으로 C 코드에서 직접 msr 0x19a (IA32_CLOCK_MODULATIOn)을 읽고 싶습니다. 그러나 다음 segfault 오류가 발생합니다. a.out[27843] general protection ip:40053b sp:7fffefc38020 error:0 in a.out[400000+1000]
누구든지이 방법으로 rdmsr을 호출