Subject: Thermal monitoring i386/amd64
To: None <port-i386@netbsd.org>
From: Allen Briggs <briggs@netbsd.org>
List: port-i386
Date: 03/20/2006 11:41:06
Hi folks,

I checked in a change last night to enable thermal monitoring if
the feature is listed, but it's not enabled.  Looking through the
architecture manual, it's really the BIOS's job to enable it.  The
processor is running out of spec. if neither TM1 nor TM2 are enabled.
But the most recent BIOS available for my new Dell PowerEdge 1800
doesn't enable either.  It looks like we're also not detecting TM2
properly for Pentium-4 systems.

Anyway, my change (revision 1.30 of identcpu.c) seems to work OK for
me on this system.  I now see:

cpu0: enabling thermal monitor 1 ... enabled.
cpu1: using thermal monitor 1
cpu2: using thermal monitor 1
cpu3: using thermal monitor 1

instead of:
cpu0: running without thermal monitor!
cpu1: running without thermal monitor!
cpu2: running without thermal monitor!
cpu3: running without thermal monitor!

(Dual system with HTT enabled).  For some reason (I'm not an x86
expert), enabling on the first CPU seems to enable it for the others.
They must be snooping the MSR reads/writes or something.

I looked at amd64, and it's not looking at the thermal monitoring
features at all.  At first blush, this looks like an oversight--
perhaps because the AMD chips don't offer the same feature?  Or
because the BIOS is supposed to be doing this in the first place?
Anyway, it seems like it should be there.  I eventually plan to
run this with amd64 (right now, it resets partway through the device
probe with a recent amd64 kernel).

-allen

-- 
                  Use NetBSD!  http://www.NetBSD.org/