From ba57a730d306dd993c88d2e15834e6d9c15f2943 Mon Sep 17 00:00:00 2001 From: Artem Date: Fri, 27 Jan 2017 17:24:25 +0200 Subject: [PATCH] Added support for Apollo Lake Intel processors family --- Hardware/CPU/IntelCPU.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Hardware/CPU/IntelCPU.cs b/Hardware/CPU/IntelCPU.cs index cddafc4..c0e2add 100644 --- a/Hardware/CPU/IntelCPU.cs +++ b/Hardware/CPU/IntelCPU.cs @@ -28,7 +28,8 @@ namespace OpenHardwareMonitor.Hardware.CPU { Silvermont, Skylake, Airmont, - KabyLake + KabyLake, + ApolloLake } private readonly Sensor[] coreTemperatures; @@ -182,6 +183,10 @@ namespace OpenHardwareMonitor.Hardware.CPU { microarchitecture = Microarchitecture.KabyLake; tjMax = GetTjMaxFromMSR(); break; + case 0x5C: // Intel ApolloLake + microarchitecture = Microarchitecture.ApolloLake; + tjMax = GetTjMaxFromMSR(); + break; default: microarchitecture = Microarchitecture.Unknown; tjMax = Floats(100); @@ -230,6 +235,7 @@ namespace OpenHardwareMonitor.Hardware.CPU { case Microarchitecture.Silvermont: case Microarchitecture.Skylake: case Microarchitecture.Airmont: + case Microarchitecture.ApolloLake: case Microarchitecture.KabyLake: { uint eax, edx; if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) { @@ -294,7 +300,8 @@ namespace OpenHardwareMonitor.Hardware.CPU { microarchitecture == Microarchitecture.Skylake || microarchitecture == Microarchitecture.Silvermont || microarchitecture == Microarchitecture.Airmont || - microarchitecture == Microarchitecture.KabyLake) + microarchitecture == Microarchitecture.KabyLake || + microarchitecture == Microarchitecture.ApolloLake) { powerSensors = new Sensor[energyStatusMSRs.Length]; lastEnergyTime = new DateTime[energyStatusMSRs.Length]; @@ -412,6 +419,7 @@ namespace OpenHardwareMonitor.Hardware.CPU { case Microarchitecture.Broadwell: case Microarchitecture.Silvermont: case Microarchitecture.Skylake: + case Microarchitecture.ApolloLake: case Microarchitecture.KabyLake: { uint multiplier = (eax >> 8) & 0xff; coreClocks[i].Value = (float)(multiplier * newBusClock);