Revert syscall interrupt re-enable of previous revision:
introduces a race in trap logging. Reported by Michael Hitch.
This commit is contained in:
parent
85f80dd2c7
commit
cfc1040a1f
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.75 1997/08/09 06:06:37 jonathan Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.76 1997/08/10 01:14:49 jonathan Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -477,10 +477,6 @@ syscall(status, cause, opc, frame)
|
|||
size_t code, numsys, nsaved, argsiz;
|
||||
struct sysent *callp;
|
||||
|
||||
/* XXX: why not in locore glue? */
|
||||
if (status & ((CPUISMIPS3) ? MIPS_SR_INT_IE : MIPS1_SR_INT_ENA_PREV))
|
||||
splx(MIPS_SR_INT_IE | (status & MIPS_HARD_INT_MASK));
|
||||
|
||||
#ifdef DEBUG
|
||||
trp->status = status;
|
||||
trp->cause = cause;
|
||||
|
@ -495,6 +491,9 @@ syscall(status, cause, opc, frame)
|
|||
|
||||
cnt.v_syscall++;
|
||||
|
||||
if (status & ((CPUISMIPS3) ? MIPS_SR_INT_IE : MIPS1_SR_INT_ENA_PREV))
|
||||
splx(MIPS_SR_INT_IE | (status & MIPS_HARD_INT_MASK));
|
||||
|
||||
sticks = p->p_sticks;
|
||||
if (DELAYBRANCH(cause))
|
||||
frame->f_regs[PC] = MachEmulateBranch(frame->f_regs, opc, 0, 0);
|
||||
|
|
Loading…
Reference in New Issue