annotate gsm-fw/bsp/irq_twiddle.S @ 1023:cd6002e3aefb

doc/Freerunner-Howto: apparently some people still use SHR, so mention it too
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Tue, 03 May 2016 13:48:39 +0000
parents 8be182dd9218
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
597
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /*
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 * TI's L1 code (and possibly other parts of the software suite) calls
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 * functions named INT_DisableIRQ() and INT_EnableIRQ(); in the Leonardo
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 * fw they are implemented (in a very ugly manner, as usual) in the
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 * int.s entry point assembly module. Here we implement the same
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 * functions in a cleaner way.
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 */
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 #include "../nucleus/asm_defs.h"
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 .code 32
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 .text
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 .globl INT_DisableIRQ
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15 INT_DisableIRQ:
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 mrs r0, CPSR
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 orr r0, r0, #LOCKOUT
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 msr CPSR, r0
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 bx lr
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 .globl INT_EnableIRQ
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 INT_EnableIRQ:
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 mrs r0, CPSR
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 bic r0, r0, #LOCKOUT
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 msr CPSR, r0
8be182dd9218 gsm-fw: INT_{Dis,En}ableIRQ() functions implemented (needed by L1 code)
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 bx lr