From ce61b81e50cea9c2585d52f9ac439a87f8936aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=B6ller?= Date: Sun, 28 Dec 2014 15:34:37 +0000 Subject: [PATCH] Added support for Intel Core M-5xxx (14nm) Broadwell CPUs (Fixed Issue 646). --- Hardware/CPU/IntelCPU.cs | 20 ++++++++++++++------ Properties/AssemblyVersion.cs | 4 ++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Hardware/CPU/IntelCPU.cs b/Hardware/CPU/IntelCPU.cs index 9d44288..bc65dfc 100644 --- a/Hardware/CPU/IntelCPU.cs +++ b/Hardware/CPU/IntelCPU.cs @@ -23,7 +23,8 @@ namespace OpenHardwareMonitor.Hardware.CPU { Nehalem, SandyBridge, IvyBridge, - Haswell + Haswell, + Broadwell } private readonly Sensor[] coreTemperatures; @@ -136,14 +137,18 @@ namespace OpenHardwareMonitor.Hardware.CPU { microarchitecture = Microarchitecture.IvyBridge; tjMax = GetTjMaxFromMSR(); break; - case 0x3C: // Intel Core i5, i7 4xxx LGA1150 (22nm) + case 0x3C: // Intel Core i5, i7 4xxx LGA1150 (22nm) case 0x3F: // Intel Xeon E5-2600/1600 v3, Core i7-59xx // LGA2011-v3, Haswell-E (22nm) - case 0x45: + case 0x45: // Intel Core i5, i7 4xxxU (22nm) case 0x46: microarchitecture = Microarchitecture.Haswell; tjMax = GetTjMaxFromMSR(); break; + case 0x3D: // Intel Core M-5xxx (14nm) + microarchitecture = Microarchitecture.Broadwell; + tjMax = GetTjMaxFromMSR(); + break; default: microarchitecture = Microarchitecture.Unknown; tjMax = Floats(100); @@ -187,7 +192,8 @@ namespace OpenHardwareMonitor.Hardware.CPU { case Microarchitecture.Nehalem: case Microarchitecture.SandyBridge: case Microarchitecture.IvyBridge: - case Microarchitecture.Haswell: { + case Microarchitecture.Haswell: + case Microarchitecture.Broadwell: { uint eax, edx; if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) { timeStampCounterMultiplier = (eax >> 8) & 0xff; @@ -246,7 +252,8 @@ namespace OpenHardwareMonitor.Hardware.CPU { if (microarchitecture == Microarchitecture.SandyBridge || microarchitecture == Microarchitecture.IvyBridge || - microarchitecture == Microarchitecture.Haswell) + microarchitecture == Microarchitecture.Haswell || + microarchitecture == Microarchitecture.Broadwell) { powerSensors = new Sensor[energyStatusMSRs.Length]; lastEnergyTime = new DateTime[energyStatusMSRs.Length]; @@ -353,7 +360,8 @@ namespace OpenHardwareMonitor.Hardware.CPU { } break; case Microarchitecture.SandyBridge: case Microarchitecture.IvyBridge: - case Microarchitecture.Haswell: { + case Microarchitecture.Haswell: + case Microarchitecture.Broadwell: { uint multiplier = (eax >> 8) & 0xff; coreClocks[i].Value = (float)(multiplier * newBusClock); } break; diff --git a/Properties/AssemblyVersion.cs b/Properties/AssemblyVersion.cs index 50cc0f3..a4f90cd 100644 --- a/Properties/AssemblyVersion.cs +++ b/Properties/AssemblyVersion.cs @@ -10,5 +10,5 @@ using System.Reflection; -[assembly: AssemblyVersion("0.6.0.12")] -[assembly: AssemblyInformationalVersion("0.6.0.12 Alpha")] \ No newline at end of file +[assembly: AssemblyVersion("0.6.0.13")] +[assembly: AssemblyInformationalVersion("0.6.0.13 Alpha")] \ No newline at end of file