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