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 <kevin@koconnor.net>
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
#ifndef __SIMU_IRQ_H
|
||||
#define __SIMU_IRQ_H
|
||||
// Definitions for irq enable/disable on host simulator
|
||||
|
||||
#include <stdint.h>
|
||||
#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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user