summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2007-12-12 00:47:49 +0000
committerTill Straumann <strauman@slac.stanford.edu>2007-12-12 00:47:49 +0000
commit8d2487fd6037203b1a8ab6d651e4f2984a7a279b (patch)
treec18dbc65fd7d536ec05f2b84f7232aaeba4a005f /c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c
parent2007-12-11 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-8d2487fd6037203b1a8ab6d651e4f2984a7a279b.tar.bz2
2007-12-11 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/bspsupport/irq.c: enable/disable irq at PIC if an initial handler is present/absent (reproduce traditional semantics).
Diffstat (limited to 'c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c')
-rw-r--r--c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c
index ed73936ecc..7a154e2195 100644
--- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c
+++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/irq.c
@@ -346,6 +346,12 @@ int BSP_rtems_irq_mngt_set(rtems_irq_global_settings* config)
if (vchain->on)
vchain->on(vchain);
}
+ if ( vchain != &rtems_hdl_tbl[i] ) {
+ /* at least one handler registered */
+ BSP_enable_irq_at_pic(i);
+ } else {
+ BSP_disable_irq_at_pic(i);
+ }
}
rtems_interrupt_enable(level);