Added support for AMD family 11h CPUs.
authormoel.mich
Thu, 27 Jan 2011 22:29:43 +0000
changeset 25149c38a2958c8
parent 250 c19d56a0bcad
child 252 e62afa69214f
Added support for AMD family 11h CPUs.
Hardware/CPU/AMD10CPU.cs
Hardware/CPU/CPUGroup.cs
Properties/AssemblyVersion.cs
     1.1 --- a/Hardware/CPU/AMD10CPU.cs	Sat Jan 22 17:58:32 2011 +0000
     1.2 +++ b/Hardware/CPU/AMD10CPU.cs	Thu Jan 27 22:29:43 2011 +0000
     1.3 @@ -57,26 +57,36 @@
     1.4      private const uint COFVID_STATUS = 0xC0010071;
     1.5  
     1.6      private const byte MISCELLANEOUS_CONTROL_FUNCTION = 3;
     1.7 -    private const ushort MISCELLANEOUS_CONTROL_DEVICE_ID = 0x1203;
     1.8 +    private const ushort FAMILY_10H_MISCELLANEOUS_CONTROL_DEVICE_ID = 0x1203;
     1.9 +    private const ushort FAMILY_11H_MISCELLANEOUS_CONTROL_DEVICE_ID = 0x1303;    
    1.10      private const uint REPORTED_TEMPERATURE_CONTROL_REGISTER = 0xA4;
    1.11  
    1.12      private readonly uint miscellaneousControlAddress;
    1.13 +    private readonly ushort miscellaneousControlDeviceId;
    1.14  
    1.15      private double timeStampCounterMultiplier;
    1.16  
    1.17      public AMD10CPU(int processorIndex, CPUID[][] cpuid, ISettings settings)
    1.18        : base(processorIndex, cpuid, settings) 
    1.19      {            
    1.20 -      // AMD family 10h processors support only one temperature sensor
    1.21 +      // AMD family 10h/11h processors support only one temperature sensor
    1.22        coreTemperature = new Sensor(
    1.23          "Core" + (coreCount > 1 ? " #1 - #" + coreCount : ""), 0,
    1.24          SensorType.Temperature, this, new [] {
    1.25              new ParameterDescription("Offset [°C]", "Temperature offset.", 0)
    1.26            }, settings);
    1.27  
    1.28 +      switch (family) {
    1.29 +        case 0x10: miscellaneousControlDeviceId =
    1.30 +          FAMILY_10H_MISCELLANEOUS_CONTROL_DEVICE_ID; break;
    1.31 +        case 0x11: miscellaneousControlDeviceId =
    1.32 +          FAMILY_11H_MISCELLANEOUS_CONTROL_DEVICE_ID; break;
    1.33 +        default: miscellaneousControlDeviceId = 0; break;
    1.34 +      }
    1.35 +
    1.36        // get the pci address for the Miscellaneous Control registers 
    1.37        miscellaneousControlAddress = GetPciAddress(
    1.38 -        MISCELLANEOUS_CONTROL_FUNCTION, MISCELLANEOUS_CONTROL_DEVICE_ID);
    1.39 +        MISCELLANEOUS_CONTROL_FUNCTION, miscellaneousControlDeviceId);        
    1.40  
    1.41        busClock = new Sensor("Bus Speed", 0, SensorType.Clock, this, settings);
    1.42        coreClocks = new Sensor[coreCount];
     2.1 --- a/Hardware/CPU/CPUGroup.cs	Sat Jan 22 17:58:32 2011 +0000
     2.2 +++ b/Hardware/CPU/CPUGroup.cs	Thu Jan 27 22:29:43 2011 +0000
     2.3 @@ -124,6 +124,7 @@
     2.4                  hardware.Add(new AMD0FCPU(index, coreThreads, settings));
     2.5                  break;
     2.6                case 0x10:
     2.7 +              case 0x11:
     2.8                  hardware.Add(new AMD10CPU(index, coreThreads, settings));
     2.9                  break;
    2.10                default:
     3.1 --- a/Properties/AssemblyVersion.cs	Sat Jan 22 17:58:32 2011 +0000
     3.2 +++ b/Properties/AssemblyVersion.cs	Thu Jan 27 22:29:43 2011 +0000
     3.3 @@ -37,5 +37,5 @@
     3.4  
     3.5  using System.Reflection;
     3.6  
     3.7 -[assembly: AssemblyVersion("0.2.1.9")]
     3.8 -[assembly: AssemblyInformationalVersion("0.2.1.9 Alpha")]
     3.9 \ No newline at end of file
    3.10 +[assembly: AssemblyVersion("0.2.1.10")]
    3.11 +[assembly: AssemblyInformationalVersion("0.2.1.10 Alpha")]
    3.12 \ No newline at end of file