X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=include%2Faversive%2Firq_lock.h;h=56ef5bd09eaf0130a6870b32f746118c96a54fe4;hp=c8afdc408b3726c0488884ed5ab2ce32a4c75977;hb=92b0749bee9fba8b5105590bf2c2f15786c55cee;hpb=ccc6954bb046671b9e28c5806db5121c1eef49c0;ds=sidebyside diff --git a/include/aversive/irq_lock.h b/include/aversive/irq_lock.h index c8afdc4..56ef5bd 100644 --- a/include/aversive/irq_lock.h +++ b/include/aversive/irq_lock.h @@ -42,10 +42,22 @@ #ifdef HOST_VERSION +#ifdef CONFIG_MODULE_HOSTSIM +#include + /* 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