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:
Kevin O'Connor
2016-06-05 15:07:57 -04:00
parent 9f8817a47e
commit 73f3b0636a
4 changed files with 46 additions and 34 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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