entry-macro.S 805 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * linux/include/asm-arm/arch-aaec2000/entry-macro.S
  3. *
  4. * Low-level IRQ helper for aaec-2000 based platforms
  5. *
  6. * Copyright (c) 2005 Nicolas Bellido Y Ortega
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. *
  12. */
  13. #include <asm/arch/irqs.h>
  14. .macro disable_fiq
  15. .endm
  16. .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
  17. mov r4, #0xf8000000
  18. add r4, r4, #0x00000500
  19. mov \base, r4
  20. ldr \irqstat, [\base, #0]
  21. cmp \irqstat, #0
  22. bne 1001f
  23. ldr \irqnr, =NR_IRQS+1
  24. b 1003f
  25. 1001: mov \irqnr, #0
  26. 1002: ands \tmp, \irqstat, #1
  27. mov \irqstat, \irqstat, LSR #1
  28. add \irqnr, \irqnr, #1
  29. beq 1002b
  30. sub \irqnr, \irqnr, #1
  31. 1003:
  32. .endm