summaryrefslogtreecommitdiff
path: root/core/minute-ia/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/minute-ia/interrupts.c')
-rw-r--r--core/minute-ia/interrupts.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/minute-ia/interrupts.c b/core/minute-ia/interrupts.c
index a4a3569c22..3ce0e2a2a4 100644
--- a/core/minute-ia/interrupts.c
+++ b/core/minute-ia/interrupts.c
@@ -13,6 +13,7 @@
#include "irq_handler.h"
#include "registers.h"
#include "task_defs.h"
+#include "task.h"
#include "util.h"
/* Console output macros */
@@ -81,10 +82,13 @@ void restore_interrupts(uint64_t irq_map)
{
int i;
+ /* Disable interrupts until everything is unmasked */
+ interrupt_disable();
for (i = 0; i < ISH_MAX_IOAPIC_IRQS; i++) {
if (((uint64_t)0x1 << i) & irq_map)
unmask_interrupt(i);
}
+ interrupt_enable();
}
/*