entry-macro.S 875 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * include/asm-arm/arch-omap/entry-macro.S
  3. *
  4. * Low-level IRQ helper macros for OMAP-based platforms
  5. *
  6. * This file is licensed under the terms of the GNU General Public
  7. * License version 2. This program is licensed "as is" without any
  8. * warranty of any kind, whether express or implied.
  9. */
  10. .macro disable_fiq
  11. .endm
  12. .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
  13. ldr \base, =IO_ADDRESS(OMAP_IH1_BASE)
  14. ldr \irqnr, [\base, #IRQ_ITR_REG_OFFSET]
  15. ldr \tmp, [\base, #IRQ_MIR_REG_OFFSET]
  16. mov \irqstat, #0xffffffff
  17. bic \tmp, \irqstat, \tmp
  18. tst \irqnr, \tmp
  19. beq 1510f
  20. ldr \irqnr, [\base, #IRQ_SIR_FIQ_REG_OFFSET]
  21. cmp \irqnr, #0
  22. ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
  23. cmpeq \irqnr, #INT_IH2_IRQ
  24. ldreq \base, =IO_ADDRESS(OMAP_IH2_BASE)
  25. ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
  26. addeqs \irqnr, \irqnr, #32
  27. 1510:
  28. .endm