Subject: port-i386/10434: I386 code problem on Cyrix MII
To: None <gnats-bugs@gnats.netbsd.org>
From: None <jam@pobox.com>
List: netbsd-bugs
Date: 06/24/2000 07:07:13
>Number:         10434
>Category:       port-i386
>Synopsis:       Current kernel panics rapidly on MII
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jun 24 07:08:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Kazushi (Jam) Marukawa
>Release:        Sat Jun 24 08:55:21 CDT 2000
>Organization:
none
>Environment:
	Cyrix MII PR300
System: NetBSD sou.nerv.org 1.4ZD NetBSD 1.4ZD (sou) #4: Sat Jun 17 17:08:14 CDT 2000 jam@sou.nerv.org:/usr/src/sys/arch/i386/compile/sou i386


>Description:
	Kernel panics so often.
>How-To-Repeat:
	Compile big project.  For example, compile whole NetBSD userland.
>Fix:
	Jason's changes on pmap.h at 1.44 and pmap.c at 1.87 and 1.91
	don't work correctly on MII and other Cyrix machines.  I need
	following patch to make workable kernel.  Could somebody revert
	those changes like Mr. fvdl did on pmap.c at 1.93?

	Thanks, and sorry for not fixing the problem, but just sending
	reverting request.

Index: include/pmap.h
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/include/pmap.h,v
retrieving revision 1.45
diff -u -r1.45 pmap.h
--- pmap.h	2000/06/15 13:35:34	1.45
+++ pmap.h	2000/06/24 13:59:49
@@ -414,7 +414,9 @@
  * Do idle page zero'ing uncached to avoid polluting the cache.
  */
 void		pmap_zero_page_uncached __P((paddr_t));
+#if 0
 #define	PMAP_PAGEIDLEZERO(pa)	pmap_zero_page_uncached((pa))
+#endif
 
 /*
  * inline functions
Index: i386/pmap.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/i386/pmap.c,v
retrieving revision 1.94
diff -u -r1.94 pmap.c
--- pmap.c	2000/06/15 13:35:27	1.94
+++ pmap.c	2000/06/24 13:59:50
@@ -3651,7 +3651,9 @@
 
 			if (uvm_page_physget(&ptaddr) == FALSE)
 				panic("pmap_growkernel: out of memory");
+#if 0
 			pmap_zero_page(ptaddr);
+#endif
 
 			kpm->pm_pdir[PDSLOT_KERN + nkpde] =
 				ptaddr | PG_RW | PG_V;
>Release-Note:
>Audit-Trail:
>Unformatted: