Skylake support
Added initial support for skylake cpus: - Clock speed, core temp and load should all be working - Power usage does not seem to be correct at the moment
This commit is contained in:
committed by
Michael Möller
parent
dc33c420c4
commit
f3959b535e
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public
|
||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
@@ -25,7 +25,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
||||
IvyBridge,
|
||||
Haswell,
|
||||
Broadwell,
|
||||
Silvermont
|
||||
Silvermont,
|
||||
Skylake
|
||||
}
|
||||
|
||||
private readonly Sensor[] coreTemperatures;
|
||||
@@ -162,6 +163,10 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
||||
microarchitecture = Microarchitecture.Silvermont;
|
||||
tjMax = GetTjMaxFromMSR();
|
||||
break;
|
||||
case 0x5E:
|
||||
microarchitecture = Microarchitecture.Skylake;
|
||||
tjMax = GetTjMaxFromMSR();
|
||||
break;
|
||||
default:
|
||||
microarchitecture = Microarchitecture.Unknown;
|
||||
tjMax = Floats(100);
|
||||
@@ -207,7 +212,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
||||
case Microarchitecture.IvyBridge:
|
||||
case Microarchitecture.Haswell:
|
||||
case Microarchitecture.Broadwell:
|
||||
case Microarchitecture.Silvermont: {
|
||||
case Microarchitecture.Silvermont:
|
||||
case Microarchitecture.Skylake: {
|
||||
uint eax, edx;
|
||||
if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) {
|
||||
timeStampCounterMultiplier = (eax >> 8) & 0xff;
|
||||
@@ -268,6 +274,7 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
||||
microarchitecture == Microarchitecture.IvyBridge ||
|
||||
microarchitecture == Microarchitecture.Haswell ||
|
||||
microarchitecture == Microarchitecture.Broadwell ||
|
||||
microarchitecture == Microarchitecture.Skylake ||
|
||||
microarchitecture == Microarchitecture.Silvermont)
|
||||
{
|
||||
powerSensors = new Sensor[energyStatusMSRs.Length];
|
||||
@@ -383,7 +390,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
||||
case Microarchitecture.IvyBridge:
|
||||
case Microarchitecture.Haswell:
|
||||
case Microarchitecture.Broadwell:
|
||||
case Microarchitecture.Silvermont: {
|
||||
case Microarchitecture.Silvermont:
|
||||
case Microarchitecture.Skylake: {
|
||||
uint multiplier = (eax >> 8) & 0xff;
|
||||
coreClocks[i].Value = (float)(multiplier * newBusClock);
|
||||
} break;
|
||||
|
||||
Reference in New Issue
Block a user