Synchronize with sys/i386/i386/trap.c revision 1.84 (handle

copyin/out/etc code).
This commit is contained in:
KATO Takenori 1996-12-19 08:27:33 +00:00
parent a413ea0d8a
commit ed933d0050
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=20669

View File

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
* $Id: trap.c,v 1.7 1996/09/12 11:09:36 asami Exp $
* $Id: trap.c,v 1.8 1996/10/23 07:25:03 asami Exp $
*/
/*
@ -378,10 +378,10 @@ trap(frame)
doreti_popl_ds_fault);
MAYBE_DORETI_FAULT(doreti_popl_es,
doreti_popl_es_fault);
}
if (curpcb && curpcb->pcb_onfault) {
frame.tf_eip = (int)curpcb->pcb_onfault;
return;
if (curpcb && curpcb->pcb_onfault) {
frame.tf_eip = (int)curpcb->pcb_onfault;
return;
}
}
break;
@ -532,7 +532,8 @@ trap_pfault(frame, usermode)
if (p == NULL ||
(!usermode && va < VM_MAXUSER_ADDRESS &&
(curpcb == NULL || curpcb->pcb_onfault == NULL))) {
(intr_nesting_level != 0 || curpcb == NULL ||
curpcb->pcb_onfault == NULL))) {
trap_fatal(frame);
return (-1);
}
@ -589,7 +590,7 @@ trap_pfault(frame, usermode)
return (0);
nogo:
if (!usermode) {
if (curpcb && curpcb->pcb_onfault) {
if (intr_nesting_level == 0 && curpcb && curpcb->pcb_onfault) {
frame->tf_eip = (int)curpcb->pcb_onfault;
return (0);
}
@ -695,7 +696,7 @@ trap_pfault(frame, usermode)
return (0);
nogo:
if (!usermode) {
if (curpcb && curpcb->pcb_onfault) {
if (intr_nesting_level == 0 && curpcb && curpcb->pcb_onfault) {
frame->tf_eip = (int)curpcb->pcb_onfault;
return (0);
}