Subject: port-i386/32864: Pentium M 760 speedstep support
To: None <port-i386-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <nludban@columbus.rr.com>
List: netbsd-bugs
Date: 02/18/2006 01:20:01
>Number:         32864
>Category:       port-i386
>Synopsis:       Pentium M 760 speedstep support
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 18 01:20:01 +0000 2006
>Originator:     Neil Ludban
>Release:        3.0
>Organization:
>Environment:
Thinkpad T43p.
>Description:
Was getting an error about unknown CPU from est.c, with patch
applied speedstep is enabled:

cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Dothan) (686-class), 1995.17 MHz, id 0x6d8
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 180<EST,TM2>
cpu0: "Intel(R) Pentium(R) M processor 2.00GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: using thermal monitor 2
cpu0: Enhanced SpeedStep running at 1500 MHz (1356 mV)
cpu0: Enhanced SpeedStep frequencies available (MHz): 1500 1200 1000 800 600
cpu0: 64 page colors


$ sysctl machdep.est
machdep.est.frequency.target = 600
machdep.est.frequency.current = 600
machdep.est.frequency.available = 1500 1200 1000 800 600

>How-To-Repeat:

>Fix:
Note that Pentium M 755 is also identified as "2.00", so that
processor gets commented out by this patch (just following the lead
of m758 and m715 entries).


Index: arch/i386/i386/est.c
===================================================================
RCS file: /cvsroot/src/sys/arch/i386/i386/est.c,v
retrieving revision 1.7.2.2
diff -u -r1.7.2.2 est.c
--- arch/i386/i386/est.c        31 Dec 2005 16:40:59 -0000      1.7.2.2
+++ arch/i386/i386/est.c        18 Feb 2006 01:01:42 -0000
@@ -283,6 +283,7 @@
        {  600,  988 }
 };
 
+#if 0
 /* Intel Pentium M processor 755 2.0 GHz */
 static const struct fq_info pentium_m_n755[] = {
        { 2000, 1340 },
@@ -294,6 +295,16 @@
        {  800, 1052 },
        {  600,  988 }
 };
+#endif
+
+/* Intel Pentium M processor 760 2.0 GHz */
+static const struct fq_info pentium_m_n760[] = {
+       { 1500, 1356 },         /* 2000MHz */
+       { 1200, 1244 },         /* 1600MHz */
+       { 1000, 1164 },         /* 1333MHz */
+       {  800, 1084 },         /* 1066MHz */
+       {  600,  988 },         /*  800MHz */
+};
 
 /* Intel Pentium M processor 765 2.1 GHz */
 static const struct fq_info pentium_m_n765[] = {
@@ -350,7 +361,10 @@
        ENTRY("1.60", pentium_m_n725),
        ENTRY("1.70", pentium_m_n735),
        ENTRY("1.80", pentium_m_n745),
+#if 0
        ENTRY("2.00", pentium_m_n755),
+#endif
+       ENTRY("2.00", pentium_m_n760),
        ENTRY("2.10", pentium_m_n765),
        ENTRY("2.13", pentium_m_n770),
        ENTRY("1.00", pentium_m_n723),