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:
parent
9f8817a47e
commit
73f3b0636a
|
@ -0,0 +1,11 @@
|
|||
#ifndef __GENERIC_IRQ_H
|
||||
#define __GENERIC_IRQ_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void irq_disable(void);
|
||||
void irq_enable(void);
|
||||
uint8_t irq_save(void);
|
||||
void irq_restore(uint8_t flag);
|
||||
|
||||
#endif // irq.h
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef __SIMU_PGM_H
|
||||
#define __SIMU_PGM_H
|
||||
#ifndef __GENERIC_PGM_H
|
||||
#define __GENERIC_PGM_H
|
||||
// This header provides wrappers for the AVR specific "PROGMEM"
|
||||
// declarations.
|
||||
// declarations on non-avr platforms.
|
||||
|
||||
#define PROGMEM
|
||||
#define PSTR(S) S
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue