Fix PTL voltage (#2351)

* Fix PTL voltage

* Formatting
This commit is contained in:
PhyxionNL
2026-04-26 19:44:38 +02:00
committed by GitHub
parent 4f58c459ca
commit de31b7bf5d
@@ -712,17 +712,40 @@ internal sealed class IntelCpu : GenericCpu
}
}
if (_coreVoltage != null && _pawnModule.ReadMsr(IA32_PERF_STATUS, out _, out uint edx))
if (_coreVoltage != null && _pawnModule.ReadMsr(IA32_PERF_STATUS, out eax, out uint edx))
{
_coreVoltage.Value = ((edx >> 32) & 0xFFFF) / (float)(1 << 13);
uint vidBits = edx & 0xFFFF;
if (vidBits == 0)
vidBits = edx & 0xFFFF;
if (vidBits > 0)
{
_coreVoltage.Value = vidBits / 8192.0f;
}
else
{
_coreVoltage.Value = 0;
}
}
for (int i = 0; i < _coreVIDs?.Length; i++)
{
if (_pawnModule.ReadMsr(IA32_PERF_STATUS, out _, out edx, _cpuId[i][0].Affinity) && ((edx >> 32) & 0xFFFF) > 0)
if (_pawnModule.ReadMsr(IA32_PERF_STATUS, out eax, out edx, _cpuId[i][0].Affinity))
{
_coreVIDs[i].Value = ((edx >> 32) & 0xFFFF) / (float)(1 << 13);
ActivateSensor(_coreVIDs[i]);
uint vidBitsLoop = edx & 0xFFFF;
if (vidBitsLoop == 0)
vidBitsLoop = eax & 0xFFFF;
if (vidBitsLoop > 0)
{
_coreVIDs[i].Value = vidBitsLoop / 8192.0f;
ActivateSensor(_coreVIDs[i]);
}
else
{
DeactivateSensor(_coreVIDs[i]);
}
}
else
{