diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2002-03-08 20:33:44 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2002-03-08 20:33:44 +0000 |
commit | fb638376f535944b9d9c73aae54f447556a65b02 (patch) | |
tree | 7381d97aa557caa67822aa4af0796416928db00a /sys | |
parent | f5a14311bec936e4bdf4be3d318ff52fe411f75e (diff) |
Remove the code which reenables interrupts in these interrupt controllers,
they do not appear to be capable of handling all possible nested interrupts.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/macppc/dev/macintr.c | 10 | ||||
-rw-r--r-- | sys/arch/macppc/dev/openpic.c | 10 |
2 files changed, 2 insertions, 18 deletions
diff --git a/sys/arch/macppc/dev/macintr.c b/sys/arch/macppc/dev/macintr.c index d64cef9b932..76daa1ecdf8 100644 --- a/sys/arch/macppc/dev/macintr.c +++ b/sys/arch/macppc/dev/macintr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: macintr.c,v 1.11 2002/03/02 17:37:41 drahn Exp $ */ +/* $OpenBSD: macintr.c,v 1.12 2002/03/08 20:33:43 drahn Exp $ */ /*- * Copyright (c) 1995 Per Fogelstrom @@ -548,17 +548,11 @@ start: } else { splraise(m_intrmask[irq]); - /* - * enable interrupts for the duration of the - * interrupt handler - */ - ppc_intr_enable(1); ih = m_intrhand[irq]; while (ih) { (*ih->ih_fun)(ih->ih_arg); ih = ih->ih_next; } - ppc_intr_disable(); uvmexp.intrs++; evirq[m_hwirq[irq]].ev_count++; @@ -568,9 +562,7 @@ start: goto start; out: - ppc_intr_enable(1); splx(pcpl); /* Process pendings. */ - ppc_intr_disable(); } void diff --git a/sys/arch/macppc/dev/openpic.c b/sys/arch/macppc/dev/openpic.c index a953de425fe..38e226a6a0b 100644 --- a/sys/arch/macppc/dev/openpic.c +++ b/sys/arch/macppc/dev/openpic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: openpic.c,v 1.13 2002/03/02 17:31:53 drahn Exp $ */ +/* $OpenBSD: openpic.c,v 1.14 2002/03/08 20:33:43 drahn Exp $ */ /*- * Copyright (c) 1995 Per Fogelstrom @@ -644,17 +644,11 @@ ext_intr_openpic() } else { splraise(o_intrmask[irq]); - /* - * enable interrupts for the duration of the - * interrupt handler - */ - ppc_intr_enable(1); ih = o_intrhand[irq]; while (ih) { (*ih->ih_fun)(ih->ih_arg); ih = ih->ih_next; } - ppc_intr_disable(); uvmexp.intrs++; evirq[realirq].ev_count++; @@ -665,9 +659,7 @@ ext_intr_openpic() realirq = openpic_read_irq(0); } - ppc_intr_enable(1); splx(pcpl); /* Process pendings. */ - ppc_intr_disable(); } void openpic_init() |