entry-macro.S 694 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * include/asm-arm/arch-ixp23xx/entry-macro.S
  3. */
  4. .macro disable_fiq
  5. .endm
  6. .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
  7. ldr \irqnr, =(IXP23XX_INTC_VIRT + IXP23XX_INTR_IRQ_ENC_ST_OFFSET)
  8. ldr \irqnr, [\irqnr] @ get interrupt number
  9. cmp \irqnr, #0x0 @ spurious interrupt ?
  10. movne \irqnr, \irqnr, lsr #2 @ skip unwanted low order bits
  11. subne \irqnr, \irqnr, #1 @ convert to 0 based
  12. #if 0
  13. cmp \irqnr, #IRQ_IXP23XX_PCI_INT_RPH
  14. bne 1001f
  15. mov \irqnr, #IRQ_IXP23XX_INTA
  16. ldr \irqnr, =0xf5000030
  17. mov \tmp, #(1<<26)
  18. tst \irqnr, \tmp
  19. movne \irqnr, #IRQ_IXP23XX_INTB
  20. mov \tmp, #(1<<27)
  21. tst \irqnr, \tmp
  22. movne \irqnr, #IRQ_IXP23XX_INTA
  23. 1001:
  24. #endif
  25. .endm