Originally Posted by
sam2008
I got part of my code by reading the assembly code of CrystalCPU and its drivers, that part is not mine. That's why I have to use their drivers. It is not a good way
and also why I don't want to disclose the CrystalCPU part.
How many MSRs you want change at a time? Would 5 MSRs enough for you? I can change the code to let you set the MSR address and values in the ini.
Hmm tht ini file approach looks nice and easy. Best would be if you can define a mask and a value for a variable number of MSR registers.
Example:
Code:
[MSR]
C0010015_value=0x00000008
C0010015_mask=0x00000008
[MSR0]
C0010064_value=0x2C0020A0
C0010064_mask=0x00ff0000
All stuff in MSR would be applied to all cores stuff in MSR0-MSR3 whould be core specific.
App must read the MSR register, apply the mask and add add the value.
@sam2008 have you tried the msr functions in openlibsys?
Code:
int _tmain(int argc, _TCHAR* argv[])
{
InitializeDll();
DWORD index, eax, edx;
index = 0xc0010071;
RdmsrEx(index, &eax, &edx, 1);
printf("%08X: %08X %08X\r\n", index, edx, eax);
DeinitializeDll();
}
Had to modify the manifest stuff to force administrative privileges but then it works.
Bookmarks