Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Aug 2011 17:14:39 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Mario Lobo <lobo@bsd.com.br>
Cc:        freebsd-hackers@FreeBSD.org, FreeBSD Questions <freebsd-questions@FreeBSD.org>
Subject:   Re: Phenom II 975 BE shows 0 celsius
Message-ID:  <4E36B4CF.3060308@FreeBSD.org>
In-Reply-To: <201107312128.29322.lobo@bsd.com.br>
References:  <201107312128.29322.lobo@bsd.com.br>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
on 01/08/2011 03:28 Mario Lobo said the following:
> Hi to all
> 
> In my desktop machine, I had an AM2+ ASROCK mobo with Phenom II 955 BE that 
> showed each core temperature perfectly under FBSD 8-STABLE, via 
> dev.cpu.x.temp. amdtemp.ko loaded.
> 
> Unfortunately this Mobo died and only found AM3 boards for which my phenom 955 
> doesn't fit. So I got an ASUS M4A88T-V EVO with a Phenom II 975 BE. 
> 
> Funny thing. An AM3 phenom II fits on an AM2 board but an AM3 board doesn't 
> accept an AM2/AM2+ phenom II :(.
> 
> Anyway, now, under the very same system, it shows 0 degrees on dev.cpu.x.temp 
> for all cores.

Sorry, I've got lost in all the config changes.  So what system do you have now?
Can please also provide CPU-related information from dmesg?

> I've been looking through k8temp and amdtemp src code. I am definitely not 
> sure of this but I believe something might have happened to those:
> 
> From k8temp.h
> 
> K10_THERM_REG      0xa4 
> K10_THERMTRIP_REG  0xe4
> K10_CURTMP(val)    (((val) >> 21) & 0xfff)
> K10_THERMTRIP(val) ((val >> 1) & 1)
> 
> From amdtemp.c
> 
> /*
>  * Register control (K8 family)
>  */
> #define	AMDTEMP_REG0F		0xe4
> #define	AMDTEMP_REG_SELSENSOR	0x40
> #define	AMDTEMP_REG_SELCORE	0x04
> 
> /*
>  * Register control (K10 & K11) family
>  */
> #define	AMDTEMP_REG		0xa4
> 
> 
> Output of k8temp -dn:
> 
> CPUID: Vendor: AuthenticAMD, 0x100f43: Model=04 Family=f+1 Stepping=3
> Advanced Power Management=0x1f9
>    Temperature sensor: Yes
>  Frequency ID control: No
>    Voltage ID control: No
>     THERMTRIP support: Yes
>    HW Thermal control: Yes
>    SW Thermal control: Yes
>    100MHz multipliers: Yes
>    HW P-State control: Yes
>         TSC Invariant: Yes
> Temp=c0fef
> ThermTrip=1fc00c30
> 0
> 
> I keep a small win7 partition to test little things like this and see if the 
> same thing happens there, and it doesn't, so I concluded that the sensors are 
> there and are working.
> 
> One thing is worth noting though. I have used a free gadget that shows 
> activity/temp for each core. It worked fine with the previous MB/CPU.That ALSO 
> stopped working with this new MB. Like FBSD, it shows 0 degrees for any core 
> too, although it correctly displays each core load.

Most likely that gadget just re-uses OS-provided information.

> The only windows tool that correctly shows the temperature are the ASUS tools 
> that came with the mobo.
> 
> Other than that, everything is working fine! The only thing I had to fix was 
> the fstab ada location.
> 
> I know this is not a big thing but I got accustomed to keeping an eye on those 
> temperatures.
> 
> I have googled for a few days now searching for Thermal register address or 
> offsets for the Phenom II 975 BE, or anything related to this problem and 
> found nothing. Every search on AMD site was fruitless. I could not find a 
> single bit of tech info on this processor there, or any other tech info for 
> that matter.

http://support.amd.com/us/Processor_TechDocs/31116.pdf
> Would any one have any pointers/clues/suggestions on this?

I would try to add some printfs (or used dtrace - whichever is easier for you) to
see what's going on.  Or you can even use pciconf to directly sneak a peek at
what's reported by the hardware, e.g.:
# pciconf -r pci0:0:24:3 0xa4
1c881880

You can read the BKDG to see how to interpret the value - search for F3xA4.  See
F3xE4 for offset calculation.

Hopefully you should be able to see if hardware reports sane value and how the
amdtemp ends up reporting 0C.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?4E36B4CF.3060308>