summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/shared/irq/irq.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-30 15:30:09 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-30 15:30:09 +0200
commitf91fbbf4b8e6fbe70b792ee52521076f28e1da14 (patch)
tree6138934cf08e2f8f39bbb8bfff92461b8a72ae0d /c/src/lib/libbsp/i386/shared/irq/irq.c
parentSMP: Fix and optimize thread dispatching (diff)
downloadrtems-f91fbbf4b8e6fbe70b792ee52521076f28e1da14.tar.bz2
bsps/i386: Interrupt server support
Diffstat (limited to 'c/src/lib/libbsp/i386/shared/irq/irq.c')
-rw-r--r--c/src/lib/libbsp/i386/shared/irq/irq.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i386/shared/irq/irq.c b/c/src/lib/libbsp/i386/shared/irq/irq.c
index 415d0d08d9..95ab6ac6d7 100644
--- a/c/src/lib/libbsp/i386/shared/irq/irq.c
+++ b/c/src/lib/libbsp/i386/shared/irq/irq.c
@@ -55,6 +55,7 @@ int i;
* This cache is initialized in ldseg.s
*/
rtems_i8259_masks i8259s_cache = 0xFFFB;
+rtems_i8259_masks i8259s_super_imr = 0xFFFB;
/*-------------------------------------------------------------------------+
| Function: BSP_irq_disable_at_i8259s
@@ -77,6 +78,7 @@ int BSP_irq_disable_at_i8259s (const rtems_irq_number irqLine)
mask = 1 << irqLine;
i8259s_cache |= mask;
+ i8259s_super_imr |= mask;
if (irqLine < 8)
{
@@ -112,6 +114,7 @@ int BSP_irq_enable_at_i8259s (const rtems_irq_number irqLine)
mask = ~(1 << irqLine);
i8259s_cache &= mask;
+ i8259s_super_imr &= mask;
if (irqLine < 8)
{