Skip site navigation (1)Skip section navigation (2)
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>