From a9633e87e2384cf5cb5fe90f48210bee0209e207 Mon Sep 17 00:00:00 2001
From: Hans-Peter Deifel <hpd@hpdeifel.de>
Date: Tue, 16 May 2017 09:09:36 +0200
Subject: [PATCH] Check for individual interrupts before triggering

This allows the OS to selectively disable individual interrupts
instead of the previous all or nothing approach.

This is used to enforce the PROMISE=SERIALIZED property on the dosek
side.
---
 files/mockup_prelude.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/files/mockup_prelude.cc b/files/mockup_prelude.cc
index 02ac65d..8830fc9 100644
--- a/files/mockup_prelude.cc
+++ b/files/mockup_prelude.cc
@@ -136,7 +136,7 @@ void _print_os_state(const char *format, const char *syscall, const char *func)
 }
 
 static forceinline int _do_trigger_interrupt(uint8_t i, const char *format, const char *syscall, const char *func) {
-	if (arch::irq.interrupts_enabled()) {
+	if (arch::irq.interrupts_enabled(i)) {
 		_print_os_state(format, syscall, func);
 		arch::irq.deliver_interrupt(i);
 		return 1;
-- 
GitLab