diff options
Diffstat (limited to 'src/simulator/main.c')
-rw-r--r-- | src/simulator/main.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/simulator/main.c b/src/simulator/main.c index e871864a..419fa531 100644 --- a/src/simulator/main.c +++ b/src/simulator/main.c @@ -7,10 +7,42 @@ #include <fcntl.h> #include <stdio.h> #include <unistd.h> +#include "board/misc.h" // timer_from_us +#include "board/irq.h" // irq_disable #include "sched.h" // sched_main + +/**************************************************************** + * Interrupts + ****************************************************************/ + uint8_t Interrupt_off; +void irq_disable(void) +{ + Interrupt_off = 1; + barrier(); +} + +void irq_enable(void) +{ + barrier(); + Interrupt_off = 0; +} + +uint8_t irq_save(void) +{ + uint8_t flag = Interrupt_off; + irq_disable(); + return flag; +} + +void irq_restore(uint8_t flag) +{ + barrier(); + Interrupt_off = flag; +} + /**************************************************************** * Timers |