0

I try to read through AsmReadMsr64 declared in uefi and get stuck on this function:

UINT64 Read = AsmReadMsr64(MSR_IA32_THERM_STATUS);

program just stops responding in efi shell, attempts to insert MSR_IA32_PACKAGE_THERM_STATUS are unsuccessful

Attempts to find information about msr were unsuccessful.

Maybe some of you can point me in the right direction or suggest another way to read CPU temperature ? tool - edk2 testing on motherboard with AMD Ryzen 3 3200G with Radeon Vega Graphics

Rustam
  • 1
  • 1
  • That looks like an Intel MSR (based on the nomenclature). AMD Zen has an SMU (System Management Unit) for collecting temperature data. It is accessed through PCI and an indexed command/response interface. Details vary based on the specific model. The Linux driver can be found [here](https://github.com/torvalds/linux/blob/master/drivers/hwmon/k10temp.c). I don't think AMD ever documented the SMU properly. The other possible solution is to implement an ACPI parser and interpreter but it will take a lot of effort. – Margaret Bloom Aug 07 '23 at 16:47

0 Answers0