Subject: port-powerpc/4052: vm_fault miss in user mode
To: None <gnats-bugs@gnats.netbsd.org>
From: None <sakamoto@cec.co.jp>
List: netbsd-bugs
Date: 08/28/1997 10:50:15
>Number:         4052
>Category:       port-powerpc
>Synopsis:       port-powerpc locore.S set dsisr register bad value
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 27 19:05:02 1997
>Last-Modified:
>Originator:     Kazuki Sakamoto
>Organization:
Computer Network System Department
    CHUO ELECTRONICS CO.,LTD.
>Release:        970825 <NetBSD-current source date>
>Environment:
	
System: NetBSD saturn 1.2G NetBSD 1.2G (SATURN) #7: Wed Aug 6 21:33:14 JST 1997 sakamoto@saturn:/usr/src/sys/arch/i386/compile/SATURN i386


>Description:
	port-powerpc locore.S set dsisr register bad value in tlbdlmiss.
	
>How-To-Repeat:
	Look at locore.S
	
>Fix:
	I changed at the time of tlbdlmiss not to set dsisr<6>(store flag).

*** locore.S.orig	Thu Apr 17 20:20:02 1997
--- locore.S	Thu Aug 28 09:51:36 1997
***************
*** 687,693 ****
  	b	1b
  5:	/* not found anywhere */
  	mfsrr1	3
! 	lis	1,0x42000000@h		/* set dsisr<1> to flag pte not found */
  	mtctr	0			/* restore counter */
  	andi.	2,3,0xffff		/* clean upper srr1 */
  	mtsrr1	2
--- 687,693 ----
  	b	1b
  5:	/* not found anywhere */
  	mfsrr1	3
! 	lis	1,0x40000000@h		/* set dsisr<1> to flag pte not found */
  	mtctr	0			/* restore counter */
  	andi.	2,3,0xffff		/* clean upper srr1 */
  	mtsrr1	2
	
>Audit-Trail:
>Unformatted: