Subject: Re: -current kernels and core dumps
To: None <port-mips@netbsd.org>
From: Simon Burge <simonb@netbsd.org>
List: port-mips
Date: 10/24/1999 19:05:56
To follow up on my own message:

> Has anyone else tried a -current kernel recently?  I've got a kernel
> from last Friday night's (October 1) sources, and I ended up with a few
> core files in / after two reboots:
> 
> 	mona:/ 15> ls -lTtr *.core 
> 	-rw-------  1 root  wheel  147956 Oct  4 13:19:58 1999 awk.core
> 		Segmentation fault in sbrk()
> 	-rw-------  1 root  wheel   16804 Oct  4 13:24:00 1999 grep.core
> 		Illegal instruction (Hit heuristic-fence-post without finding)
> 	-rw-------  1 root  wheel  119284 Oct  4 13:24:37 1999 getty.core
> 		Illegal instruction in uname()
> 	-rw-------  1 root  wheel  160292 Oct  4 13:24:38 1999 portmap.core
> 		Segmentation fault in readtcp()
> 	-rw-------  1 root  wheel  172596 Oct  4 13:24:38 1999 inetd.core
> 		Segmentation fault (Hit beginning of text section without finding)
> 
> Seems pretty random - I'm back to my September 8 kernel with no
> problems...

I've done a bit of digging, and if I revert this part of the mips jumbo
patch from September 25, all is ok again on my R4400 5000/260:

	Index: mips/pmap.c
	===================================================================
	RCS file: /cvsroot/syssrc/sys/arch/mips/mips/pmap.c,v
	retrieving revision 1.70
	retrieving revision 1.71
	diff -p -u -w -r1.70 -r1.71
	--- pmap.c      1999/09/12 01:17:12     1.70
	+++ pmap.c      1999/09/25 00:00:39     1.71
	@@ -1197,13 +1197,8 @@ pmap_enter(pmap, va, pa, prot, wired, ac
			/* enter entries into kernel pmap */
			pte = kvtopte(va);
	 
	-               /*
	-                * XXX more thought... what does ROPAGE mean here?
	-                * is it correc to set all the ROPAGE bits for mips3,
	-                * but just the valid (and not read-only) bit on mips1?
	-                */
			if (CPUISMIPS3)
	-                       npte |= vad_to_pfn(pa) | MIPS3_PG_ROPAGE | MIPS3_PG_G;
	+                       npte |= vad_to_pfn(pa) | MIPS3_PG_G;
			else
				npte |= vad_to_pfn(pa) | MIPS1_PG_V | MIPS1_PG_G;
	 


Shin - was this needed for hpcmips to work?

Simon.