Date: 09 Jul 1998 12:11:13 +0200 From: smoergrd@oslo.geco-prakla.slb.com (Dag-Erling Coidan Smørgrav) To: hackers@FreeBSD.ORG Subject: kern/7201 Message-ID: <rx4iul7z64e.fsf@oslo.geco-prakla.slb.com>
next in thread | raw e-mail | index | archive | help
For those of you who follow -bugs, I have the following patch for kern/7201 lying in my freefall account waiting to be committed. It compiles cleanly on my laptop, but I don't have a PII or PPro box handy for testing right now, so if any of you have time to test it for me I'd be very grateful. If not, I can get my hands on both kinds of boxes by the end of the week, so it's not life or death. For the uninitiated, it fixes CPU initialization and some other stuff I broke when I added identification of Pentium II processors, since the old code didn't anticipate the appearance of additional models in the 686 family. A small change to LINT is also necessary for documentation purposes, but it doesn't affect the code so I left it out. Index: initcpu.c =================================================================== RCS file: /c/ncvs/src/sys/i386/i386/initcpu.c,v retrieving revision 1.13 diff -u -r1.13 initcpu.c --- initcpu.c 1998/05/16 14:38:10 1.13 +++ initcpu.c 1998/07/09 09:53:38 @@ -483,6 +483,8 @@ init_6x86MX(); break; case CPU_686: + case CPU_PII: + /* The PPro and PII are two submodels of the 686 class. */ if (strcmp(cpu_vendor, "GenuineIntel") == 0 && (cpu_id & 0xff0) == 0x610) init_ppro(); Index: pmap.c =================================================================== RCS file: /c/ncvs/src/sys/i386/i386/pmap.c,v retrieving revision 1.202 diff -u -r1.202 pmap.c --- pmap.c 1998/05/21 07:47:34 1.202 +++ pmap.c 1998/07/09 09:59:20 @@ -458,7 +458,7 @@ { int i; - if (cpu == CPU_686) { + if (cpu_class == CPUCLASS_686) { for(i = 0; i < NPPROVMTRR; i++) { PPro_vmtrr[i].base = rdmsr(PPRO_VMTRRphysBase0 + i * 2); PPro_vmtrr[i].mask = rdmsr(PPRO_VMTRRphysMask0 + i * 2); @@ -471,7 +471,7 @@ { int i; - if (cpu == CPU_686) { + if (cpu_class == CPUCLASS_686) { wbinvd(); for(i = 0; i < NPPROVMTRR; i++) { wrmsr(PPRO_VMTRRphysBase0 + i * 2, PPro_vmtrr[i].base); @@ -483,7 +483,7 @@ void pmap_setvidram(void) { - if (cpu == CPU_686) { + if (cpu_class == CPUCLASS_686) { wbinvd(); /* * Set memory between 0-640K to be WB @@ -506,7 +506,7 @@ unsigned long long mask; return; - if (cpu != CPU_686) + if (cpu_class != CPUCLASS_686) return; free = -1; @@ -2799,7 +2799,7 @@ cpu_invlpg(&prv_CPAGE3); #if defined(I686_CPU) - if (cpu == CPU_686) + if (cpu_class == CPUCLASS_686) i686_pagezero(&prv_CPAGE3); else #endif @@ -2820,7 +2820,7 @@ } #if defined(I686_CPU) - if (cpu == CPU_686) + if (cpu_class == CPUCLASS_686) i686_pagezero(CADDR2); else #endif -- Dag-Erling Smørgrav - smoergrd@oslo.geco-prakla.slb.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?rx4iul7z64e.fsf>