mirror of
https://github.com/openhardwaremonitor/openhardwaremonitor
synced 2025-08-29 13:28:04 +00:00
Merge pull request #816 from cmoetzing/airmont
Add support for Intel Airmont microarchitecture
This commit is contained in:
commit
dbb77c9ee8
@ -26,7 +26,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
|||||||
Haswell,
|
Haswell,
|
||||||
Broadwell,
|
Broadwell,
|
||||||
Silvermont,
|
Silvermont,
|
||||||
Skylake
|
Skylake,
|
||||||
|
Airmont
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly Sensor[] coreTemperatures;
|
private readonly Sensor[] coreTemperatures;
|
||||||
@ -171,6 +172,10 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
|||||||
microarchitecture = Microarchitecture.Skylake;
|
microarchitecture = Microarchitecture.Skylake;
|
||||||
tjMax = GetTjMaxFromMSR();
|
tjMax = GetTjMaxFromMSR();
|
||||||
break;
|
break;
|
||||||
|
case 0x4C:
|
||||||
|
microarchitecture = Microarchitecture.Airmont;
|
||||||
|
tjMax = GetTjMaxFromMSR();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
microarchitecture = Microarchitecture.Unknown;
|
microarchitecture = Microarchitecture.Unknown;
|
||||||
tjMax = Floats(100);
|
tjMax = Floats(100);
|
||||||
@ -217,7 +222,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
|||||||
case Microarchitecture.Haswell:
|
case Microarchitecture.Haswell:
|
||||||
case Microarchitecture.Broadwell:
|
case Microarchitecture.Broadwell:
|
||||||
case Microarchitecture.Silvermont:
|
case Microarchitecture.Silvermont:
|
||||||
case Microarchitecture.Skylake: {
|
case Microarchitecture.Skylake:
|
||||||
|
case Microarchitecture.Airmont: {
|
||||||
uint eax, edx;
|
uint eax, edx;
|
||||||
if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) {
|
if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) {
|
||||||
timeStampCounterMultiplier = (eax >> 8) & 0xff;
|
timeStampCounterMultiplier = (eax >> 8) & 0xff;
|
||||||
@ -279,7 +285,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
|||||||
microarchitecture == Microarchitecture.Haswell ||
|
microarchitecture == Microarchitecture.Haswell ||
|
||||||
microarchitecture == Microarchitecture.Broadwell ||
|
microarchitecture == Microarchitecture.Broadwell ||
|
||||||
microarchitecture == Microarchitecture.Skylake ||
|
microarchitecture == Microarchitecture.Skylake ||
|
||||||
microarchitecture == Microarchitecture.Silvermont)
|
microarchitecture == Microarchitecture.Silvermont ||
|
||||||
|
microarchitecture == Microarchitecture.Airmont)
|
||||||
{
|
{
|
||||||
powerSensors = new Sensor[energyStatusMSRs.Length];
|
powerSensors = new Sensor[energyStatusMSRs.Length];
|
||||||
lastEnergyTime = new DateTime[energyStatusMSRs.Length];
|
lastEnergyTime = new DateTime[energyStatusMSRs.Length];
|
||||||
@ -289,6 +296,7 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
|||||||
if (Ring0.Rdmsr(MSR_RAPL_POWER_UNIT, out eax, out edx))
|
if (Ring0.Rdmsr(MSR_RAPL_POWER_UNIT, out eax, out edx))
|
||||||
switch (microarchitecture) {
|
switch (microarchitecture) {
|
||||||
case Microarchitecture.Silvermont:
|
case Microarchitecture.Silvermont:
|
||||||
|
case Microarchitecture.Airmont:
|
||||||
energyUnitMultiplier = 1.0e-6f * (1 << (int)((eax >> 8) & 0x1F));
|
energyUnitMultiplier = 1.0e-6f * (1 << (int)((eax >> 8) & 0x1F));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user