Subject: port-i386/26342: Enhanced SpeedStep support for Dothan processors
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <dovich@tiac.net>
List: netbsd-bugs
Date: 07/16/2004 01:27:14
>Number: 26342
>Category: port-i386
>Synopsis: Enhanced SpeedStep support for Dothan processors
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: port-i386-maintainer
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Fri Jul 16 05:29:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Steven J. Dovich
>Release: NetBSD 2.0G
>Organization:
Steven J. Dovich <dovich@tiac.net>
>Environment:
System: NetBSD lethe 2.0G NetBSD 2.0G (LETHE) #21: Fri Jul 16 01:08:33 EDT 2004 dovich@lethe:/home/netbsd/obj/sys/arch/i386/compile/LETHE i386
Architecture: i386
Machine: i386
>Description:
The frequency/millivolt data for the Dothan processors is
missing. The initialization is unable to recognize the
processor.
>How-To-Repeat:
Boot an ENHANCED_SPEEDSTEP enabled kernel on one of the newer Pentium M
processors.
>Fix:
Apply the following patch to .../sys/arch/i386/i386/est.c (another
pair of eyes reviewing the frequency/millivolt data would be
appropriate). Tested on Pentium M 755 (2.00 GHz).
*** est.c Thu Jul 15 10:33:54 2004
--- est.c.sjd Thu Jul 15 10:34:52 2004
***************
*** 184,189 ****
--- 184,244 ----
{ 600, 956 }
};
+ /* Intel Pentium M processor 715 1.5 GHz */
+ static const struct fq_info pentium_m_n715[] = {
+ { 1500, 1340 },
+ { 1200, 1228 },
+ { 1000, 1148 },
+ { 800, 1068 },
+ { 600, 988 }
+ };
+
+
+ /* Intel Pentium M processor 725 1.6 GHz */
+ static const struct fq_info pentium_m_n725[] = {
+ { 1600, 1340 },
+ { 1400, 1276 },
+ { 1200, 1212 },
+ { 1000, 1132 },
+ { 800, 1068 },
+ { 600, 988 }
+ };
+
+
+ /* Intel Pentium M processor 735 1.7 GHz */
+ static const struct fq_info pentium_m_n735[] = {
+ { 1700, 1340 },
+ { 1400, 1244 },
+ { 1200, 1180 },
+ { 1000, 1116 },
+ { 800, 1052 },
+ { 600, 988 }
+ };
+
+
+ /* Intel Pentium M processor 745 1.8 GHz */
+ static const struct fq_info pentium_m_n745[] = {
+ { 1800, 1340 },
+ { 1600, 1292 },
+ { 1400, 1228 },
+ { 1200, 1164 },
+ { 1000, 1116 },
+ { 800, 1052 },
+ { 600, 988 }
+ };
+
+ /* Intel Pentium M processor 755 2.0 GHz */
+ static const struct fq_info pentium_m_n755[] = {
+ { 2000, 1340 },
+ { 1800, 1292 },
+ { 1600, 1244 },
+ { 1400, 1196 },
+ { 1200, 1148 },
+ { 1000, 1100 },
+ { 800, 1052 },
+ { 600, 988 }
+ };
+
struct fqlist {
const char *brand_tag;
***************
*** 205,210 ****
--- 260,275 ----
#undef ENTRY
};
+ static const struct fqlist pentium_m_dothan[] = {
+ #define ENTRY(s, v) { s, sizeof(v) / sizeof((v)[0]), v }
+ ENTRY("1.50", pentium_m_n715),
+ ENTRY("1.60", pentium_m_n725),
+ ENTRY("1.70", pentium_m_n735),
+ ENTRY("1.80", pentium_m_n745),
+ ENTRY("2.00", pentium_m_n755),
+ #undef ENTRY
+ };
+
struct est_cpu {
const char *brand_prefix;
***************
*** 219,224 ****
--- 284,294 ----
(sizeof(pentium_m) / sizeof(pentium_m[0])),
pentium_m
},
+ {
+ "Intel(R) Pentium(R) M processor ", "GHz",
+ (sizeof(pentium_m_dothan) / sizeof(pentium_m_dothan[0])),
+ pentium_m_dothan
+ },
};
#define NESTCPUS (sizeof(est_cpus) / sizeof(est_cpus[0]))
>Release-Note:
>Audit-Trail:
>Unformatted: