entry-macro.S
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * include/asm-arm/arch-ixp4xx/entry-macro.S
  3.  *
  4.  * Low-level IRQ helper macros for IXP4xx-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 irqstat, =(IXP4XX_INTC_BASE_VIRT+IXP4XX_ICIP_OFFSET)
  14. ldr irqstat, [irqstat] @ get interrupts
  15. cmp irqstat, #0
  16. beq 1001f @ upper IRQ?
  17. clz     irqnr, irqstat
  18. mov     base, #31
  19. sub     irqnr, base, irqnr
  20. b 1002f @ lower IRQ being
  21. @ handled
  22. 1001:
  23. /*
  24.  * IXP465 has an upper IRQ status register
  25.  */
  26. #if defined(CONFIG_CPU_IXP46X)
  27. ldr irqstat, =(IXP4XX_INTC_BASE_VIRT+IXP4XX_ICIP2_OFFSET)
  28. ldr irqstat, [irqstat] @ get upper interrupts
  29. mov irqnr, #63
  30. clz irqstat, irqstat
  31.   cmp irqstat, #32
  32. subne irqnr, irqnr, irqstat
  33. #endif
  34. 1002:
  35. .endm