Fix selector arg to match the (missing) prototype for sdtossd().

Cosmetic.

Return from trap() if trap_fatal() returns.  trap_fatal() isn't
fatal if you have ddb.  Returning from trap() is usually the right
thing to do and much better than falling through.
This commit is contained in:
Bruce Evans 1994-10-30 20:25:21 +00:00
parent 6d520d66e4
commit ab4bc4b293
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=4014
3 changed files with 21 additions and 6 deletions

View file

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
* $Id: trap.c,v 1.39 1994/10/11 22:37:14 sos Exp $
* $Id: trap.c,v 1.40 1994/10/21 01:18:38 wollman Exp $
*/
/*
@ -214,6 +214,8 @@ trap(frame)
case T_PAGEFLT: /* page fault */
i = trap_pfault(&frame, TRUE);
if (i == -1)
return;
if (i == 0)
goto out;
@ -271,6 +273,7 @@ trap(frame)
default:
trap_fatal(&frame);
return;
}
} else {
/* kernel trap */
@ -316,6 +319,7 @@ trap(frame)
}
trap_fatal(&frame);
return;
}
trapsignal(p, i, ucode);
@ -449,6 +453,7 @@ trap_pfault(frame, usermode)
return (0);
}
trap_fatal(frame);
return (-1);
}
/* kludge to pass faulting virtual address to sendsig */
@ -467,7 +472,7 @@ trap_fatal(frame)
code = frame->tf_err;
type = frame->tf_trapno;
eva = rcr2();
sdtossd(gdt + IDXSEL(frame->tf_cs & 0xffff), &softseg);
sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)].sd, &softseg);
if (type <= MAX_TRAP_MSG)
printf("\n\nFatal trap %d: %s while in %s mode\n",

View file

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
* $Id: trap.c,v 1.39 1994/10/11 22:37:14 sos Exp $
* $Id: trap.c,v 1.40 1994/10/21 01:18:38 wollman Exp $
*/
/*
@ -214,6 +214,8 @@ trap(frame)
case T_PAGEFLT: /* page fault */
i = trap_pfault(&frame, TRUE);
if (i == -1)
return;
if (i == 0)
goto out;
@ -271,6 +273,7 @@ trap(frame)
default:
trap_fatal(&frame);
return;
}
} else {
/* kernel trap */
@ -316,6 +319,7 @@ trap(frame)
}
trap_fatal(&frame);
return;
}
trapsignal(p, i, ucode);
@ -449,6 +453,7 @@ trap_pfault(frame, usermode)
return (0);
}
trap_fatal(frame);
return (-1);
}
/* kludge to pass faulting virtual address to sendsig */
@ -467,7 +472,7 @@ trap_fatal(frame)
code = frame->tf_err;
type = frame->tf_trapno;
eva = rcr2();
sdtossd(gdt + IDXSEL(frame->tf_cs & 0xffff), &softseg);
sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)].sd, &softseg);
if (type <= MAX_TRAP_MSG)
printf("\n\nFatal trap %d: %s while in %s mode\n",

View file

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
* $Id: trap.c,v 1.39 1994/10/11 22:37:14 sos Exp $
* $Id: trap.c,v 1.40 1994/10/21 01:18:38 wollman Exp $
*/
/*
@ -214,6 +214,8 @@ trap(frame)
case T_PAGEFLT: /* page fault */
i = trap_pfault(&frame, TRUE);
if (i == -1)
return;
if (i == 0)
goto out;
@ -271,6 +273,7 @@ trap(frame)
default:
trap_fatal(&frame);
return;
}
} else {
/* kernel trap */
@ -316,6 +319,7 @@ trap(frame)
}
trap_fatal(&frame);
return;
}
trapsignal(p, i, ucode);
@ -449,6 +453,7 @@ trap_pfault(frame, usermode)
return (0);
}
trap_fatal(frame);
return (-1);
}
/* kludge to pass faulting virtual address to sendsig */
@ -467,7 +472,7 @@ trap_fatal(frame)
code = frame->tf_err;
type = frame->tf_trapno;
eva = rcr2();
sdtossd(gdt + IDXSEL(frame->tf_cs & 0xffff), &softseg);
sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)].sd, &softseg);
if (type <= MAX_TRAP_MSG)
printf("\n\nFatal trap %d: %s while in %s mode\n",