home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm / arch-ixp2000 / entry-macro.S < prev    next >
Encoding:
Text File  |  2006-08-11  |  1.2 KB  |  55 lines

  1. /*
  2.  * include/asm-arm/arch-ixp2000/entry-macro.S
  3.  *
  4.  * Low-level IRQ helper macros for IXP2000-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. #include <asm/arch/irqs.h>
  11.  
  12.         .macro  disable_fiq
  13.         .endm
  14.  
  15.         .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
  16.  
  17.         mov    \irqnr, #0x0              @clear out irqnr as default
  18.                 mov    \base, #0xfe000000
  19.         orr    \base, \base, #0x00e00000
  20.         orr    \base, \base, #0x08
  21.         ldr    \irqstat, [\base]         @ get interrupts
  22.  
  23.         cmp    \irqstat, #0
  24.         beq    1001f
  25.  
  26.         clz     \irqnr, \irqstat
  27.         mov     \base, #31
  28.         subs    \irqnr, \base, \irqnr
  29.  
  30.         /*
  31.          * We handle PCIA and PCIB here so we don't have an
  32.          * extra layer of code just to check these two bits.
  33.          */
  34.         cmp    \irqnr, #IRQ_IXP2000_PCI
  35.         bne    1001f
  36.  
  37.         mov    \base, #0xfe000000
  38.         orr    \base, \base, #0x00c00000
  39.         orr    \base, \base, #0x00000100
  40.         orr    \base, \base, #0x00000058
  41.         ldr    \irqstat, [\base]
  42.  
  43.         mov    \tmp, #(1<<26)
  44.         tst    \irqstat, \tmp
  45.         movne    \irqnr, #IRQ_IXP2000_PCIA
  46.         bne    1001f
  47.  
  48.         mov    \tmp, #(1<<27)
  49.         tst    \irqstat, \tmp
  50.         movne    \irqnr, #IRQ_IXP2000_PCIB
  51.  
  52. 1001:
  53.         .endm
  54.  
  55.