diff --git a/libcpuid/recog_intel.c b/libcpuid/recog_intel.c index 6de3d67..34ce524 100644 --- a/libcpuid/recog_intel.c +++ b/libcpuid/recog_intel.c @@ -608,7 +608,9 @@ static void decode_intel_number_of_cores(struct cpu_raw_data_t* raw, data->num_logical_cpus = logical_cpus; } else { data->num_cores = 1; - data->num_logical_cpus = (logical_cpus >= 2 ? logical_cpus : 2); + data->num_logical_cpus = (logical_cpus >= 1 ? logical_cpus : 1); + if (data->num_logical_cpus == 1) + data->flags[CPU_FEATURE_HT] = 0; } } else { data->num_cores = data->num_logical_cpus = 1; diff --git a/tests/intel/netburst/celeron-d.test b/tests/intel/netburst/celeron-d.test index e45f71f..bf99408 100644 --- a/tests/intel/netburst/celeron-d.test +++ b/tests/intel/netburst/celeron-d.test @@ -73,7 +73,7 @@ intel_fn4[3]=00000000 00000000 00000000 00000000 15 3 1 -2 +1 16 -1 256 @@ -86,4 +86,4 @@ intel_fn4[3]=00000000 00000000 00000000 00000000 -1 64 (non-authoritative) P-4 Celeron D (Prescott-256) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni dts64 monitor ds_cpl cid xtpr +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm pbe pni dts64 monitor ds_cpl cid xtpr diff --git a/tests/intel/netburst/celeron.test b/tests/intel/netburst/celeron.test new file mode 100644 index 0000000..d5e0f99 --- /dev/null +++ b/tests/intel/netburst/celeron.test @@ -0,0 +1,93 @@ +basic_cpuid[0]=00000002 756e6547 6c65746e 49656e69 +basic_cpuid[1]=00000f13 0001080a 00000000 3febfbff +basic_cpuid[2]=665b5001 00000000 00000000 00397040 +basic_cpuid[3]=665b5001 00000000 00000000 00397040 +basic_cpuid[4]=665b5001 00000000 00000000 00397040 +basic_cpuid[5]=665b5001 00000000 00000000 00397040 +basic_cpuid[6]=665b5001 00000000 00000000 00397040 +basic_cpuid[7]=665b5001 00000000 00000000 00397040 +basic_cpuid[8]=665b5001 00000000 00000000 00397040 +basic_cpuid[9]=665b5001 00000000 00000000 00397040 +basic_cpuid[10]=665b5001 00000000 00000000 00397040 +basic_cpuid[11]=665b5001 00000000 00000000 00397040 +basic_cpuid[12]=665b5001 00000000 00000000 00397040 +basic_cpuid[13]=665b5001 00000000 00000000 00397040 +basic_cpuid[14]=665b5001 00000000 00000000 00397040 +basic_cpuid[15]=665b5001 00000000 00000000 00397040 +basic_cpuid[16]=665b5001 00000000 00000000 00397040 +basic_cpuid[17]=665b5001 00000000 00000000 00397040 +basic_cpuid[18]=665b5001 00000000 00000000 00397040 +basic_cpuid[19]=665b5001 00000000 00000000 00397040 +basic_cpuid[20]=665b5001 00000000 00000000 00397040 +basic_cpuid[21]=665b5001 00000000 00000000 00397040 +basic_cpuid[22]=665b5001 00000000 00000000 00397040 +basic_cpuid[23]=665b5001 00000000 00000000 00397040 +basic_cpuid[24]=665b5001 00000000 00000000 00397040 +basic_cpuid[25]=665b5001 00000000 00000000 00397040 +basic_cpuid[26]=665b5001 00000000 00000000 00397040 +basic_cpuid[27]=665b5001 00000000 00000000 00397040 +basic_cpuid[28]=665b5001 00000000 00000000 00397040 +basic_cpuid[29]=665b5001 00000000 00000000 00397040 +basic_cpuid[30]=665b5001 00000000 00000000 00397040 +basic_cpuid[31]=665b5001 00000000 00000000 00397040 +ext_cpuid[0]=80000004 00000000 00000000 00000000 +ext_cpuid[1]=00000000 00000000 00000000 00000000 +ext_cpuid[2]=20202020 20202020 20202020 20202020 +ext_cpuid[3]=65746e49 2952286c 6c654320 6e6f7265 +ext_cpuid[4]=20295228 20555043 30382e31 007a4847 +ext_cpuid[5]=665b5001 00000000 00000000 00397040 +ext_cpuid[6]=665b5001 00000000 00000000 00397040 +ext_cpuid[7]=665b5001 00000000 00000000 00397040 +ext_cpuid[8]=665b5001 00000000 00000000 00397040 +ext_cpuid[9]=665b5001 00000000 00000000 00397040 +ext_cpuid[10]=665b5001 00000000 00000000 00397040 +ext_cpuid[11]=665b5001 00000000 00000000 00397040 +ext_cpuid[12]=665b5001 00000000 00000000 00397040 +ext_cpuid[13]=665b5001 00000000 00000000 00397040 +ext_cpuid[14]=665b5001 00000000 00000000 00397040 +ext_cpuid[15]=665b5001 00000000 00000000 00397040 +ext_cpuid[16]=665b5001 00000000 00000000 00397040 +ext_cpuid[17]=665b5001 00000000 00000000 00397040 +ext_cpuid[18]=665b5001 00000000 00000000 00397040 +ext_cpuid[19]=665b5001 00000000 00000000 00397040 +ext_cpuid[20]=665b5001 00000000 00000000 00397040 +ext_cpuid[21]=665b5001 00000000 00000000 00397040 +ext_cpuid[22]=665b5001 00000000 00000000 00397040 +ext_cpuid[23]=665b5001 00000000 00000000 00397040 +ext_cpuid[24]=665b5001 00000000 00000000 00397040 +ext_cpuid[25]=665b5001 00000000 00000000 00397040 +ext_cpuid[26]=665b5001 00000000 00000000 00397040 +ext_cpuid[27]=665b5001 00000000 00000000 00397040 +ext_cpuid[28]=665b5001 00000000 00000000 00397040 +ext_cpuid[29]=665b5001 00000000 00000000 00397040 +ext_cpuid[30]=665b5001 00000000 00000000 00397040 +ext_cpuid[31]=665b5001 00000000 00000000 00397040 +intel_fn4[0]=665b5001 00000000 00000000 00397040 +intel_fn4[1]=665b5001 00000000 00000000 00397040 +intel_fn4[2]=665b5001 00000000 00000000 00397040 +intel_fn4[3]=665b5001 00000000 00000000 00397040 +intel_fn11[0]=665b5001 00000000 00000000 00397040 +intel_fn11[1]=665b5001 00000000 00000000 00397040 +intel_fn11[2]=665b5001 00000000 00000000 00397040 +intel_fn11[3]=665b5001 00000000 00000000 00397040 +-------------------------------------------------------------------------------- +15 +1 +3 +15 +1 +1 +1 +8 +12 +128 +0 +4 +4 +-1 +64 +64 +-1 +64 (non-authoritative) +P-4 Celeron (Willamette-128) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm diff --git a/tests/intel/netburst/mobile-p4.test b/tests/intel/netburst/mobile-p4.test index d660159..a4adb69 100644 --- a/tests/intel/netburst/mobile-p4.test +++ b/tests/intel/netburst/mobile-p4.test @@ -73,7 +73,7 @@ intel_fn4[3]=665b5101 00000000 00000000 007b7040 15 2 1 -2 +1 8 12 512 @@ -86,4 +86,4 @@ intel_fn4[3]=665b5101 00000000 00000000 007b7040 -1 64 (non-authoritative) Mobile P-4 (Northwood) -fpu vme de pse tsc msr pae mce cx8 mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr +fpu vme de pse tsc msr pae mce cx8 mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm pbe cid xtpr diff --git a/tests/intel/netburst/prescott-ht.test b/tests/intel/netburst/prescott-ht.test new file mode 100644 index 0000000..17a78b4 --- /dev/null +++ b/tests/intel/netburst/prescott-ht.test @@ -0,0 +1,93 @@ +basic_cpuid[0]=00000005 756e6547 6c65746e 49656e69 +basic_cpuid[1]=00000f34 01020800 0000441d bfebfbff +basic_cpuid[2]=605b5001 00000000 00000000 007c7040 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[4]=00004121 01c0003f 0000001f 00000000 +basic_cpuid[5]=00000040 00000040 00000000 00000000 +basic_cpuid[6]=00000040 00000040 00000000 00000000 +basic_cpuid[7]=00000040 00000040 00000000 00000000 +basic_cpuid[8]=00000040 00000040 00000000 00000000 +basic_cpuid[9]=00000040 00000040 00000000 00000000 +basic_cpuid[10]=00000040 00000040 00000000 00000000 +basic_cpuid[11]=00000040 00000040 00000000 00000000 +basic_cpuid[12]=00000040 00000040 00000000 00000000 +basic_cpuid[13]=00000040 00000040 00000000 00000000 +basic_cpuid[14]=00000040 00000040 00000000 00000000 +basic_cpuid[15]=00000040 00000040 00000000 00000000 +basic_cpuid[16]=00000040 00000040 00000000 00000000 +basic_cpuid[17]=00000040 00000040 00000000 00000000 +basic_cpuid[18]=00000040 00000040 00000000 00000000 +basic_cpuid[19]=00000040 00000040 00000000 00000000 +basic_cpuid[20]=00000040 00000040 00000000 00000000 +basic_cpuid[21]=00000040 00000040 00000000 00000000 +basic_cpuid[22]=00000040 00000040 00000000 00000000 +basic_cpuid[23]=00000040 00000040 00000000 00000000 +basic_cpuid[24]=00000040 00000040 00000000 00000000 +basic_cpuid[25]=00000040 00000040 00000000 00000000 +basic_cpuid[26]=00000040 00000040 00000000 00000000 +basic_cpuid[27]=00000040 00000040 00000000 00000000 +basic_cpuid[28]=00000040 00000040 00000000 00000000 +basic_cpuid[29]=00000040 00000040 00000000 00000000 +basic_cpuid[30]=00000040 00000040 00000000 00000000 +basic_cpuid[31]=00000040 00000040 00000000 00000000 +ext_cpuid[0]=80000008 00000000 00000000 00000000 +ext_cpuid[1]=00000000 00000000 00000000 00000000 +ext_cpuid[2]=20202020 20202020 20202020 6e492020 +ext_cpuid[3]=286c6574 50202952 69746e65 52286d75 +ext_cpuid[4]=20342029 20555043 30322e33 007a4847 +ext_cpuid[5]=00000000 00000000 00000000 00000000 +ext_cpuid[6]=00000000 00000000 04006040 00000000 +ext_cpuid[7]=00000000 00000000 00000000 00000000 +ext_cpuid[8]=00002024 00000000 00000000 00000000 +ext_cpuid[9]=00000040 00000040 00000000 00000000 +ext_cpuid[10]=00000040 00000040 00000000 00000000 +ext_cpuid[11]=00000040 00000040 00000000 00000000 +ext_cpuid[12]=00000040 00000040 00000000 00000000 +ext_cpuid[13]=00000040 00000040 00000000 00000000 +ext_cpuid[14]=00000040 00000040 00000000 00000000 +ext_cpuid[15]=00000040 00000040 00000000 00000000 +ext_cpuid[16]=00000040 00000040 00000000 00000000 +ext_cpuid[17]=00000040 00000040 00000000 00000000 +ext_cpuid[18]=00000040 00000040 00000000 00000000 +ext_cpuid[19]=00000040 00000040 00000000 00000000 +ext_cpuid[20]=00000040 00000040 00000000 00000000 +ext_cpuid[21]=00000040 00000040 00000000 00000000 +ext_cpuid[22]=00000040 00000040 00000000 00000000 +ext_cpuid[23]=00000040 00000040 00000000 00000000 +ext_cpuid[24]=00000040 00000040 00000000 00000000 +ext_cpuid[25]=00000040 00000040 00000000 00000000 +ext_cpuid[26]=00000040 00000040 00000000 00000000 +ext_cpuid[27]=00000040 00000040 00000000 00000000 +ext_cpuid[28]=00000040 00000040 00000000 00000000 +ext_cpuid[29]=00000040 00000040 00000000 00000000 +ext_cpuid[30]=00000040 00000040 00000000 00000000 +ext_cpuid[31]=00000040 00000040 00000000 00000000 +intel_fn4[0]=00004121 01c0003f 0000001f 00000000 +intel_fn4[1]=00004143 01c0103f 000003ff 00000000 +intel_fn4[2]=00000000 00000000 00000000 00000000 +intel_fn4[3]=00000000 00000000 00000000 00000000 +intel_fn11[0]=00000040 00000040 00000000 00000000 +intel_fn11[1]=00000040 00000040 00000000 00000000 +intel_fn11[2]=00000040 00000040 00000000 00000000 +intel_fn11[3]=00000040 00000040 00000000 00000000 +-------------------------------------------------------------------------------- +15 +3 +4 +15 +3 +1 +2 +16 +-1 +1024 +-1 +8 +8 +-1 +64 +64 +-1 +64 (non-authoritative) +Pentium 4 (Prescott) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni dts64 monitor ds_cpl cid xtpr