Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/arm When copyin/out or copyin/outstr catches a ...



details:   https://anonhg.NetBSD.org/src/rev/dd6ac93c7794
branches:  trunk
changeset: 535236:dd6ac93c7794
user:      bjh21 <bjh21%NetBSD.org@localhost>
date:      Mon Aug 12 20:34:47 2002 +0000

description:
When copyin/out or copyin/outstr catches a pagefault, have it return the
correct error code (provided by the fault handler in R0) rather than always
returning EFAULT.

diffstat:

 sys/arch/arm/arm/bcopyinout.S |  4 +---
 sys/arch/arm/arm/copystr.S    |  7 +++----
 2 files changed, 4 insertions(+), 7 deletions(-)

diffs (40 lines):

diff -r 3be014ed710a -r dd6ac93c7794 sys/arch/arm/arm/bcopyinout.S
--- a/sys/arch/arm/arm/bcopyinout.S     Mon Aug 12 20:19:04 2002 +0000
+++ b/sys/arch/arm/arm/bcopyinout.S     Mon Aug 12 20:34:47 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: bcopyinout.S,v 1.1 2002/08/11 21:19:12 bjh21 Exp $     */
+/*     $NetBSD: bcopyinout.S,v 1.2 2002/08/12 20:34:47 bjh21 Exp $     */
 
 /*
  * Copyright (c) 2002 Wasabi Systems, Inc.
@@ -269,8 +269,6 @@
        mov     pc, lr
 
 Lcopyfault:
-       mov     r0, #EFAULT
-
        str     r5, [r4, #PCB_ONFAULT]
        RESTORE_REGS
 
diff -r 3be014ed710a -r dd6ac93c7794 sys/arch/arm/arm/copystr.S
--- a/sys/arch/arm/arm/copystr.S        Mon Aug 12 20:19:04 2002 +0000
+++ b/sys/arch/arm/arm/copystr.S        Mon Aug 12 20:34:47 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: copystr.S,v 1.1 2002/08/11 23:17:25 bjh21 Exp $        */
+/*     $NetBSD: copystr.S,v 1.2 2002/08/12 20:34:47 bjh21 Exp $        */
 
 /*
  * Copyright (c) 1995 Mark Brinicombe.
@@ -184,10 +184,9 @@
 
 /* A fault occurred during the copy */
 Lcopystrfault:
-       mov     r0, #0x00000000
-       str     r0, [r4, #PCB_ONFAULT]
+       mov     r1, #0x00000000
+       str     r1, [r4, #PCB_ONFAULT]
        RESTORE_REGS
-       mov     r0, #EFAULT
        mov     pc, lr
 
 #ifdef DIAGNOSTIC



Home | Main Index | Thread Index | Old Index