summaryrefslogtreecommitdiff
path: root/sys/arch/i386/i386/machdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386/i386/machdep.c')
-rw-r--r--sys/arch/i386/i386/machdep.c57
1 files changed, 50 insertions, 7 deletions
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c
index 188383cc884..86a6155977a 100644
--- a/sys/arch/i386/i386/machdep.c
+++ b/sys/arch/i386/i386/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.141 2001/01/05 04:27:23 marc Exp $ */
+/* $OpenBSD: machdep.c,v 1.142 2001/01/23 21:59:18 deraadt Exp $ */
/* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */
/*-
@@ -719,6 +719,50 @@ struct cpu_cpuid_nameclass i386_cpuid_cpus[] = {
"Pentium Pro, II or III" /* Default */
},
intel686_cpu_setup
+ },
+ /* Family 7 */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family 8 */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family 9 */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family A */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family B */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family C */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family D */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family E */
+ {
+ CPUCLASS_686,
+ } ,
+ /* Family F */
+ {
+ CPUCLASS_686,
+ {
+ "Pentium 4", 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ "Pentium 4" /* Default */
+ },
+ intel686_cpu_setup
} }
},
{
@@ -1123,8 +1167,8 @@ identifycpu()
i = family - CPU_MINFAMILY;
/* Special hack for the PentiumII/III series. */
- if ((vendor == CPUVENDOR_INTEL) && (family == 6)
- && ((model == 5) || (model == 7))) {
+ if (vendor == CPUVENDOR_INTEL && family == 6 &&
+ (model == 5 || model == 7)) {
name = intel686_cpu_name(model);
} else
name = cpup->cpu_family[i].cpu_models[model];
@@ -1137,12 +1181,11 @@ identifycpu()
/* Find the amount of on-chip L2 cache. Add support for AMD K6-3...*/
cachesize = -1;
- if ((vendor == CPUVENDOR_INTEL) && (cpuid_level >= 2)) {
+ if (vendor == CPUVENDOR_INTEL && cpuid_level >= 2 && family < 0xf) {
int intel_cachetable[] = { 0, 128, 256, 512, 1024, 2048 };
- if ((cpu_cache_edx & 0xFF) >= 0x40
- && (cpu_cache_edx & 0xFF) <= 0x45) {
+ if ((cpu_cache_edx & 0xFF) >= 0x40 &&
+ (cpu_cache_edx & 0xFF) <= 0x45)
cachesize = intel_cachetable[(cpu_cache_edx & 0xFF) - 0x40];
- }
}
if (cachesize > -1) {