diff options
-rw-r--r-- | sys/arch/mips64/mips64/trap.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/arch/mips64/mips64/trap.c b/sys/arch/mips64/mips64/trap.c index 8e0733c2ecd..fd1de398ecb 100644 --- a/sys/arch/mips64/mips64/trap.c +++ b/sys/arch/mips64/mips64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.54 2010/01/01 15:04:00 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.55 2010/01/07 07:36:51 syuu Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -209,12 +209,14 @@ trap(trapframe) } /* - * Enable hardware interrupts if they were on before the trap. + * Enable hardware interrupts if they were on before the trap; + * enable IPI interrupts only otherwise. */ - if (trapframe->sr & SR_INT_ENAB) { - if (type != T_BREAK) { + if (type != T_BREAK) { + if (ISSET(trapframe->sr, SR_INT_ENAB)) enableintr(); - } + else + ENABLEIPI(); } switch (type) { |