Reorganize repository structure
This commit is contained in:
parent
f2259c5424
commit
3c44927e0a
364 changed files with 0 additions and 14028 deletions
43
lpctool/irq.c
Normal file
43
lpctool/irq.c
Normal file
|
@ -0,0 +1,43 @@
|
|||
#include "lpc2220.hh"
|
||||
#include "irq.h"
|
||||
|
||||
#define IRQ_MASK 0x00000080
|
||||
|
||||
static inline unsigned asm_get_cpsr(void)
|
||||
{
|
||||
unsigned long retval;
|
||||
asm volatile (" mrs %0, cpsr" : "=r" (retval) : /* no inputs */ );
|
||||
return retval;
|
||||
}
|
||||
|
||||
static inline void asm_set_cpsr(unsigned val)
|
||||
{
|
||||
asm volatile (" msr cpsr, %0" : /* no outputs */ : "r" (val) );
|
||||
}
|
||||
|
||||
unsigned enableIRQ(void)
|
||||
{
|
||||
unsigned _cpsr;
|
||||
|
||||
_cpsr = asm_get_cpsr();
|
||||
asm_set_cpsr(_cpsr & ~IRQ_MASK);
|
||||
return _cpsr;
|
||||
}
|
||||
|
||||
unsigned disableIRQ(void)
|
||||
{
|
||||
unsigned _cpsr;
|
||||
|
||||
_cpsr = asm_get_cpsr();
|
||||
asm_set_cpsr(_cpsr | IRQ_MASK);
|
||||
return _cpsr;
|
||||
}
|
||||
|
||||
unsigned restoreIRQ(unsigned oldCPSR)
|
||||
{
|
||||
unsigned _cpsr;
|
||||
|
||||
_cpsr = asm_get_cpsr();
|
||||
asm_set_cpsr((_cpsr & ~IRQ_MASK) | (oldCPSR & IRQ_MASK));
|
||||
return _cpsr;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue