VRM(VRD) detection versus CPUID

Mark M. Hoffman mhoffman at lightlink.com
Thu Jul 1 04:26:44 CEST 2004


Hi Rudolf:

* Rudolf Marek <R.Marek at sh.cvut.cz> [2004-06-30 19:38:33 +0200]:
> 
> Hello,
> 
> I finally finished some code to detect correct VRM using CPUID.
> 
> What the code does?
> 
> If AMD
>     /*Duron&Ahlon has VRM 9x*/
>     if Opteron  VRM_AMD_OPTERON
> If INTEL
>      FOR /* P6 Family */
>          ret = VRM_INTEL_8x;
>          but  /* 0xB Tualatin */ and maybe  /* 0x9 ????? it has 0.13um */
>          has   ret = VRM_INTEL_85;
>      FOR p4 Family
>          everything except model 3 has  ret = VRM_INTEL_9x;
>          model 3 is prescott 90nm it has VRD 10 (my name is   ret =
>         VRM_INTEL_10x;   /* 0x3 prescott */)
> ELSE
>   VRM_NONE
> 
> I belive this is correct.

It's not a bad start.  I wonder if it should be implemented literally as
a table; with vendor id, family, model, and stepping.  Walk the table to
find the answer.  Although, I guess the VRM spec can't differ due to
different processor stepping alone?

> You can get it here:
> 
> http://ssh.cz/~ruik/cpuidvrm.c
> http://ssh.cz/~ruik/Makefile
> make -C /usr/src/linux-2.6.6 SUBDIRS=$PWD modules

As I found it, it doesn't actually compile for me... misplaced paren.

> Cut & paste from relevant part of source will follow at the end of this
> message.
> 
> What is needed now ?
> 
> 0) review by people here
> 1) test the code for different processors, mainly see if Tualatin is
> working and opteron. Simply insmod the module and see
> the output VRM_NONE = 0 etc..
> 2) how to or who will incorporate this into the drivers? (Khali maybe?)
> 
> 3) Little problem:
> //Linux/arch/i386/kernel/cpu/cpufreq/powernow-k8.h
> #define CPUID_PROCESSOR_SIGNATURE             1 /* function 1
> */
> #define OPTERON_XFAM_MOD             0x00000f50 /* xtended fam, fam +
> model */
> #define CPUID_XFAM_MOD               0x0ff00ff0 /* xtended fam, fam +
> model */
> 
> I need this from that header file but dont know how to get it clever way.

That's a symptom of a bigger problem... we don't want to suddenly make
all the sensors chip drivers depend on x86.  I.e. we'll need trivial stubs
for other architectures.  How many of those even have VID?  No idea.

Regards,

-- 
Mark M. Hoffman
mhoffman at lightlink.com



More information about the lm-sensors mailing list