Merge pull request #865 from hirschmann:kabylake

This commit is contained in:
Michael Möller 2016-11-06 11:39:23 +01:00
commit 0973ff1a15

View File

@ -27,7 +27,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
Broadwell, Broadwell,
Silvermont, Silvermont,
Skylake, Skylake,
Airmont Airmont,
KabyLake
} }
private readonly Sensor[] coreTemperatures; private readonly Sensor[] coreTemperatures;
@ -176,6 +177,10 @@ namespace OpenHardwareMonitor.Hardware.CPU {
microarchitecture = Microarchitecture.Airmont; microarchitecture = Microarchitecture.Airmont;
tjMax = GetTjMaxFromMSR(); tjMax = GetTjMaxFromMSR();
break; break;
case 0x8E: // Intel Core i5, i7 7xxxx (14nm)
microarchitecture = Microarchitecture.KabyLake;
tjMax = GetTjMaxFromMSR();
break;
default: default:
microarchitecture = Microarchitecture.Unknown; microarchitecture = Microarchitecture.Unknown;
tjMax = Floats(100); tjMax = Floats(100);
@ -223,7 +228,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
case Microarchitecture.Broadwell: case Microarchitecture.Broadwell:
case Microarchitecture.Silvermont: case Microarchitecture.Silvermont:
case Microarchitecture.Skylake: case Microarchitecture.Skylake:
case Microarchitecture.Airmont: { case Microarchitecture.Airmont:
case Microarchitecture.KabyLake: {
uint eax, edx; uint eax, edx;
if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) { if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) {
timeStampCounterMultiplier = (eax >> 8) & 0xff; timeStampCounterMultiplier = (eax >> 8) & 0xff;
@ -286,7 +292,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
microarchitecture == Microarchitecture.Broadwell || microarchitecture == Microarchitecture.Broadwell ||
microarchitecture == Microarchitecture.Skylake || microarchitecture == Microarchitecture.Skylake ||
microarchitecture == Microarchitecture.Silvermont || microarchitecture == Microarchitecture.Silvermont ||
microarchitecture == Microarchitecture.Airmont) microarchitecture == Microarchitecture.Airmont ||
microarchitecture == Microarchitecture.KabyLake)
{ {
powerSensors = new Sensor[energyStatusMSRs.Length]; powerSensors = new Sensor[energyStatusMSRs.Length];
lastEnergyTime = new DateTime[energyStatusMSRs.Length]; lastEnergyTime = new DateTime[energyStatusMSRs.Length];