according to Intel/AMD official documentations, CPU family should be displayed as

the sum of CPUID's family field and extended family field when a CPU has a CPUID
family 0xF.
Patch by Zuxy <zuxy POIS meng AH gmail POIS com>
Original thread:
Date: Oct 2, 2005 11:08 AM
Subject: [MPlayer-dev-eng] [Patch] Correction of P4 family CPUs detection in cputable.h


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16663 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
gpoirier 2005-10-04 21:06:07 +00:00
parent 9cae258a42
commit ac9e6666a3
1 changed files with 5 additions and 2 deletions

View File

@ -120,9 +120,12 @@ void GetCpuCaps( CpuCaps *caps)
do_cpuid(0x00000001, regs2); do_cpuid(0x00000001, regs2);
caps->cpuType=(regs2[0] >> 8)&0xf; caps->cpuType=(regs2[0] >> 8)&0xf;
// see AMD64 Architecture Programmer's Manual, Volume 3: General-purpose and
// System Instructions, Table 3-2: Effective family computation, page 120.
if(caps->cpuType==0xf){ if(caps->cpuType==0xf){
// use extended family (P4, IA64) // use extended family (P4, IA64, K8)
caps->cpuType=8+((regs2[0]>>20)&255); caps->cpuType=0xf+((regs2[0]>>20)&255);
} }
caps->cpuStepping=regs2[0] & 0xf; caps->cpuStepping=regs2[0] & 0xf;