C MSR auslesen

Herberdt

Cadet 2nd Year
Registriert
Aug. 2008
Beiträge
29
moin moin,
Problem: möchte das msr auslesen an der Adresse 0x19C dort gibt es 6 Bits die mich interesieren.
kann in asm oder c geschehen. nur wie das geht, keine ahnung :(
bitte um hilfe
 
Code:
char* msrPointer = 0x019C;
Wäre möglich, dass dein Betriebsystem den Zugriff auf diese Adresse nicht erlaubt.

Wie man mit Zeiger umgeht weißt Du?
 
na sicher weiss ich das ^^

aber so weit ich mich erinnere komm ich mit:
char* msrPointer = 0x019C;
doch nur in den hauptspeicher rein...
nur möchte ich auf die 32Bit Register auf meiner Cpu zugreiffen
 
hi,

zum auslesen von msr's :

Code:
(hi/loDword sind int's)

__asm{
mov ecx,019ch
rdmsr 
mov  loDword,eax
mov hiDword,edx
}

aber Achtung:
"This instruction must be executed at a privilege level of 0 or a general protection exception (#GP) will
be raised. This exception is also generated if a reserved or unimplemented model-specific register is
specified in ECX."
(Quelle: AMD64 Architecture Programmer’s Manual, Volume 3: General-Purpose and System Instructions)
 
Zurück
Oben