Add SMBIOS Processor Family (#101)

This commit is contained in:
Damien Guard
2019-07-20 11:22:38 +02:00
committed by Phyxion
parent 38286b674c
commit 95d1b8d766
+220
View File
@@ -243,6 +243,8 @@ namespace OpenHardwareMonitor.Hardware {
r.AppendLine(Processor.ManufacturerName);
r.Append("Processor Version: ");
r.AppendLine(Processor.Version);
r.Append("Processor Family: ");
r.AppendLine(Processor.Family.ToString());
r.Append("Processor Core Count: ");
r.AppendLine(Processor.CoreCount.ToString());
r.Append("Processor Core Enabled: ");
@@ -621,6 +623,8 @@ namespace OpenHardwareMonitor.Hardware {
this.CoreEnabled = GetByte(0x24) != 255 ? GetByte(0x24) : GetWord(0x2C);
this.ThreadCount = GetByte(0x25) != 255 ? GetByte(0x25) : GetWord(0x2E);
this.ExternalClock = GetWord(0x12);
var family = GetByte(0x06);
this.Family = (ProcessorFamily) (family == 254 ? GetWord(0x28) : family);
}
public string ManufacturerName { get; private set; }
@@ -634,6 +638,222 @@ namespace OpenHardwareMonitor.Hardware {
public int ThreadCount { get; private set; }
public int ExternalClock { get; private set; }
public ProcessorFamily Family { get; private set; }
}
public enum ProcessorFamily {
Other = 1,
Intel8086 = 3,
Intel80286 = 4,
Intel386,
Intel486,
Intel8087,
Intel80287,
Intel80387,
Intel80487,
IntelPentium,
IntelPentiumPro,
IntelPentiumII,
IntelPentiumMMX,
IntelCeleron,
IntelPentiumIIXeon,
IntelPentiumIII,
M1,
M2,
IntelCeleronM,
IntelPentium4HT,
AmdDuron = 24,
AmdK5,
AmdK6,
AmdK62,
AmdK63,
AmdAthlon,
Amd2900,
AmdK62Plus,
PowerPc,
PowerPc601,
PowerPc603,
PowerPc603Plus,
PowerPc604,
PowerPc620,
PowerPcx704,
PowerPc750,
IntelCoreDuo,
IntelCoreDuoMobile,
IntelCoreSoloMobile,
IntelAtom,
IntelCoreM,
IntelCoreM3,
IntelCoreM5,
IntelCoreM7,
Alpha,
Alpha21064,
Alpha21066,
Alpha21164,
Alpha21164Pc,
Alpha21164a,
Alpha21264,
Alpha21364,
AmdTurionIIUltraDualCoreMobileM,
AmdTurionDualCoreMobileM,
AmdAthlonIIDualCoreM,
AmdOpteron6100Series,
AmdOpteron4100Series,
AmdOpteron6200Series,
AmdOpteron4200Series,
AmdFxSeries,
Mips,
MipsR4000,
MipsR4200,
MipsR4400,
MipsR4600,
MipsR10000,
AmdCSeries,
AmdESeries,
AmdASeries,
AmdGSeries,
AmdZSeries,
AmdRSeries,
AmdOpteron4300Series,
AmdOpteron6300Series,
AmdOpteron3300Series,
AmdFireProSeries,
Sparc,
SuperSparc,
MicroSparcII,
MicroSparcIIep,
UltraSparc,
UltraSparcII,
UltraSparcIIi,
UltraSparcIII,
UltraSparcIIIi,
Motorola68040 = 96,
Motorola68xxx,
Motorola68000,
Motorola68010,
Motorola68020,
Motorola68030,
AmdAthlonX4QuadCore,
AmdOpteronX1000Series,
AmdOpteronX2000Series,
AmdOpteronASeries,
AmdOpteronX3000Series,
AmdZen,
Hobbit = 112,
CrusoeTm5000 = 120,
CrusoeTm3000,
EfficeonTm8000,
Weitek = 128,
IntelItanium = 130,
AmdAthlon64,
AmdOpteron,
AmdSempron,
AmdTurio64Mobile,
AmdOpteronDualCore,
AmdAthlon64X2DualCore,
AmdTurion64X2Mobile,
AmdOpteronQuadCore,
AmdOpteronThirdGen,
AmdPhenomFXQuadCore,
AmdPhenomX4QuadCore,
AmdPhenomX2DualCore,
AmdAthlonX2DualCore,
PaRisc,
PaRisc8500,
PaRisc8000,
PaRisc7300LC,
PaRisc7200,
PaRisc7100LC,
PaRisc7100,
V30 = 160,
IntelXeon3200QuadCoreSeries,
IntelXeon3000DualCoreSeries,
IntelXeon5300QuadCoreSeries,
IntelXeon5100DualCoreSeries,
IntelXeon5000DualCoreSeries,
IntelXeonLVDualCore,
IntelXeonULVDualCore,
IntelXeon7100Series,
IntelXeon5400Series,
IntelXeonQuadCore,
IntelXeon5200DualCoreSeries,
IntelXeon7200DualCoreSeries,
IntelXeon7300QuadCoreSeries,
IntelXeon7400QuadCoreSeries,
IntelXeon7400MultiCoreSeries,
IntelPentiumIIIXeon,
IntelPentiumIIISpeedStep,
IntelPentium4,
IntelXeon,
As400,
IntelXeonMP,
AmdAthlonXP,
AmdAthlonMP,
IntelItanium2,
IntelPentiumM,
IntelCeleronD,
IntelPentiumD,
IntelPentiumExtreme,
IntelCoreSolo,
IntelCore2Duo = 191,
IntelCore2Solo,
IntelCore2Extreme,
IntelCore2Quad,
IntelCore2ExtremeMobile,
IntelCore2DuoMobile,
IntelCore2SoloMobile,
IntelCoreI7,
IntelCeleronDualCore,
Ibm390,
PowerPcG4,
PowerPcG5,
Esa390G6,
ZArchitecture,
IntelCoreI5,
IntelCoreI3,
IntelCoreI9,
ViaC7M = 210,
ViaC7D,
ViaC7,
ViaEden,
IntelXeonMultiCore,
IntelXeon3xxxDualCoreSeries,
IntelXeon3xxxQuadCoreSeries,
ViaNano,
IntelXeon5xxxDualCoreSeries,
IntelXeon5xxxQuadCoreSeries,
IntelXeon7xxxDualCoreSeries = 221,
IntelXeon7xxxQuadCoreSeries,
IntelXeon7xxxMultiCoreSeries,
IntelXeon3400MultiCoreSeries,
AmdOpteron3000Series = 228,
AmdSempronII,
AmdOpteronQuadCoreEmbedded,
AmdPhenomTripleCore,
AmdTurionUltraDualCoreMobile,
AmdTurionDualCoreMobile,
AmdTurionDualCore,
AmdAthlonDualCore,
AmdSempronSI,
AmdPhenomII,
AmdAthlonII,
AmdOpteronSixCore,
AmdSempronM,
IntelI860 = 250,
IntelI960,
ArmV7 = 256,
ArmV8,
HitachiSh3,
HitachiSh4,
Arm,
StrongArm,
_686,
MediaGX,
MII,
WinChip,
Dsp,
VideoProcessor
}
public class MemoryDevice : Structure {