Added support for Intel Core M-5xxx (14nm) Broadwell CPUs (Fixed Issue 646).
authormoel.mich
Sun, 28 Dec 2014 15:34:37 +0000
changeset 425520bca5f2a7d
parent 424 427fc32e589f
child 426 56d59f52fa2b
Added support for Intel Core M-5xxx (14nm) Broadwell CPUs (Fixed Issue 646).
Hardware/CPU/IntelCPU.cs
Properties/AssemblyVersion.cs
     1.1 --- a/Hardware/CPU/IntelCPU.cs	Tue Sep 16 20:35:33 2014 +0000
     1.2 +++ b/Hardware/CPU/IntelCPU.cs	Sun Dec 28 15:34:37 2014 +0000
     1.3 @@ -23,7 +23,8 @@
     1.4        Nehalem,
     1.5        SandyBridge,
     1.6        IvyBridge,
     1.7 -      Haswell
     1.8 +      Haswell,
     1.9 +      Broadwell
    1.10      }
    1.11  
    1.12      private readonly Sensor[] coreTemperatures;
    1.13 @@ -136,14 +137,18 @@
    1.14                  microarchitecture = Microarchitecture.IvyBridge;
    1.15                  tjMax = GetTjMaxFromMSR();
    1.16                  break;
    1.17 -              case 0x3C: // Intel Core i5, i7 4xxx LGA1150 (22nm)
    1.18 +              case 0x3C: // Intel Core i5, i7 4xxx LGA1150 (22nm)              
    1.19                case 0x3F: // Intel Xeon E5-2600/1600 v3, Core i7-59xx
    1.20                           // LGA2011-v3, Haswell-E (22nm)
    1.21 -              case 0x45:
    1.22 +              case 0x45: // Intel Core i5, i7 4xxxU (22nm)
    1.23                case 0x46: 
    1.24                  microarchitecture = Microarchitecture.Haswell;
    1.25                  tjMax = GetTjMaxFromMSR();
    1.26                  break;
    1.27 +              case 0x3D: // Intel Core M-5xxx (14nm)
    1.28 +                microarchitecture = Microarchitecture.Broadwell;
    1.29 +                tjMax = GetTjMaxFromMSR();
    1.30 +                break;
    1.31                default:
    1.32                  microarchitecture = Microarchitecture.Unknown;
    1.33                  tjMax = Floats(100);
    1.34 @@ -187,7 +192,8 @@
    1.35          case Microarchitecture.Nehalem:
    1.36          case Microarchitecture.SandyBridge:
    1.37          case Microarchitecture.IvyBridge:
    1.38 -        case Microarchitecture.Haswell: {
    1.39 +        case Microarchitecture.Haswell: 
    1.40 +        case Microarchitecture.Broadwell: {
    1.41              uint eax, edx;
    1.42              if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) {
    1.43                timeStampCounterMultiplier = (eax >> 8) & 0xff;
    1.44 @@ -246,7 +252,8 @@
    1.45  
    1.46        if (microarchitecture == Microarchitecture.SandyBridge ||
    1.47            microarchitecture == Microarchitecture.IvyBridge ||
    1.48 -          microarchitecture == Microarchitecture.Haswell) 
    1.49 +          microarchitecture == Microarchitecture.Haswell ||
    1.50 +          microarchitecture == Microarchitecture.Broadwell) 
    1.51        {
    1.52          powerSensors = new Sensor[energyStatusMSRs.Length];
    1.53          lastEnergyTime = new DateTime[energyStatusMSRs.Length];
    1.54 @@ -353,7 +360,8 @@
    1.55                  } break;
    1.56                case Microarchitecture.SandyBridge:
    1.57                case Microarchitecture.IvyBridge:
    1.58 -              case Microarchitecture.Haswell: {
    1.59 +              case Microarchitecture.Haswell: 
    1.60 +              case Microarchitecture.Broadwell: {
    1.61                    uint multiplier = (eax >> 8) & 0xff;
    1.62                    coreClocks[i].Value = (float)(multiplier * newBusClock);
    1.63                  } break;
     2.1 --- a/Properties/AssemblyVersion.cs	Tue Sep 16 20:35:33 2014 +0000
     2.2 +++ b/Properties/AssemblyVersion.cs	Sun Dec 28 15:34:37 2014 +0000
     2.3 @@ -10,5 +10,5 @@
     2.4  
     2.5  using System.Reflection;
     2.6  
     2.7 -[assembly: AssemblyVersion("0.6.0.12")]
     2.8 -[assembly: AssemblyInformationalVersion("0.6.0.12 Alpha")]
     2.9 \ No newline at end of file
    2.10 +[assembly: AssemblyVersion("0.6.0.13")]
    2.11 +[assembly: AssemblyInformationalVersion("0.6.0.13 Alpha")]
    2.12 \ No newline at end of file