mirror of
https://github.com/anrieff/libcpuid
synced 2024-12-16 16:35:45 +00:00
Fix P-III Celeron misdetected as plain P-III (misreport id #8)
Reported via http://libcpuid.sourceforge.net/bugreport.php The test in particular has no brand string, which was causing the misdetection (as is the case with a lot of other models, libcpuid relies on accurate brand string being programmed by the BIOS in order to do the detection). The actual CPU was a Pentium-III based Celeron (SL54Q), but it was detected as "Pentium III (Coppermine)". A bit of historical trivia: for the related Tualatin models, if the BIOS doesn't enter a brand string, there might be NO WAY to tell a regular P-3 and a P-3 Celeron apart: P-3s have variants with 256KiB and 512KiB L2 cache, while the Celerons are 256 KiB, so a 256KiB regular P3 is no different than its corresponding Celeron. Only the FSB is different, but there's no way to detect this via CPUID. For the Coppermines its an easier case: Celerons are always 128KiB, and Pentia are 256KiB, so I've added this distinction in the tables.
This commit is contained in:
parent
671fa8a750
commit
45d04a9e4a
2 changed files with 107 additions and 5 deletions
|
@ -60,6 +60,7 @@ enum _intel_model_t {
|
||||||
typedef enum _intel_model_t intel_model_t;
|
typedef enum _intel_model_t intel_model_t;
|
||||||
|
|
||||||
const struct match_entry_t cpudb_intel[] = {
|
const struct match_entry_t cpudb_intel[] = {
|
||||||
|
// F M S EF EM #cores L2$ L3$ BC ModelBits ModelCode Name
|
||||||
{ -1, -1, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Unknown Intel CPU" },
|
{ -1, -1, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Unknown Intel CPU" },
|
||||||
|
|
||||||
/* i486 */
|
/* i486 */
|
||||||
|
@ -107,16 +108,17 @@ const struct match_entry_t cpudb_intel[] = {
|
||||||
{ 6, 8, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Pentium III (Coppermine)"},
|
{ 6, 8, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Pentium III (Coppermine)"},
|
||||||
{ 6, 10, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Pentium III (Coppermine)"},
|
{ 6, 10, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Pentium III (Coppermine)"},
|
||||||
{ 6, 11, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Pentium III (Tualatin)" },
|
{ 6, 11, -1, -1, -1, 1, -1, -1, NC, 0 , 0, "Pentium III (Tualatin)" },
|
||||||
|
{ 6, 11, -1, -1, -1, 1, 512, -1, NC, 0 , 0, "Pentium III (Tualatin)" },
|
||||||
|
|
||||||
{ 6, 7, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Tanner)" },
|
{ 6, 7, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Tanner)" },
|
||||||
{ 6, 8, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Cascades)" },
|
{ 6, 8, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Cascades)" },
|
||||||
{ 6, 10, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Cascades)" },
|
{ 6, 10, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Cascades)" },
|
||||||
{ 6, 11, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Tualatin)" },
|
{ 6, 11, -1, -1, -1, 1, -1, -1, NC, XEON_ , 0, "P-III Xeon (Tualatin)" },
|
||||||
|
|
||||||
{ 6, 7, -1, -1, -1, 1, -1, -1, NC, CELERON_ , 0, "P-III Celeron (Katmai)" },
|
{ 6, 7, -1, -1, -1, 1, 128, -1, NC, CELERON_ , 0, "P-III Celeron (Katmai)" },
|
||||||
{ 6, 8, -1, -1, -1, 1, -1, -1, NC, CELERON_ , 0, "P-III Celeron (Coppermine)" },
|
{ 6, 8, -1, -1, -1, 1, 128, -1, NC, CELERON_ , 0, "P-III Celeron (Coppermine)" },
|
||||||
{ 6, 10, -1, -1, -1, 1, -1, -1, NC, CELERON_ , 0, "P-III Celeron (Coppermine)" },
|
{ 6, 10, -1, -1, -1, 1, 128, -1, NC, CELERON_ , 0, "P-III Celeron (Coppermine)" },
|
||||||
{ 6, 11, -1, -1, -1, 1, -1, -1, NC, CELERON_ , 0, "P-III Celeron (Tualatin)" },
|
{ 6, 11, -1, -1, -1, 1, 256, -1, NC, CELERON_ , 0, "P-III Celeron (Tualatin)" },
|
||||||
|
|
||||||
/* Netburst based (Pentium 4 and later)
|
/* Netburst based (Pentium 4 and later)
|
||||||
classic P4s */
|
classic P4s */
|
||||||
|
|
100
tests/intel/p2/celeron-coppermine.test
Normal file
100
tests/intel/p2/celeron-coppermine.test
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
basic_cpuid[0]=00000002 756e6547 6c65746e 49656e69
|
||||||
|
basic_cpuid[1]=0000068a 00000001 00000000 0383f9ff
|
||||||
|
basic_cpuid[2]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[3]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[4]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[5]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[6]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[7]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[8]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[9]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[10]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[11]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[12]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[13]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[14]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[15]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[16]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[17]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[18]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[19]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[20]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[21]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[22]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[23]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[24]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[25]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[26]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[27]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[28]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[29]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[30]=03020101 00000000 00000000 0c040841
|
||||||
|
basic_cpuid[31]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[0]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[1]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[2]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[3]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[4]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[5]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[6]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[7]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[8]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[9]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[10]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[11]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[12]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[13]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[14]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[15]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[16]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[17]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[18]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[19]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[20]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[21]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[22]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[23]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[24]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[25]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[26]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[27]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[28]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[29]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[30]=03020101 00000000 00000000 0c040841
|
||||||
|
ext_cpuid[31]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[0]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[1]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[2]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[3]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[4]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[5]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[6]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn4[7]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn11[0]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn11[1]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn11[2]=03020101 00000000 00000000 0c040841
|
||||||
|
intel_fn11[3]=03020101 00000000 00000000 0c040841
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
6
|
||||||
|
8
|
||||||
|
10
|
||||||
|
6
|
||||||
|
8
|
||||||
|
1
|
||||||
|
1
|
||||||
|
16
|
||||||
|
16
|
||||||
|
128
|
||||||
|
-1
|
||||||
|
-1
|
||||||
|
4
|
||||||
|
4
|
||||||
|
-1
|
||||||
|
-1
|
||||||
|
32
|
||||||
|
32
|
||||||
|
-1
|
||||||
|
-1
|
||||||
|
64 (non-authoritative)
|
||||||
|
P-III Celeron (Coppermine)
|
||||||
|
fpu vme de pse tsc msr pae mce cx8 mtrr sep pge mca cmov pat pse36 mmx fxsr sse
|
Loading…
Reference in a new issue