1
0
Fork 0
mirror of https://github.com/anrieff/libcpuid synced 2024-11-10 22:59:13 +00:00

Modify INFO_MAX_MULTIPLIER for Intel in cpu_msrinfo()

This commit is contained in:
Xorg 2015-10-06 15:23:01 +02:00
parent ce6ba819f9
commit f11a5b6d16

View file

@ -481,6 +481,12 @@ int cpu_msrinfo(struct msr_driver_t* handle, cpu_msrinfo_request_t which)
} }
case INFO_MAX_MULTIPLIER: case INFO_MAX_MULTIPLIER:
{ {
if(cpu_vendor() == VENDOR_INTEL)
{
int multiplier = (int) cpu_rdmsr_range (handle, PLATFORM_INFO_MSR, PLATFORM_INFO_MSR_high, PLATFORM_INFO_MSR_low, &error_indx);
if(multiplier > 0)
return multiplier * 100;
}
err = cpu_rdmsr(handle, 0x198, &r); err = cpu_rdmsr(handle, 0x198, &r);
if (err) return CPU_INVALID_VALUE; if (err) return CPU_INVALID_VALUE;
return (int) ((r >> 40) & 0x1f) * 100; return (int) ((r >> 40) & 0x1f) * 100;