Re: Removing options MIPS3 cause DS5000 to loop during boot

Izumi Tsutsui <[email protected]> Sat, 30 Apr 2011 02:19:04 +0900
Newsgroups gmane.os.netbsd.ports.pmax
Message-ID <[email protected]>
> If I further remove MIPS3 support:
 :
> Can anyone explain this? I'll be happy to test patches to resolve this.

I confirmed that it (no MIPS3 kernel doesn't boot on MIPS1)
also happens on NWS-3470D (R3000 newsmips) and
I find one obvious botch in pmap.c.

Could you try this patch?

Index: mips/pmap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/mips/mips/pmap.c,v
retrieving revision 1.198
diff -u -p -r1.198 pmap.c
--- mips/pmap.c	15 Mar 2011 07:31:33 -0000	1.198
+++ mips/pmap.c	29 Apr 2011 17:10:53 -0000
@@ -2345,6 +2345,7 @@ pmap_remove_pv(pmap_t pmap, vaddr_t va, 
 			pmap_page_cache(pg, true);
 	}
 #endif
+#endif	/* MIPS3_PLUS */
 
 	pmap_check_pvlist(md);
 	PG_MD_PVLIST_UNLOCK(md);
@@ -2371,6 +2372,7 @@ pmap_remove_pv(pmap_t pmap, vaddr_t va, 
 			PMAP_COUNT(exec_synced_remove);
 		}
 	}
+#ifdef MIPS3_PLUS	/* XXX mmu XXX */
 	if (MIPS_HAS_R4K_MMU && last)	/* XXX why */
 		mips_dcache_wbinv_range_index(va, PAGE_SIZE);
 #endif	/* MIPS3_PLUS */


---

(though I have not tried options DIAGNOSTIC one)

---
Izumi Tsutsui