]> git.droids-corp.org - aversive.git/blobdiff - include/aversive/irq_lock.h
vt100: include pgmspace.h as we use PROGMEM macro
[aversive.git] / include / aversive / irq_lock.h
index c8afdc408b3726c0488884ed5ab2ce32a4c75977..56ef5bd09eaf0130a6870b32f746118c96a54fe4 100644 (file)
 
 #ifdef HOST_VERSION
 
+#ifdef CONFIG_MODULE_HOSTSIM
+#include <hostsim.h>
+
 /* we must use 'flags' to avoid a warning */
-#define IRQ_UNLOCK(flags) flags=0
-#define IRQ_LOCK(flags) flags=0
-#define GLOBAL_IRQ_ARE_MASKED() (1)
+#define cli() do { hostsim_cli(); } while(0)
+#define sei() do { hostsim_sei(); } while(0)
+#define IRQ_LOCK(flags) do { flags = hostsim_irq_save(); } while(0)
+#define IRQ_UNLOCK(flags) do { hostsim_irq_restore(flags); } while(0)
+#define GLOBAL_IRQ_ARE_MASKED() hostsim_islocked()
+#else
+#define cli() do {} while(0)
+#define sei() do {} while(0)
+#define IRQ_LOCK(flags) do { (void)flags; } while(0)
+#define IRQ_UNLOCK(flags) do { (void)flags; } while(0)
+#define GLOBAL_IRQ_ARE_MASKED() (0)
+#endif /* CONFIG_MODULE_HOSTSIM */
 
 #else