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.
This commit is contained in:
bjh21 2002-08-12 20:34:47 +00:00
parent 664bea62e3
commit 2e026f9f8c
2 changed files with 4 additions and 7 deletions

View File

@ -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 @@ Liout:
mov pc, lr
Lcopyfault:
mov r0, #EFAULT
str r5, [r4, #PCB_ONFAULT]
RESTORE_REGS

View File

@ -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 @@ ENTRY(copyoutstr)
/* 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