Module Name:    src
Committed By:   rin
Date:           Tue Oct  4 14:08:30 UTC 2022

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

Log Message:
copy{in,out}str: Consistently use tmp as scratch register. NFC.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 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.21 src/sys/arch/powerpc/ibm4xx/copyinstr.c:1.22
--- src/sys/arch/powerpc/ibm4xx/copyinstr.c:1.21	Tue Oct  4 14:02:46 2022
+++ src/sys/arch/powerpc/ibm4xx/copyinstr.c	Tue Oct  4 14:08:30 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: copyinstr.c,v 1.21 2022/10/04 14:02:46 rin Exp $	*/
+/*	$NetBSD: copyinstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: copyinstr.c,v 1.21 2022/10/04 14:02:46 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: copyinstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $");
 
 #include <sys/param.h>
 #include <uvm/uvm_extern.h>
@@ -48,7 +48,7 @@ copyinstr(const void *uaddr, void *kaddr
 {
 	struct pmap *pm = curproc->p_vmspace->vm_map.pmap;
 	size_t resid;
-	int rv, msr, pid, data, ctx;
+	int rv, msr, pid, tmp, ctx;
 	struct faultbuf env;
 
 	if (__predict_false(len == 0)) {
@@ -74,23 +74,23 @@ copyinstr(const void *uaddr, void *kaddr
 	__asm volatile(
 		"mtctr	%[resid];"		/* Set up counter */
 		"mfmsr	%[msr];"		/* Save MSR */
-		"li	%[pid],0x20;"		/* Disable IMMU */
-		"andc	%[pid],%[msr],%[pid];"
-		"mtmsr	%[pid];"
+		"li	%[tmp],0x20;"		/* Disable IMMU */
+		"andc	%[tmp],%[msr],%[tmp];"
+		"mtmsr	%[tmp];"
 		"isync;"
 		MFPID(%[pid])			/* Save old PID */
 
 	"1:"	MTPID(%[ctx])			/* Load user ctx */
 		"isync;"
-		"lbz	%[data],0(%[uaddr]);"	/* Load byte */
+		"lbz	%[tmp],0(%[uaddr]);"	/* Load byte */
 		"addi	%[uaddr],%[uaddr],1;"
 		"sync;"
 
 		MTPID(%[pid])
 		"isync;"
-		"stb	%[data],0(%[kaddr]);"	/* Store kernel byte */
+		"stb	%[tmp],0(%[kaddr]);"	/* Store kernel byte */
 		"addi	%[kaddr],%[kaddr],1;"
-		"or.	%[data],%[data],%[data];"
+		"or.	%[tmp],%[tmp],%[tmp];"
 		"sync;"
 		"bdnzf	eq,1b;"			/* while(ctr-- && !zero) */
 
@@ -99,7 +99,7 @@ copyinstr(const void *uaddr, void *kaddr
 		"isync;"
 		"mfctr	%[resid];"		/* Restore resid */
 
-		: [msr] "=&r" (msr), [pid] "=&r" (pid), [data] "=&r" (data),
+		: [msr] "=&r" (msr), [pid] "=&r" (pid), [tmp] "=&r" (tmp),
 		  [resid] "+r" (resid)
 		: [ctx] "r" (ctx), [uaddr] "b" (uaddr), [kaddr] "b" (kaddr)
 		: "cr0", "ctr");
@@ -107,7 +107,7 @@ copyinstr(const void *uaddr, void *kaddr
 	curpcb->pcb_onfault = NULL;
 	if (done)
 		*done = len - resid;
-	if (resid == 0 && (char)data != '\0')
+	if (resid == 0 && (char)tmp != '\0')
 		return ENAMETOOLONG;
 	else
 		return 0;
Index: src/sys/arch/powerpc/ibm4xx/copyoutstr.c
diff -u src/sys/arch/powerpc/ibm4xx/copyoutstr.c:1.21 src/sys/arch/powerpc/ibm4xx/copyoutstr.c:1.22
--- src/sys/arch/powerpc/ibm4xx/copyoutstr.c:1.21	Tue Oct  4 14:02:46 2022
+++ src/sys/arch/powerpc/ibm4xx/copyoutstr.c	Tue Oct  4 14:08:30 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: copyoutstr.c,v 1.21 2022/10/04 14:02:46 rin Exp $	*/
+/*	$NetBSD: copyoutstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: copyoutstr.c,v 1.21 2022/10/04 14:02:46 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: copyoutstr.c,v 1.22 2022/10/04 14:08:30 rin Exp $");
 
 #include <sys/param.h>
 #include <uvm/uvm_extern.h>
@@ -48,7 +48,7 @@ copyoutstr(const void *kaddr, void *uadd
 {
 	struct pmap *pm = curproc->p_vmspace->vm_map.pmap;
 	size_t resid;
-	int rv, msr, pid, data, ctx;
+	int rv, msr, pid, tmp, ctx;
 	struct faultbuf env;
 
 	if (__predict_false(len == 0)) {
@@ -74,23 +74,23 @@ copyoutstr(const void *kaddr, void *uadd
 	__asm volatile(
 		"mtctr	%[resid];"		/* Set up counter */
 		"mfmsr	%[msr];"		/* Save MSR */
-		"li	%[pid],0x20;"		/* Disable IMMU */
-		"andc	%[pid],%[msr],%[pid];"
-		"mtmsr	%[pid];"
+		"li	%[tmp],0x20;"		/* Disable IMMU */
+		"andc	%[tmp],%[msr],%[tmp];"
+		"mtmsr	%[tmp];"
 		"isync;"
 		MFPID(%[pid])			/* Save old PID */
 
 	"1:"	MTPID(%[pid])
 		"isync;"
-		"lbz	%[data],0(%[kaddr]);"	/* Load kernel byte */
+		"lbz	%[tmp],0(%[kaddr]);"	/* Load kernel byte */
 		"addi	%[kaddr],%[kaddr],1;"
 		"sync;"
 
 		MTPID(%[ctx])			/* Load user ctx */
 		"isync;"
-		"stb	%[data],0(%[uaddr]);"	/* Store byte */
+		"stb	%[tmp],0(%[uaddr]);"	/* Store byte */
 		"addi	%[uaddr],%[uaddr],1;"
-		"or.	%[data],%[data],%[data];"
+		"or.	%[tmp],%[tmp],%[tmp];"
 		"sync;"
 		"bdnzf	eq,1b;"			/* while(ctr-- && !zero) */
 
@@ -99,7 +99,7 @@ copyoutstr(const void *kaddr, void *uadd
 		"isync;"
 		"mfctr	%[resid];"		/* Restore resid */
 
-		: [msr] "=&r" (msr), [pid] "=&r" (pid), [data] "=&r" (data),
+		: [msr] "=&r" (msr), [pid] "=&r" (pid), [tmp] "=&r" (tmp),
 		  [resid] "+r" (resid)
 		: [ctx] "r" (ctx), [uaddr] "b" (uaddr), [kaddr] "b" (kaddr)
 		: "cr0", "ctr");
@@ -107,7 +107,7 @@ copyoutstr(const void *kaddr, void *uadd
 	curpcb->pcb_onfault = NULL;
 	if (done)
 		*done = len - resid;
-	if (resid == 0 && (char)data != '\0')
+	if (resid == 0 && (char)tmp != '\0')
 		return ENAMETOOLONG;
 	else
 		return 0;

Reply via email to