4 * Licensed under the terms of the GNU GPL License version 2.
6 * Intel family 15 specific identification.
11 #include "../x86info.h"
14 static char p4_423_datasheet[]="http://developer.intel.com/design/pentium4/datashts/24919805.pdf";
15 static char p4_478_datasheet[]="http://developer.intel.com/design/pentium4/datashts/24988703.pdf\n\thttp://developer.intel.com/design/pentium4/datashts/29864304.pdf";
16 static char p4_errata[]="http://developer.intel.com/design/pentium4/specupdt/249199.htm";
18 static char *intel_nameptr;
19 #define add_to_cpuname(x) intel_nameptr += snprintf(intel_nameptr, sizeof(x), "%s", x)
21 void Identify_Intel_family15(struct cpudata *cpu)
23 intel_nameptr = cpu->name;
26 case 0x0: /* Family 15 */
27 cpu->connector = CONN_SOCKET_423;
28 cpu->datasheet_url = strdup(p4_423_datasheet);
29 cpu->errata_url = strdup(p4_errata);
30 add_to_cpuname("Pentium 4");
31 switch (cpu->stepping) {
33 //SL4QD SL4SF = 1.3GHz
34 //SL4SG SL4SC = 1.4GHz
35 //SL4SH SL4TY = 1.5GHz
36 add_to_cpuname(" [B2]");
40 //SL4WS SL4X2 SL59U SL5N7 1.4GHz
41 //SL4WT SL4X3 SL59V SL5NB 1.5GHz
42 //SL4WU SL4X4 SL5US SL5UW 1.6GHz
43 //SL57W SL57V SL59X SL5N9 1.7GHz
44 //SL4WV SL4X5 SL5UT SL5UV 1.8GHz
45 add_to_cpuname(" [C1]");
51 cpu->connector = CONN_SOCKET_423;
52 add_to_cpuname("Pentium 4 (Willamette)");
53 cpu->datasheet_url = strdup(p4_423_datasheet);
54 cpu->errata_url = strdup(p4_errata);
55 switch (cpu->stepping) {
65 add_to_cpuname(" [C0]");
69 //SL5SX SL5TJ SL5UF SL62Y SL5TN 1.5GHz
70 //SL5VL SL5UL SL5VH SL5UJ 1.6GHz
71 //SL5SY SL5TK SL5UG SL62Z 1.7GHz
72 //SL5VM SL5VM SL5VJ SL5UK 1.8GHz
73 //SL5VN SL5WH SL5VK SL5WG 1.9GHz
74 //SL5SZ SL5TQ SL5TL 2GHz
75 add_to_cpuname(" [D0]");
82 add_to_cpuname(" [E0]");
87 cpu->connector = CONN_SOCKET_478;
88 cpu->datasheet_url = strdup(p4_478_datasheet);
89 cpu->errata_url = strdup(p4_errata);
92 add_to_cpuname("Celeron (P4 core)");
96 add_to_cpuname("Pentium 4 (Northwood)");
99 switch (cpu->stepping) {
109 add_to_cpuname(" [A0]");
113 //SL63X SL62P SL6BQ 1.8GHz
115 //SL5YS SL6BS SL5ZU 2.2GHz
116 //SL6B3 SL67Y 2.26GHz (533MHz FSB)
117 //SL6BT SL65R SL67R 2.4GHz (400MHz FSB)
118 //SL6B4 SL67Z 2.4GHz (533MHz FSB)
119 //SL6B5 SL6B2 2.53GHz (533MHz FSB)
120 add_to_cpuname(" [B0]");
124 //SL6Z3 2.4GHz (800FSB)
125 //SL6Z5 2.8GHz (800FSB)
126 /* P4 Extreme edition.*/
127 //SL7AA 3.2GHz (800FSB) 2MB L3 cache
128 //SL7CH 3.4GHz (800FSB) 2MB L3 cache
130 /* 400FSB B1 512K L2 */
137 add_to_cpuname(" [M0]");
144 add_to_cpuname(" [C0]");
147 //SL6HL SL6K6 2.8GHz (533MHz FSB)
149 //SL6GQ SL6S7 SL6E7 2GHz
150 //SL6GR SL6SB SL6EB 2.2GHz
151 //SL6DU SL6RY SL6EE 2.26GHz (533FSB)
152 //SL6EF SL6DV SL6S9 SL6RZ SL6E9 2.4GHz (533FSB)
153 //SL6SA 2.5GHz (400FSB)
154 //SL6EG SL6S2 SL6DW 2.53GHz (533FSB)
155 //SL6SB 2.6GHz (400FSB)
156 //SL6S3 SL6SK 2.66GHz (533FSB)
157 //SL6S4 SL6SL 2.8GHz (533FSB)
158 //SL6S5 SL6K7 SL6SM SL6JJ 3.06GHz (533FSB)
159 add_to_cpuname(" [C1]");
165 //SL6QR SL6PB 2.26GHz (533FSB)
167 //SL6QB SL6PC 2.4GHz (533FSB)
168 //SL6WF SL6WR 2.4GHz (800FSB)
170 //SL6Q9 SL6PD 2.53GHz (533FSB)
172 //SL6WH SL6WS 2.6GHz (800FSB)
173 //SL6QA SL6PE 2.66GHz (533FSB)
174 //SL6QB SL6PF 2.8GHz (533FSB)
175 //SL6WJ SL6WT 2.8GHz (800FSB)
176 //SL6WU SL6WK 3GHz (800FSB)
177 //SL6QC SL6PG 3.06GHz (533FSB)
178 //SL6WG SL6WE 3.2GHz (800FSB)
179 //SL793 3.4GHz (800FSB)
180 add_to_cpuname(" [D1]");
185 switch (cpu->stepping) {
188 sspec speed fsb l2 90nm
189 SL7D7 2.26GHz 533 512K
202 125 million transistors
206 add_to_cpuname("Pentium 4 (Prescott) [C0]");
243 add_to_cpuname("Pentium 4 (Prescott) [D0]");
249 add_to_cpuname("Pentium 4 ");
250 switch (cpu->stepping) {
304 add_to_cpuname("(Prescott) [E0]");
316 add_to_cpuname("(Prescott) [N0]");
326 add_to_cpuname("Extreme Edition [A0]");
329 add_to_cpuname("D (Foster)");
335 cpu->connector = CONN_SOCKET_603;
336 // cpu->datasheet_url = strdup(p4_478_datasheet);
337 // cpu->errata_url = strdup(p4_errata);
338 add_to_cpuname("Pentium 4 Xeon (Foster)");
341 add_to_cpuname("Unknown CPU");