Find attached.
...and the results are:
[G:\TEST\CPUTEMPT]cputemp
MMIO Configuration Base Address:0x00000000E0000000
Northbridge caps: 0x2F04F1E
Temperature core 0 (0x39E00F5F):57.88 °C
A couple of notes:
1) I currently do NOT have MMIO enabled in my BIOS, I can turn this ON if you suspect this has any bearing on the output
I ask this since looking at your source I see multiple references to MMIO, but as best as I can tell this is needed to get that physical to linear mapping, is that correct? If so, I do not think it matters whether MMIO is enabled or not.
2) Is that actual core temp, or package temp?
I ask this b/c my motherboard (MSI 990FXA-GD80) has a DEBUG LED display mounted on the it that amongst other things (such as BIOS process codes and errors) displays the 'CPU Temperature'....the only problem is that nowhere does it actually spell out whether this is the core or package temp.
Anyways, my box has consistently shown 49-50C on that LED display while your util shows 57C, so I'm wondering if you are picking up the package temp maybe?
As I understand it the package temp is always higher than the core simply b/c it does not have the sort of active cooling that the cores do. Typically that sensor is located in the CPU mounting socket with very little airflow so temps there stay a tad higher simply because of the fact that the various CPU pins themselves heat up as the current is being drawn by the CPU itself.
Also, for what its worth given the research I've done into this (FX specific): CPU temp/core temp it is not very accurate at less than 40C given that it isn't a sensor but an algorithm so it is sort of guessing/computing with much larger error at temperatures much less than 40C. I found that '40C' a bit artibrary though, different folks seems to call out different +/- values around that 40C though.