Update SMBios.cs (#259)

Thanks to @Pomianowski
This commit is contained in:
Pomian
2020-05-25 11:11:33 +02:00
committed by GitHub
parent b059f98285
commit 8e22bb7f54
+129 -1
View File
@@ -1,7 +1,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// Copyright (C) LibreHardwareMonitor and Contributors.
// Partial Copyright (C) Michael Möller <mmoeller@openhardwaremonitor.org> and Contributors.
// Partial Copyright (C) Michael Möller <mmoeller@openhardwaremonitor.org> and Contributors.
// All Rights Reserved.
using System;
@@ -13,6 +13,10 @@ using System.Text;
namespace LibreHardwareMonitor.Hardware
{
/*
* DSP0134 System Management BIOS (SMBIOS) Reference Specification v.3.3.0
* Chapter 7.4.3
*/
public enum ChassisSecurityStatus
{
Other = 1,
@@ -22,6 +26,10 @@ namespace LibreHardwareMonitor.Hardware
ExternalInterfaceEnabled
}
/*
* DSP0134 System Management BIOS (SMBIOS) Reference Specification v.3.3.0
* Chapter 7.4.2
*/
public enum ChassisStates
{
Other = 1,
@@ -32,6 +40,10 @@ namespace LibreHardwareMonitor.Hardware
NonRecoverable
}
/*
* DSP0134 System Management BIOS (SMBIOS) Reference Specification v.3.3.0
* Chapter 7.4.1
*/
public enum ChassisType
{
Other = 1,
@@ -72,6 +84,10 @@ namespace LibreHardwareMonitor.Hardware
StickPC
}
/*
* DSP0134 System Management BIOS (SMBIOS) Reference Specification v.3.3.0
* Chapter 7.5.2
*/
[SuppressMessage("ReSharper", "InconsistentNaming")]
[SuppressMessage("ReSharper", "IdentifierTypo")]
public enum ProcessorFamily
@@ -289,6 +305,83 @@ namespace LibreHardwareMonitor.Hardware
VideoProcessor
}
/*
* DSP0134 System Management BIOS (SMBIOS) Reference Specification v.3.3.0
* Chapter 7.5.1
*/
public enum ProcessorType
{
Other = 1,
Unknown,
CentralProcessor,
MathProcessor,
DSPProcessor,
VideoProcessor
}
/*
* DSP0134 System Management BIOS (SMBIOS) Reference Specification v.3.3.0
* Chapter 7.5.5
*/
public enum ProcessorSocket
{
Other = 1,
Unknown,
DaughterBoard,
ZifSocket,
PiggyBack,
None,
LifSocket,
Zif423 = 13,
A,
Zif478,
Zif754,
Zif940,
Zif939,
MPga604,
Lga771,
Lga775,
S1,
AM2,
F,
Lga1366,
G34,
AM3,
C32,
Lga1156,
Lga1567,
Pga988A,
Bga1288,
RPga088B,
Bga1023,
Bga1224,
Lga1155,
Lga1356,
Lga2011,
FS1,
FS2,
FM1,
FM2,
Lga20113,
Lga13563,
Lga1150,
Bga1168,
Bga1234,
Bga1364,
AM4,
Lga1151,
Bga1356,
Bga1440,
Bga1515,
Lga36471,
SP3,
SP3R2,
Lga2066,
Bga1510,
Bga1528,
Lga4189
}
public enum SystemWakeUp
{
Reserved,
@@ -523,12 +616,19 @@ namespace LibreHardwareMonitor.Hardware
{
internal ProcessorInformation(byte type, ushort handle, byte[] data, string[] strings) : base(type, handle, data, strings)
{
SocketDesignation = GetString(0x04).Trim();
ManufacturerName = GetString(0x07).Trim();
Version = GetString(0x10).Trim();
CoreCount = GetByte(0x23) != 255 ? GetByte(0x23) : GetWord(0x2A);
CoreEnabled = GetByte(0x24) != 255 ? GetByte(0x24) : GetWord(0x2C);
ThreadCount = GetByte(0x25) != 255 ? GetByte(0x25) : GetWord(0x2E);
ExternalClock = GetWord(0x12);
MaxSpeed = GetWord(0x14);
CurrentSpeed = GetWord(0x16);
Serial = GetString(0x20).Trim();
ProcessorType = (ProcessorType)GetByte(0x05);
Socket = (ProcessorSocket)GetByte(0x19);
int family = GetByte(0x06);
Family = (ProcessorFamily)(family == 254 ? GetWord(0x28) : family);
@@ -540,8 +640,20 @@ namespace LibreHardwareMonitor.Hardware
public int ExternalClock { get; }
public int MaxSpeed { get; }
public int CurrentSpeed { get; }
public string Serial { get; }
public ProcessorType ProcessorType { get; }
public ProcessorSocket Socket { get; }
public ProcessorFamily Family { get; }
public string SocketDesignation { get; }
public string ManufacturerName { get; }
public int ThreadCount { get; }
@@ -833,6 +945,16 @@ namespace LibreHardwareMonitor.Hardware
{
r.Append("Processor Manufacturer: ");
r.AppendLine(Processor.ManufacturerName);
r.Append("Processor Type: ");
r.AppendLine(Processor.ProcessorType.ToString());
r.Append("Processor Version: ");
r.AppendLine(Processor.Version);
r.Append("Processor Serial: ");
r.AppendLine(Processor.Serial);
r.Append("Processor Socket Destignation: ");
r.AppendLine(Processor.SocketDesignation);
r.Append("Processor Socket: ");
r.AppendLine(Processor.Socket.ToString());
r.Append("Processor Version: ");
r.AppendLine(Processor.Version);
r.Append("Processor Family: ");
@@ -846,6 +968,12 @@ namespace LibreHardwareMonitor.Hardware
r.Append("Processor External Clock: ");
r.Append(Processor.ExternalClock);
r.AppendLine(" Mhz");
r.Append("Processor Max Speed: ");
r.Append(Processor.MaxSpeed);
r.AppendLine(" Mhz");
r.Append("Processor Current Speed: ");
r.Append(Processor.CurrentSpeed);
r.AppendLine(" Mhz");
r.AppendLine();
}