From 73f3b0636a369f9e89fe44b56825eead5361601c Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Sun, 5 Jun 2016 15:07:57 -0400 Subject: generic: Move simulator/irq.h to new file generic/irq.h Move the generic irq definitions into generic/irq.h and move the simulator irq code into main.c. Signed-off-by: Kevin O'Connor --- src/generic/irq.h | 11 +++++++++++ src/generic/pgm.h | 13 +++++++++++++ src/simulator/irq.h | 31 ------------------------------- src/simulator/main.c | 32 ++++++++++++++++++++++++++++++++ src/simulator/pgm.h | 13 ------------- 5 files changed, 56 insertions(+), 44 deletions(-) create mode 100644 src/generic/irq.h create mode 100644 src/generic/pgm.h delete mode 100644 src/simulator/irq.h delete mode 100644 src/simulator/pgm.h (limited to 'src') diff --git a/src/generic/irq.h b/src/generic/irq.h new file mode 100644 index 00000000..597ff96d --- /dev/null +++ b/src/generic/irq.h @@ -0,0 +1,11 @@ +#ifndef __GENERIC_IRQ_H +#define __GENERIC_IRQ_H + +#include + +void irq_disable(void); +void irq_enable(void); +uint8_t irq_save(void); +void irq_restore(uint8_t flag); + +#endif // irq.h diff --git a/src/generic/pgm.h b/src/generic/pgm.h new file mode 100644 index 00000000..bbdc0ba3 --- /dev/null +++ b/src/generic/pgm.h @@ -0,0 +1,13 @@ +#ifndef __GENERIC_PGM_H +#define __GENERIC_PGM_H +// This header provides wrappers for the AVR specific "PROGMEM" +// declarations on non-avr platforms. + +#define PROGMEM +#define PSTR(S) S +#define READP(VAR) VAR +#define vsnprintf_P(D, S, F, A) vsnprintf(D, S, F, A) +#define strcasecmp_P(S1, S2) strcasecmp(S1, S2) +#define memcpy_P(DST, SRC, SIZE) memcpy((DST), (SRC), (SIZE)) + +#endif // pgm.h diff --git a/src/simulator/irq.h b/src/simulator/irq.h deleted file mode 100644 index 63f51290..00000000 --- a/src/simulator/irq.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __SIMU_IRQ_H -#define __SIMU_IRQ_H -// Definitions for irq enable/disable on host simulator - -#include -#include "compiler.h" // barrier - -extern uint8_t Interrupt_off; - -static inline void irq_disable(void) { - Interrupt_off = 1; - barrier(); -} - -static inline void irq_enable(void) { - barrier(); - Interrupt_off = 0; -} - -static inline uint8_t irq_save(void) { - uint8_t flag = Interrupt_off; - irq_disable(); - return flag; -} - -static inline void irq_restore(uint8_t flag) { - barrier(); - Interrupt_off = flag; -} - -#endif // irq.h 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 #include #include +#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 diff --git a/src/simulator/pgm.h b/src/simulator/pgm.h deleted file mode 100644 index e5f3787d..00000000 --- a/src/simulator/pgm.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __SIMU_PGM_H -#define __SIMU_PGM_H -// This header provides wrappers for the AVR specific "PROGMEM" -// declarations. - -#define PROGMEM -#define PSTR(S) S -#define READP(VAR) VAR -#define vsnprintf_P(D, S, F, A) vsnprintf(D, S, F, A) -#define strcasecmp_P(S1, S2) strcasecmp(S1, S2) -#define memcpy_P(DST, SRC, SIZE) memcpy((DST), (SRC), (SIZE)) - -#endif // pgm.h -- cgit v1.2.3-70-g09d2