FreeCalypso > hg > freecalypso-sw
diff gsm-fw/bsp/irq_twiddle.S @ 597:8be182dd9218
gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 17 Aug 2014 07:15:12 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/bsp/irq_twiddle.S Sun Aug 17 07:15:12 2014 +0000 @@ -0,0 +1,26 @@ +/* + * TI's L1 code (and possibly other parts of the software suite) calls + * functions named INT_DisableIRQ() and INT_EnableIRQ(); in the Leonardo + * fw they are implemented (in a very ugly manner, as usual) in the + * int.s entry point assembly module. Here we implement the same + * functions in a cleaner way. + */ + +#include "../nucleus/asm_defs.h" + + .code 32 + .text + + .globl INT_DisableIRQ +INT_DisableIRQ: + mrs r0, CPSR + orr r0, r0, #LOCKOUT + msr CPSR, r0 + bx lr + + .globl INT_EnableIRQ +INT_EnableIRQ: + mrs r0, CPSR + bic r0, r0, #LOCKOUT + msr CPSR, r0 + bx lr