Index: pmap.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/pmap.c,v retrieving revision 1.376 diff -u -r1.376 pmap.c --- pmap.c 3 Dec 2002 04:00:42 -0000 1.376 +++ pmap.c 11 Dec 2002 06:35:49 -0000 @@ -261,6 +261,13 @@ { vm_offset_t newaddr = addr; +#ifdef I686_CPU + /* Deal with un-resolved Pentium4 issues */ + if (cpu_class == CPUCLASS_686 && + strcmp(cpu_vendor, "GenuineIntel") == 0 && + (cpu_id & 0xf00) == 0xf00) + return newaddr; +#endif #ifndef DISABLE_PSE if (cpu_feature & CPUID_PSE) newaddr = (addr + (NBPDR - 1)) & ~(NBPDR - 1); @@ -369,6 +376,13 @@ if (cpu_feature & CPUID_PGE) pgeflag = PG_G; #endif +#ifdef I686_CPU + /* Deal with un-resolved Pentium4 issues */ + if (cpu_class == CPUCLASS_686 && + strcmp(cpu_vendor, "GenuineIntel") == 0 && + (cpu_id & 0xf00) == 0xf00) + pgeflag = 0; +#endif /* * Initialize the 4MB page size flag @@ -381,12 +395,22 @@ pdir4mb = 0; #ifndef DISABLE_PSE - if (cpu_feature & CPUID_PSE) { + if (cpu_feature & CPUID_PSE) + pseflag = PG_PS; +#endif +#ifdef I686_CPU + /* Deal with un-resolved Pentium4 issues */ + if (cpu_class == CPUCLASS_686 && + strcmp(cpu_vendor, "GenuineIntel") == 0 && + (cpu_id & 0xf00) == 0xf00) + pseflag = 0; +#endif +#ifndef DISABLE_PSE + if (pseflag) { pd_entry_t ptditmp; /* * Note that we have enabled PSE mode */ - pseflag = PG_PS; ptditmp = *(PTmap + i386_btop(KERNBASE)); ptditmp &= ~(NBPDR - 1); ptditmp |= PG_V | PG_RW | PG_PS | PG_U | pgeflag;