Hardware/CPU/AMD10CPU.cs
changeset 100 25d18bbaa9cf
parent 90 3333b29a1746
child 109 70d0c3102424
     1.1 --- a/Hardware/CPU/AMD10CPU.cs	Mon Apr 26 18:38:31 2010 +0000
     1.2 +++ b/Hardware/CPU/AMD10CPU.cs	Mon Apr 26 18:51:22 2010 +0000
     1.3 @@ -47,6 +47,7 @@
     1.4      private string name;
     1.5      private Image icon;
     1.6  
     1.7 +    private int processorIndex;
     1.8      private uint pciAddress;
     1.9  
    1.10      private Sensor coreTemperature;
    1.11 @@ -60,8 +61,9 @@
    1.12      private const ushort PCI_AMD_11H_MISCELLANEOUS_DEVICE_ID = 0x1303;
    1.13      private const uint REPORTED_TEMPERATURE_CONTROL_REGISTER = 0xA4;
    1.14  
    1.15 -    public AMD10CPU(CPUID[][] cpuid) {
    1.16 +    public AMD10CPU(int processorIndex, CPUID[][] cpuid) {
    1.17  
    1.18 +      this.processorIndex = processorIndex;
    1.19        this.name = cpuid[0][0].Name;
    1.20        this.icon = Utilities.EmbeddedResources.GetImage("cpu.png");
    1.21  
    1.22 @@ -88,11 +90,11 @@
    1.23              new ParameterDescription("Offset", "Temperature offset.", 0)
    1.24            });
    1.25  
    1.26 -      pciAddress = WinRing0.FindPciDeviceById(PCI_AMD_VENDOR_ID, 
    1.27 -        PCI_AMD_10H_MISCELLANEOUS_DEVICE_ID, 0);
    1.28 +      pciAddress = WinRing0.FindPciDeviceById(PCI_AMD_VENDOR_ID,
    1.29 +        PCI_AMD_10H_MISCELLANEOUS_DEVICE_ID, (byte)processorIndex);
    1.30        if (pciAddress == 0xFFFFFFFF) 
    1.31          pciAddress = WinRing0.FindPciDeviceById(PCI_AMD_VENDOR_ID,
    1.32 -          PCI_AMD_11H_MISCELLANEOUS_DEVICE_ID, 0);
    1.33 +          PCI_AMD_11H_MISCELLANEOUS_DEVICE_ID, (byte)processorIndex);
    1.34  
    1.35        Update();                   
    1.36      }
    1.37 @@ -102,7 +104,7 @@
    1.38      }
    1.39  
    1.40      public string Identifier {
    1.41 -      get { return "/amdcpu/0"; }
    1.42 +      get { return "/amdcpu/" + processorIndex; }
    1.43      }
    1.44  
    1.45      public Image Icon {