Module Name:    src
Committed By:   rin
Date:           Wed Oct  5 02:56:14 UTC 2022

Modified Files:
        src/sys/arch/powerpc/ibm4xx: copyinstr.c copyoutstr.c

Log Message:
copy{in,out}str: As a tiny optimization, drop redundant mtpid.

No regression for ATF on 405. 403 seems to work fine.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/powerpc/ibm4xx/copyinstr.c \
    src/sys/arch/powerpc/ibm4xx/copyoutstr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/powerpc/ibm4xx/copyinstr.c
diff -u src/sys/arch/powerpc/ibm4xx/copyinstr.c:1.22 src/sys/arch/powerpc/ibm4xx/copyinstr.c:1.23
--- src/sys/arch/powerpc/ibm4xx/copyinstr.c:1.22	Tue Oct  4 14:08:30 2022
+++ src/sys/arch/powerpc/ibm4xx/copyinstr.c	Wed Oct  5 02:56:14 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: copyinstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $	*/
+/*	$NetBSD: copyinstr.c,v 1.23 2022/10/05 02:56:14 rin Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: copyinstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: copyinstr.c,v 1.23 2022/10/05 02:56:14 rin Exp $");
 
 #include <sys/param.h>
 #include <uvm/uvm_extern.h>
@@ -94,8 +94,7 @@ copyinstr(const void *uaddr, void *kaddr
 		"sync;"
 		"bdnzf	eq,1b;"			/* while(ctr-- && !zero) */
 
-		MTPID(%[pid])			/* Restore PID, MSR */
-		"mtmsr	%[msr];"
+		"mtmsr	%[msr];"		/* Restore MSR */
 		"isync;"
 		"mfctr	%[resid];"		/* Restore resid */
 
Index: src/sys/arch/powerpc/ibm4xx/copyoutstr.c
diff -u src/sys/arch/powerpc/ibm4xx/copyoutstr.c:1.22 src/sys/arch/powerpc/ibm4xx/copyoutstr.c:1.23
--- src/sys/arch/powerpc/ibm4xx/copyoutstr.c:1.22	Tue Oct  4 14:08:30 2022
+++ src/sys/arch/powerpc/ibm4xx/copyoutstr.c	Wed Oct  5 02:56:14 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: copyoutstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $	*/
+/*	$NetBSD: copyoutstr.c,v 1.23 2022/10/05 02:56:14 rin Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: copyoutstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: copyoutstr.c,v 1.23 2022/10/05 02:56:14 rin Exp $");
 
 #include <sys/param.h>
 #include <uvm/uvm_extern.h>
@@ -80,9 +80,7 @@ copyoutstr(const void *kaddr, void *uadd
 		"isync;"
 		MFPID(%[pid])			/* Save old PID */
 
-	"1:"	MTPID(%[pid])
-		"isync;"
-		"lbz	%[tmp],0(%[kaddr]);"	/* Load kernel byte */
+	"1:"	"lbz	%[tmp],0(%[kaddr]);"	/* Load kernel byte */
 		"addi	%[kaddr],%[kaddr],1;"
 		"sync;"
 
@@ -92,10 +90,12 @@ copyoutstr(const void *kaddr, void *uadd
 		"addi	%[uaddr],%[uaddr],1;"
 		"or.	%[tmp],%[tmp],%[tmp];"
 		"sync;"
+
+		MTPID(%[pid])
+		"isync;"
 		"bdnzf	eq,1b;"			/* while(ctr-- && !zero) */
 
-		MTPID(%[pid])			/* Restore PID, MSR */
-		"mtmsr	%[msr];"
+		"mtmsr	%[msr];"		/* Restore MSR */
 		"isync;"
 		"mfctr	%[resid];"		/* Restore resid */
 

Reply via email to