FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/bsp/irq_twiddle.S @ 860:cbc49d533b7d
gsm-fw: new implementation of bzero() and some specialized bcopy variants
| author | Space Falcon <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Sun, 03 May 2015 04:11:41 +0000 |
| parents | 8be182dd9218 |
| children |
| 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 |
