Added Added a mainboard specific configuration for the Shuttle SH67Hx barebones. Added the SMBIOS system information to the report.
1.1 --- a/Hardware/CPU/IntelCPU.cs Tue Aug 02 21:05:17 2011 +0000
1.2 +++ b/Hardware/CPU/IntelCPU.cs Sat Aug 06 17:27:55 2011 +0000
1.3 @@ -69,6 +69,7 @@
1.4 private const uint MSR_RAPL_POWER_UNIT = 0x606;
1.5 private const uint MSR_PKG_ENERY_STATUS = 0x611;
1.6 private const uint MSR_PP0_ENERY_STATUS = 0x639;
1.7 + private const uint MSR_PP1_ENERY_STATUS = 0x641;
1.8
1.9 private float energyUnitMultiplier = 0;
1.10 private DateTime lastPackageTime;
1.11 @@ -294,7 +295,8 @@
1.12 IA32_PACKAGE_THERM_STATUS,
1.13 MSR_RAPL_POWER_UNIT,
1.14 MSR_PKG_ENERY_STATUS,
1.15 - MSR_PP0_ENERY_STATUS
1.16 + MSR_PP0_ENERY_STATUS,
1.17 + MSR_PP1_ENERY_STATUS
1.18 };
1.19 }
1.20
2.1 --- a/Hardware/LPC/IT87XX.cs Tue Aug 02 21:05:17 2011 +0000
2.2 +++ b/Hardware/LPC/IT87XX.cs Sat Aug 06 17:27:55 2011 +0000
2.3 @@ -87,7 +87,7 @@
2.4 Ring0.WriteIoPort(addressReg, register);
2.5 Ring0.WriteIoPort(dataReg, value);
2.6 return register == Ring0.ReadIoPort(addressReg);
2.7 - }
2.8 + }
2.9
2.10 public byte? ReadGPIO(int index) {
2.11 if (index >= gpioCount)
2.12 @@ -128,7 +128,7 @@
2.13 temperatures = new float?[3];
2.14 fans = new float?[5];
2.15
2.16 - // IT8721F, IT8728F and IT8772E uses a 12mV resultion ADC, all others 16mV
2.17 + // IT8721F, IT8728F and IT8772E use a 12mV resultion ADC, all others 16mV
2.18 if (chip == Chip.IT8721F || chip == Chip.IT8728F || chip == Chip.IT8772E)
2.19 {
2.20 voltageGain = 0.012f;
3.1 --- a/Hardware/Mainboard/Mainboard.cs Tue Aug 02 21:05:17 2011 +0000
3.2 +++ b/Hardware/Mainboard/Mainboard.cs Sat Aug 06 17:27:55 2011 +0000
3.3 @@ -85,7 +85,7 @@
3.4 superIOHardware[i] = new SuperIOHardware(this, superIO[i],
3.5 smbios.Board != null ? smbios.Board.Manufacturer :
3.6 Manufacturer.Unknown, smbios.Board != null ? smbios.Board.Model :
3.7 - Model.Unknown, settings);
3.8 + Model.Unknown, settings);
3.9 }
3.10
3.11 public string Name {
4.1 --- a/Hardware/Mainboard/Model.cs Tue Aug 02 21:05:17 2011 +0000
4.2 +++ b/Hardware/Mainboard/Model.cs Sat Aug 06 17:27:55 2011 +0000
4.3 @@ -83,6 +83,9 @@
4.4 X58A_UD3R,
4.5 Z68X_UD7_B3,
4.6
4.7 + // Shuttle
4.8 + FH67,
4.9 +
4.10 // Unknown
4.11 Unknown
4.12 }
5.1 --- a/Hardware/Mainboard/SMBIOS.cs Tue Aug 02 21:05:17 2011 +0000
5.2 +++ b/Hardware/Mainboard/SMBIOS.cs Sat Aug 06 17:27:55 2011 +0000
5.3 @@ -50,6 +50,7 @@
5.4
5.5 private readonly Version version;
5.6 private readonly BIOSInformation biosInformation;
5.7 + private readonly SystemInformation systemInformation;
5.8 private readonly BaseBoardInformation baseBoardInformation;
5.9
5.10 private static string ReadSysFS(string path) {
5.11 @@ -76,7 +77,13 @@
5.12 string boardVersion = ReadSysFS("/sys/class/dmi/id/board_version");
5.13 this.baseBoardInformation = new BaseBoardInformation(
5.14 boardVendor, boardName, boardVersion, null);
5.15 -
5.16 +
5.17 + string systemVendor = ReadSysFS("/sys/class/dmi/id/sys_vendor");
5.18 + string productName = ReadSysFS("/sys/class/dmi/id/product_name");
5.19 + string productVersion = ReadSysFS("/sys/class/dmi/id/product_version");
5.20 + this.systemInformation = new SystemInformation(systemVendor,
5.21 + productName, productVersion, null, null);
5.22 +
5.23 string biosVendor = ReadSysFS("/sys/class/dmi/id/bios_vendor");
5.24 string biosVersion = ReadSysFS("/sys/class/dmi/id/bios_version");
5.25 this.biosInformation = new BIOSInformation(biosVendor, biosVersion);
5.26 @@ -139,6 +146,10 @@
5.27 this.biosInformation = new BIOSInformation(
5.28 type, handle, data, stringsList.ToArray());
5.29 structureList.Add(this.biosInformation); break;
5.30 + case 0x01:
5.31 + this.systemInformation = new SystemInformation(
5.32 + type, handle, data, stringsList.ToArray());
5.33 + structureList.Add(this.systemInformation); break;
5.34 case 0x02: this.baseBoardInformation = new BaseBoardInformation(
5.35 type, handle, data, stringsList.ToArray());
5.36 structureList.Add(this.baseBoardInformation); break;
5.37 @@ -166,6 +177,16 @@
5.38 r.AppendLine();
5.39 }
5.40
5.41 + if (System != null) {
5.42 + r.Append("System Manufacturer: ");
5.43 + r.AppendLine(System.ManufacturerName);
5.44 + r.Append("System Name: ");
5.45 + r.AppendLine(System.ProductName);
5.46 + r.Append("System Version: ");
5.47 + r.AppendLine(System.Version);
5.48 + r.AppendLine();
5.49 + }
5.50 +
5.51 if (Board != null) {
5.52 r.Append("Mainboard Manufacturer: ");
5.53 r.AppendLine(Board.ManufacturerName);
5.54 @@ -201,6 +222,10 @@
5.55 get { return biosInformation; }
5.56 }
5.57
5.58 + public SystemInformation System {
5.59 + get { return systemInformation; }
5.60 + }
5.61 +
5.62 public BaseBoardInformation Board {
5.63 get { return baseBoardInformation; }
5.64 }
5.65 @@ -258,6 +283,48 @@
5.66 public string Version { get { return version; } }
5.67 }
5.68
5.69 + public class SystemInformation : Structure {
5.70 +
5.71 + private readonly string manufacturerName;
5.72 + private readonly string productName;
5.73 + private readonly string version;
5.74 + private readonly string serialNumber;
5.75 + private readonly string family;
5.76 +
5.77 + public SystemInformation(string manufacturerName, string productName,
5.78 + string version, string serialNumber, string family)
5.79 + : base (0x01, 0, null, null)
5.80 + {
5.81 + this.manufacturerName = manufacturerName;
5.82 + this.productName = productName;
5.83 + this.version = version;
5.84 + this.serialNumber = serialNumber;
5.85 + this.family = family;
5.86 + }
5.87 +
5.88 + public SystemInformation(byte type, ushort handle, byte[] data,
5.89 + string[] strings)
5.90 + : base(type, handle, data, strings)
5.91 + {
5.92 + this.manufacturerName = GetString(0x04);
5.93 + this.productName = GetString(0x05);
5.94 + this.version = GetString(0x06);
5.95 + this.serialNumber = GetString(0x07);
5.96 + this.family = GetString(0x1A);
5.97 + }
5.98 +
5.99 + public string ManufacturerName { get { return manufacturerName; } }
5.100 +
5.101 + public string ProductName { get { return productName; } }
5.102 +
5.103 + public string Version { get { return version; } }
5.104 +
5.105 + public string SerialNumber { get { return serialNumber; } }
5.106 +
5.107 + public string Family { get { return family; } }
5.108 +
5.109 + }
5.110 +
5.111 public class BaseBoardInformation : Structure {
5.112
5.113 private readonly string manufacturerName;
5.114 @@ -395,6 +462,8 @@
5.115 return Model.X58A_UD3R;
5.116 case "Z68X-UD7-B3":
5.117 return Model.Z68X_UD7_B3;
5.118 + case "FH67":
5.119 + return Model.FH67;
5.120 case "Base Board Product Name":
5.121 case "To be filled by O.E.M.":
5.122 return Model.Unknown;
6.1 --- a/Hardware/Mainboard/SuperIOHardware.cs Tue Aug 02 21:05:17 2011 +0000
6.2 +++ b/Hardware/Mainboard/SuperIOHardware.cs Sat Aug 06 17:27:55 2011 +0000
6.3 @@ -533,6 +533,38 @@
6.4 break;
6.5 }
6.6 break;
6.7 + case Manufacturer.Shuttle:
6.8 + switch (model) {
6.9 + case Model.FH67: // IT8772E
6.10 + v.Add(new Voltage("CPU VCore", 0));
6.11 + v.Add(new Voltage("DRAM", 1));
6.12 + v.Add(new Voltage("PCH VCCIO", 2));
6.13 + v.Add(new Voltage("CPU VCCIO", 3));
6.14 + v.Add(new Voltage("Graphic Voltage", 4));
6.15 + v.Add(new Voltage("Standby +3.3V", 7, 10, 10));
6.16 + v.Add(new Voltage("VBat", 8, 10, 10));
6.17 + t.Add(new Temperature("System", 0));
6.18 + t.Add(new Temperature("CPU", 1));
6.19 + f.Add(new Fan("Fan #1", 0));
6.20 + f.Add(new Fan("CPU Fan", 1));
6.21 + break;
6.22 + default:
6.23 + v.Add(new Voltage("Voltage #1", 0, true));
6.24 + v.Add(new Voltage("Voltage #2", 1, true));
6.25 + v.Add(new Voltage("Voltage #3", 2, true));
6.26 + v.Add(new Voltage("Voltage #4", 3, true));
6.27 + v.Add(new Voltage("Voltage #5", 4, true));
6.28 + v.Add(new Voltage("Voltage #6", 5, true));
6.29 + v.Add(new Voltage("Voltage #7", 6, true));
6.30 + v.Add(new Voltage("Standby +3.3V", 7, 10, 10, 0, true));
6.31 + v.Add(new Voltage("VBat", 8, 10, 10));
6.32 + for (int i = 0; i < superIO.Temperatures.Length; i++)
6.33 + t.Add(new Temperature("Temperature #" + (i + 1), i));
6.34 + for (int i = 0; i < superIO.Fans.Length; i++)
6.35 + f.Add(new Fan("Fan #" + (i + 1), i));
6.36 + break;
6.37 + }
6.38 + break;
6.39 default:
6.40 v.Add(new Voltage("Voltage #1", 0, true));
6.41 v.Add(new Voltage("Voltage #2", 1, true));