diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2005-10-09 03:50:12 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2005-10-09 03:50:12 +0000 |
commit | 9a11f8240f72f88f20b3fe21bf77be112b0c8294 (patch) | |
tree | ed8db02d0b5fbb9415d21bfeffef7d9efad768ec /sys/arch | |
parent | 53715a1068e833ebad9c40494ca1b3ebcc124865 (diff) |
While running pending interrupts, enable external interrupt, this way
low priority interrupts do not starve high priority.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/macppc/dev/openpic.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/arch/macppc/dev/openpic.c b/sys/arch/macppc/dev/openpic.c index bf50b2c528e..97a9f3129e5 100644 --- a/sys/arch/macppc/dev/openpic.c +++ b/sys/arch/macppc/dev/openpic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: openpic.c,v 1.30 2005/09/30 19:51:52 deraadt Exp $ */ +/* $OpenBSD: openpic.c,v 1.31 2005/10/09 03:50:11 drahn Exp $ */ /*- * Copyright (c) 1995 Per Fogelstrom @@ -463,8 +463,13 @@ openpic_do_pending_int() hwpend &= ~(1L << irq); ih = o_intrhand[irq]; while(ih) { + ppc_intr_enable(1); + if ((*ih->ih_fun)(ih->ih_arg)) ih->ih_count.ec_count++; + + (void)ppc_intr_disable(); + ih = ih->ih_next; } } |